Представление представляет собой запрос на выборку, которому присвоили имя и сохранили в базе данных. Другими словами это виртуальная таблица, которая реально не содержит данных, а всяких раз, когда требуется его содержимое, происходит выполнение запроса.
Когда СУБД встречает в инструкции SQL ссылку на представление, она находит его определение, сохраненное в базе данных, преобразует пользовательский запрос, ссылающийся на представление, в эквивалентный запрос к исходным таблицам представления и выполняет этот запрос. Таким образом, СУБД создает иллюзию существования представления в виде отдельной таблицы.
Причины использования представлений
1. Они изолируют реализацию хранения данных от пользователя. Если клиенты будут работать с данными через представление, то у разработчика базы данных появляется возможность менять запрос, лежащий в основе представления, а клиент ничего не будет замечать.
2. С их помощью можно ограничить доступ к данным, разрешая определенным пользователям иметь права на чтение/изменение данных в представлении, но даже не иметь понятия о таблицах, лежащих в основе этого представления.
|
|
3. Они упрощают доступ к базе данных, показывая пользователям структуру хранимых данных в наиболее подходящем для них виде.
Представления могут основываться на данных из нескольких таблиц и других представлений. Представления можно использовать как обычные таб-лицы. Оператор SELECT, образующий представление, может делать то же, что и обычный оператор SELECT, кроме включения предложения ORDER BY и использования в качестве источника данных хранимых процедур.
Синтаксис оператора создания представления:
CREATE VIEW Имя_Представления [(Колонка [, Колонка …])]
AS <select> [WITH CHECK OPTION];
<select> – оператор SELECT, который выбирает данные включаемые в представление
WITH CHECK OPTION – если указать этот необязательный параметр, то при вставке или изменении строки представления будет проверяться усло-вие "попадания" этой строки в представление. Если новая или измененная запись не удовлетворяет условиям запроса, на котором основано пред-ставление, то операция будет отменена и возникнет ошибка.
Пример создания представления:
CREATE VIEW ViewStudent(St_ID, LastName, FirstName)
AS SELECT Pr_ID, Pr_LastName, Pr_FirstName
FROM Person, Student
WHERE Pr_ID = St_ID;
Чтобы изменить какое-либо представление, его надо удалить и создать заново. При удалении представления необходимо также удалить все зависимые от его объекты – триггеры, хранимые процедуры и другие представления. Программа "IB Expert" пересоздает зависимые объекты автоматически.
Пример удаления представления:
DROP VIEW ViewStudent;