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

Часть 1. Понятие представления

View – это объект базы данных, представляющий собой виртуальную таблицу, информация в которой формируется динамически в соответствии с запросом, хранящимся в БД и ассоциированным с этим представлением.

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

При этом у пользователя создается впечатление, что он работает с реально существующей таблицей. Однако такой объект не требует для своего хранения дисковой памяти кроме памяти, необходимой для его определения.

Представление создается следующей ко­мандой:

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

{ CREATE | ALTER } VIEW имя_представления [(имя_столбца [,...n]}]

[ WITH ENCRYPTION [, SHENABINDING] [, VIEW METADATA] ]

AS

SELECT _onepaтор

[ WITH CHECK OPTION ] [;]

Самая простая синтаксическая структура создания представления:

CREATE VIEW имя_представления

AS

SELECT _onepaтор;

Как и во всех случаях использования оператора CREATE, после выполнения этой команды никаких результатов работы оператора SELECT на экране мы не увидим. Будет лишь выдана диагностика об успешном завершении процесса создания представления.

Зачем создаются представления?

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

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

В-третьих, пользователям не придется писать довольно сложные запросы, использующие соединения таблиц, операции агрегирования и т.д.

Назначение основных параметров:

По умолчанию имена столбцов в представлении соответствуют именам столбцов в исходных таблицах.

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

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

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

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

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

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

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


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



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