logo
rektorska_pi

28.Представлення в базах даних.

ПРЕДСТАВЛЕННЯ

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

Синтаксис команди:

CREATE VIEW <ім'я вистави>

[(<ім'я стовпця> [,.n ])

[WITH {ENCRYPTION | SCHEMABINDING | VIEW_METADATA}]

AS

< команда SELECT>

[WITH CHECK OPTION];

WITH CHECK OPTION – обмежує дію команд INSERT і UPDATE. При завданні цієї пропозиції вони дозволені лише в тому випадку, якщо вони створюють рядки, які потім видно у представленні.

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

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

Раніше наголошувалося, що опція WITH CHECK OPTION може обмежити дію команд INSERT і UPDATE, проте існують і інші обмеження на використанні команд DML.

Команда DELETE заборонена, якщо представлення містить:

умова з'єднання

групові функції або пропозиція GROUP BY

пропозиція DISTINCT

стовпець з властивістю IDENT I TY

Команда UPDATE заборонена завжди, коли заборонена команда DELETE, а також у разі, коли стовпці містять вирази.

Команда INSERT заборонена завжди, коли заборонена команда UPDATE, а також тоді, коли який-небудь стовпець таблиці NOT NULL не міститься у представлення.

Після успішного завершення команди CREATE VIEW видається повідомлення

View created (Представлення створена).

Представлення використовуються для:

обмеження доступу до бази даних;

спрощення запитів;

заховання схеми бази даних.

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