Представления (Views)

Представление представляет собой запрос на выборку, которому присвоили имя и сохранили в базе данных. Другими словами это виртуальная таблица, которая реально не содержит данных, а всяких раз, когда требуется его содержимое, происходит выполнение запроса.

Когда СУБД встречает в инструкции 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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: