Субд лекции

Темы:

Создание представлений (VIEW)

CREATE VIEW postr

AS SELECT naim_post, naim_mat, dat_post, kolv

FROM sp_post, postavka, sp_mat

WHERE postavka.kod_post=sp_post.kod_post

AND sp_mat.kod_mat=postavka.kod_mat;

Запрос на выдачу информации о поставке стали может выглядеть в этом случае следующим образом:

SELECT *

FROM postr

WHERE naim_mat="сталь";

Если не использовать представление, то связи между таблицами должны задаваться в каждом запросе, а не один раз при создании представления.

4.     Предоставление пользователю дополнительной информации, не содержащейся в базовых таблицах. Так, в приведенном ниже примере в представление, введено вычисляемое поле, отражающее стоимость поставленной продукции:

CREATE VIEW post2 (kod_post, dat_post, kolv,summa)

AS SELECT kod_post, dat_post, kolv, kolv*cena

FROM postavka;

Практически цели 1 и 4 являются частными случаями цели 3.

При определении VIEW можно задать любой правильный оператор SELECT за некоторыми исключениями. Поскольку синтаксис как команды SELECT, так и команды CREATE VIEW несколько различается в разных СУБД, то затруднительно дать эти ограничения в общем виде. Поэтому при создании представлений следует внимательно посмотреть, какие ограничения накладывает конкретная реализация'языка.

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

предыдущаяследующая