Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 19 Представлення даних в реляційній моде...docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
31.16 Кб
Скачать

ОБД/Л 19/ Представлення даних в реляційній моделі. Способи формування представлень

Лекція 19 Представлення даних в реляційній моделі. Способи формування представлень

План

1. Механізм подання даних в реляційної моделі. 1

2. Створення подання даних. 2

3. Способи формування представлень даних. 3

3.1 Вертикальний зріз таблиці. 3

3.2. Горизонтальний зріз таблиці. 4

3.3. Вертикально-горизонтальний зріз таблиці. 5

3.4. Підмножина рядків і стовпців з'єднання різних таблиць. 5

1. Механізм подання даних в реляційної моделі.

Подання до реляційної моделі є віртуальним відношенням (таблицею). Представлення дозволяють досягти більш високої захищеності даних, а також надають проектувальнику засоби налаштування користувальницької моделі. Подання користувачів створюються динамічно, причому не всі вони є оновлюваними. Дамо більш суворе визначення подання даних.

Представлення - це динамічний результат однієї або більше реляційних операцій, виконаних над відносинами бази даних з метою отримання нового ставлення. Подання є віртуальним ставленням, яке реально в базі даних не існує, але створюється на вимогу певного користувача в результаті його виконання.

З точки зору користувача бази даних, подання виглядає як реальна таблиця даних, що містить набір пойменованих стовпців і рядків даних. На відміну від реальних таблиць, представлення не існують в базі як деякий набір зберігаються значень даних. Насправді доступні через подання рядки та стовпці даних є результатом виконання запиту, заданого при визначенні подання. СУБД зберігає визначення подання в базі даних. Зіткнувшись з посиланням на виставу, програми СУБД знаходять його визначення і перетворюють вихідний запит до подання в еквівалентний запит до таблиць, використаним у визначенні подання, після чого модифікований запит виконується. Цей процес злиття, називається дозволом подання.

2. Створення подання даних.

У базі даних може бути визначено представлення даних, що є віртуальною таблицею, в якій представлені записи з однієї або декількох таблиць. Порядок формування записів у поданні даних визначається оператором SELECT. Для його створення застосовується оператор

CREATE VIEW ІмяПросмотра [(столбец_view1 [, столбец_view2 ...])

AS <оператор_select> [WITH CHECK OPTION];

де після ІменіПросмотра слід необов'язковий список стовпців, оператор_select є повнофункціональний оператор SELECT, а необов'язковий параметр WITH CHECK OPTION визначає, чи допускати для оновлюваних переглядів введення записів, які задовольняють умові формування перегляду.

Для видалення перегляду використовується оператор

DROP VIEW ІмяПросмотра;

Розглянемо оператор CREATE VIEW детальніше. Існує необов'язкова можливість присвоєння власного імені (параметр столбец_view1) кожному із стовпців подання. Якщо вказується список імен стовпців, то він повинен мати кількість елементів, дорівнює кількості стовпців у результуючої таблиці запиту, заданого параметром <оператор_select>. Якщо список імен стовпців пропущено, кожен стовпець подання буде мати ім'я стовпця результуючої таблиці запиту, заданого параметром <оператор_select>. Список імен стовпців повинен обов'язково задаватися в тому випадку, якщо в іменах стовпців результуючої таблиці має місце неоднозначність. Подібна ситуація виникає в тих випадках, коли підзапит включає обчислювані поля, а фраза AS з іменами стовпців результуючої таблиці не містить для них імен або ж коли результуюча таблиця створюється за допомогою операції з'єднання і включає стовпці з однаковими іменами.

Заданий параметром <оператор_select> підзапит прийнято називати визначальним запитом. Якщо вказана фраза WITH CHECK OPTION, то гарантується, що в тих випадках, коли рядок даних не задовольняє умові, зазначеному в пропозиції WHERE визначає запиту представлення, вона не буде добавлена ​​в його базову таблицю. Хоча всі представлення створюються за допомогою одного і того ж методу, на практиці для різних цілей використовується різні типи представлень.