Создание, удаление и изменение представлений
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Как и любой объект БД, представление создается с помощью оператора CREATE, удаляется с помощью оператора DROP и изменяется с помощью ALTER.

В сценарии, представленном на рис. 12.5, создаются представления Экзамен и Средняя оценка, примеры использования которых приведены на рис. 12.3 и 12.4.

 

 

Рис. 12.5. Создание двух представлений Экзамен и Средняя оценка

 

В операторе CREATE после ключевого слова VIEW следует имя представления и далее после ключевого слова AS – текст SELECT-запроса, лежащего в основе представления. При этом к SELECT-запросу предъявляются следующие ограничения:

- секцию ORDER BY можно использовать только совместно с опцией TOP;

- не допускается применение секции INTO;

- не допускается применение секций COMPUTE и COMPUTE BY;

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

Для удаления представления необходимо использовать оператор DROP, для изменения – ALTER. Сценарий на рис. 12.6 демонстрирует удаление представления Средняя оценка и изменение представления Экзамен.

Обратите внимание: изменение представления практически ничем не отличается от создания. Изменение представления бывает полезным в тех случаях, когда с помощью DCL-предложений пользователю были назначены определенные разрешения относительно этого представления. В случае удаления и создания нового представления с тем же именем все действующие разрешения будут утеряны. Если применить ALTER, то разрешения будут сохранены.

Рис. 12.6. Удаление представления Средняя оценка и изменение представления Экзамен

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

 

12.3. Привязка к базовым таблицам

 

Удаление или изменение таблиц или представлений, используемых в SELECT-запросе, на котором основано представление, может повлечь за собой потерю работоспособности представления. Для предотвращения проблемы применяется специальная опция SCHEMABINDING, после указания которой при создании представления запрещаются операции с таблицами и представлениями, которые могут привести к нарушению его работоспособности.

На рис. 12.7 приведен сценарий, изменяющий (ALTER) представление Экзамен и создающий представление Средняя оценка. В обоих случаях для представлений указана опция SCHEMABINDING. Обратите внимание: при применении опции требуется использовать в SELECT-запросе для имен таблиц и представлений двухкомпонентный формат. Другими словами, требуется указывать схему БД, к которой принадлежит таблица или представление. Применение и использование схем БД не рассматривается в этом пособии. Здесь только поясним: схема – это поименованный контейнер объектов БД, позволяющий разграничить объекты с одинаковыми именами. Схемы имеют такой же смысл, как пространства имен в языках программирования. Например, в БД допускается использование двух таблиц с одинаковыми именами, но они должны находиться в разных схемах.

Рис. 12.7. Установка опции SHEMABINDING при изменении представления
 Экзамен и создании представления Средняя оценка

 

В таких случаях для однозначной идентификации таблицы будет применяться двухкомпонентное имя, причем первой компонентой указывается имя схемы. Если имя схемы явно не указывается, то предполагается, что применяется стандартная схема с именем DBO. В большинстве случаев это бывает достаточным. В сценарии на рис. 12.8 сделана попытка удаления таблицы PROGRESS и представления Экзамен. В обоих случаях удаление не выполнено из-за того, что эти объекты связаны с представлениями.

Рис. 12.8. Сообщения об ошибках при попытке удаления связанных с представлениями таблицы PROGRESS и представления Экзамен

Попытка изменить представление Экзамен (даже не затрагивающее представление Средняя оценка) тоже запрещается (рис. 12.9).

 

Рис. 12.9. Сообщения об ошибках при попытке изменить
связанное представление Экзамен

 



Дата: 2019-02-25, просмотров: 205.