
- •ЛЕКЦІЯ 10
- •План
- •Визначення уявлення (VIEW)
- •Уявлення може бути створено двома
- •Створення і зміни уявлень
- •Параметри
- •Показати в уявленні клієнтів з Москви
- •Створення уявлення з перевіркою команд модифікації
- •Модифіковане уявлення
- •Уявлення, що модифікуються
- •Уявлення, що не модифікуються
- •Уявлення, що не модифікується, з даними з різних таблиць
- •Уявлення, що не модифікується, з групуванням і підсумковими функціями.
- •Уявлення, що модифікується, з обчисленнями
- •Переваги використання уявлень
- •Недоліки використання уявлень

ЛЕКЦІЯ 10
ТЕМА: Уявлення

План
1 Визначення уявлення
2 Оновлення даних в уявленнях
3 Переваги використаня уявлень
4 Недоліки використання уявлень

Визначення уявлення (VIEW)
є тимчасовими, похідними (інакше - віртуальними) таблицями і є об'єктами бази даних, інформація в яких не зберігається постійно, як в базових таблицях, а формується динамічно при зверненні до них.
Уявлення не може існувати саме по собі, а визначається тільки в рамках однієї або декількох таблиць.
Вміст уявлень вибирається з інших таблиць за допомогою виконання запиту, причому при зміні значень в таблицях дані в уявленні автоматично міняються.

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

Створення і зміни уявлень
{ CREATE| ALTER} VIEW імя_уявлення [(імя_столбца [,...n])]
[ WITH ENCRYPTION ] AS SELECT_оператор [ WITH CHECK OPTION ]

Параметри
WITH ENCRYPTION задає необхідність шифрування коду запиту для забезпечення санкціонованого доступу;
WITH CHECK OPTION перевіряє наявність змін в запиті та гарантує не видалення з уявлення рядків;

Показати в уявленні клієнтів з Москви
Створення уявлення:
CREATE VIEW view1 AS
SELECT КодКлієнта, Прізвище, МістоКлієнта FROM Клієнт
WHERE МістоКлієнта = “Москва”
Вибірка даних з уявлення:
SELECT * FROM view1

Створення уявлення з перевіркою команд модифікації
ALTER VIEW view1
SELECT КодКлієнта, Прізвище, МістоКлієнта
FROM Клієнт
WHERE МістоКлієнта = “Москва” WITH CHECK OPTION

Модифіковане уявлення
ґрунтується тільки на одній базовій таблиці;
містить первинний ключ цієї таблиці;
не містить DISTINCT в своєму визначенні;
не використовує GROUP або HAVING в своєму визначенні;
по можливості не застосовує в своєму визначенні підзапити;
не використовує константи або виразу значень серед вибраних полів виводу;
Обов’язково містить кожний стовпець таблиці, що має атрибут NOT NULL ;
оператор SELECT уявлення не використовує підсумкові функції, з'єднання таблиць, збережені процедури і функції, визначені користувачем;
ґрунтується на одиночному запиті, тому об'єднання UNION не дозволено.

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