КаталогОглавлениеИндекс раздела


Справка. Представления.

Представление - это виртуальная таблица, которая сама по себе не существует, но для пользователя выглядит таким образом, как будто она существует. Представление определяется перечнем тех столбцов таблиц и признаками тех их строк, которые хотелось бы в ней увидеть. Представление не поддерживается его собственными физическими хранимыми данными. Вместо этого в каталоге таблиц хранится определение, оговаривающее, из каких столбцов и строк других таблиц оно должно быть сформировано при реализации SQL-предложения на получение данных из представления или на модификацию таких данных. В каталоге БД представление сохраняется в виде того запроса, который его определяет. При трансляции запроса, содержащего обращение к представлению, SQL-машина подставляет вместо него обращение к базовой таблице/таблицам и добавляет те условия, которые определяют представление.

Представление создается с помощью предложения CREATE VIEW:

Cписок имен столбцов должен быть обязательно определен лишь в тех случаях, когда:

Во всех выражениях выборки представление может быть использовано вместо таблицы без всяких ограничений. Сложнее обстоит дело с модификацией представления.

По стандарту SQL/92 представления являются изменяемыми, если:

Фраза WITH CHECK OPTION в определении представления имеет смысл только в случае определения изменяемой представляемой таблицы, которая определяется спецификацией запроса, содержащей фразу WHERE. При наличии этой фразы не допускаются изменения представляемой таблицы, которые приводят к появлению в базовой таблице строк, не видимых в представляемой таблице (т.е. таких строк, которые не удовлетворяют условию фразы WHERE спецификации запроса). Если WITH CHECK OPTION в определении представления отсутствует, такой контроль не производится. Вычисляемые столбцы могут использоваться в качестве ключей, но не могут вставляться/изменяться.

Изменяемость представлений в DB2 в основном следует стандарту. Однако:

Изменяемость представлений в Oracle

Таблица Oracle является сохраняемой ключом (key-preserved), если ключ таблицы может также являться и ключом представления. В простейшем случае - если первичный ключ или уникальное поле входит в представление. Свойство key-preserved не зависит от конкретной конфигурации данных, а только от определений ограничений целостности в соединяемых таблицах.


КаталогОглавлениеИндекс раздела