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




<определение_просмотра>::=

 

{ CREATE| ALTER} VIEW имя_просмотра

 

[(имя_столбца [,...n])]

 

[WITH ENCRYPTION]

 

AS SELECT_оператор

 

[WITH CHECK OPTION]

 

Параметры оператора CREATE

• По умолчанию имена столбцов в представлении соответствуют именам столбцов в исходных таблицах. Явное указание имени столбца требуется для вычисляемых столбцов или при объединении нескольких таблиц, имеющих столбцы с одинаковыми именами. Имена столбцов перечисляются через запятую, в соответствии с порядком их следования в представлении.

 

• Параметр WITH ENCRYPTION предписывает серверу шифровать SQL-код запроса, что гарантирует невозможность его несанкционированного просмотра и использования. Если при определении представления необходимо скрыть имена исходных таблиц и столбцов, а также алгоритм объединения данных, необходимо применить этот аргумент.

• Параметр WITH CHECK OPTION предписывает серверу исполнять проверку изменений, производимых через представление, на соответствие критериям, определенным в операторе SELECT.

 

Это означает, что не допускается выполнение изменений, которые приведут к исчезновению строки из представления.

Такое случается, если для представления установлен горизонтальный фильтр и изменение данных приводит к несоответствию строки установленным фильтрам.

Использование аргумента WITH CHECK OPTION гарантирует, что сделанные изменения будут отображены в представлении. Если пользователь пытается выполнить изменения, приводящие к исключению строки из представления, при заданном аргументе WITH CHECK OPTION сервер выдаст сообщение об ошибке и все изменения будут отклонены.

 

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

Обращение к представлению осуществляется с помощью оператора SELECT как к обычной таблице.

Представление можно использовать в команде так же, как и любую другую таблицу.

К представлению можно строить запрос, модифицировать его (если оно отвечает определенным требованиям), соединять с другими таблицами.

Содержание представления не фиксировано и обновляется каждый раз, когда на него ссылаются в команде.

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

 

Модифицируемые представления

•основывается только на одной базовой таблице;

•содержит первичный ключ этой таблицы;

•не содержит DISTINCT в своем определении;

•не использует GROUP BY или HAVING в своем определении;

•по возможности не применяет в своем определении подзапросы;

•не использует константы или выражения значений среди выбранных полей вывода;

•в просмотр должен быть включен каждый столбец таблицы, имеющий атрибут NOT NULL;

•оператор SELECT просмотра не использует агрегирующие (итоговые) функции, соединения таблиц, хранимые процедуры и функции, определенные пользователем;

•основывается на одиночном запросе, поэтому объединение UNION не разрешено.

 

Если просмотр удовлетворяет этим условиям, к нему могут применяться операторы INSERT, UPDATE, DELETE.

 

Преимущества и недостатки представлений

 

Механизм представления - мощное средство СУБД, позволяющее скрыть реальную структуру БД от некоторых пользователей за счет определения представлений.

 

Наличие представлений в БД необходимо для обеспечения логической независимости данных (при изменении логической структуры данных не должно оказываться влияние на пользовательские программы).

С увеличением количества данных, хранимых в БД, возникает необходимость ее расширения за счет добавления новых атрибутов или отношений - это называется ростом БД.

Реструктуризация данных подразумевает сохранение той же самой информации, но изменяется ее расположение, например, за счет перегруппировки атрибутов в отношениях.

Предположим, некоторое отношение в силу каких-либо причин необходимо разделить на два. Соединение полученных отношений в представлении воссоздает исходное отношение, а у пользователя складывается впечатление, что никакой реструктуризации не производилось.

Помимо этого представление можно применять для просмотра одних и тех же данных разными пользователями и в различных вариантах.

С помощью представлений пользователь имеет возможность ограничить объем данных для удобства работы.

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

 

Независимость от данных

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

 

Актуальность

Изменения данных в любой из таблиц базы данных, указанных в определяющем запросе, немедленно отображается на содержимом представления.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: