константы или выражения значений.
Суть этих ограничений в том, что обновляемые представления
фактически подобны окнам в базовых таблицах. Они показывают
информацию из базовой таблицы, ограничивая определенные ее строки
(использованием соответствующих предикатов ) или специально
именованные столбцы (с исключениями ). Но при этом представления
выводят значения без их обработки с использованием агрегирующих
функций и группировки . Они также не сравнивают строки таблиц друг с
другом (как это имеет место в объединениях и подзапросах, или при
использовании DISTINCT).
Различия между модифицируемыми (обновляемыми ) представлениями и
представлениями “только для чтения” не случайны. Обновляемые
представления в основном используются аналогично базовым таблицам.
Пользователи могут даже не знать, является ли запрашиваемый ими объект
базовой таблицей или представлением. Это превосходный механизм защиты
для скрытия частей таблицы, которые являются конфиденциальными или не
предназначены данному пользователю.
Не модифицируемые представления, с другой стороны, позволяют более
рационально получать и переформатировать данные. С их помощью
формируются библиотеки сложных запросов , которые могут затем
использоваться в запросах для получения информации самостоятельно
(например , в объединениях ). Эти представления могут также иметь значение
при решении задач защиты и безопасности данных. Например , можно
предоставить некоторым пользователям возможность получения агрегатных
данных (таких, как усредненное значение оценки студента ), не показывая
конкретных значений оценок и, тем более, не позволяя их модифицировать.
5.12. Примеры обновляемых и не
обновляемых представлений
Пример 1
CREATE VIEW DATEEXAM (EXAM_DATE, QUANTITY)
AS SELECT EXAM_DATE, COUNT (*)
FROM EXAM_MARKS
GROUP BY EXAM_DATE;