Пояснение. Добро пожаловать в Мастер создания представлений. Этот Мастер позволяет вам создать новое представление. Представления
Download 85.96 Kb.
|
2 5274111687916529849
- Bu sahifa navigatsiya:
- CREATE VIEW
- Code_books_1_3
- SYS.SYSVIEWS
- OUTPUT
- ALTER VIEW
- Popova
- Permissions : в закладке Permissions
- UPDATE
- WHERE
- Таблица 21 . Исходное содержимое представления Stepanov.Code_books_1_3
Щелкните по кнопке Готово для завершения формирования текста представления в редакторе.
После "нажатия" на эту кнопку мастер сформирует заготовку оператора CREATE VIEW и отобразит ее в окне текстового редактора утилиты (рис. 75). Рис. 75. Отображение заготовки CREATE VIEW в окне текстового редактора утилиты SQL Central Откорректируем текст заготовки в части базового оператора. Тогда окончательный текст оператора CREATE VIEW примет следующий вид: //Окончательный текст оператора CREATE VIEW CREATE VIEW Stepanov.Code_books_1_3 AS SELECT Books.Code_book, Books.Author, Books.Number FROM Stepanov.Books WHERE Code_book>=1 AND Code_book<=3 Проверим текст оператора на синтаксис при помощи команды меню File|Execute Script. После ее успешного окончания выходим из текстового редактора. В результате в базе данных появляется новое представление Code_books_1_3. Данный факт выражается в появлении одноименного элемента в папке Views. (см. рис. 76). Рис. 76. Обновленное содержание папки Views Для создания представления Code_books_1_3 в утилите ISQL необходимо выполнить оператор CREATE VIEW окончательного вида, приведенный выше. Убедиться в появление нового представления можно, просмотрев список имеющихся в базе данных таблиц и представлений. Он появляется на экране после нажатия на клавишу F7 (см. рис. 22). Другим способом проверки наличия в базе данных нового представления является анализ содержимого системного представления SYS.SYSVIEWS. Текст оператора CREATE VIEW можно получить, выполнив следующие SQL-операторы: //Получение текста представления SELECT Viewtext //поле Viewtext содержит текст представления FROM SYS.SYSVIEWS WHERE Viewname = 'Code_books_1_3' //названия представления /*AND Vcreator = 'Stepanov' ; */ /* если имя представления не уникально, то требуется указать имя его владельца */ //оператор экспорта результатов оператора SELECT OUTPUT TO d:\Log_db\viewtext.sql /* полное имя файла куда осуществляется экспорт текста представления */ FORMAT /* в формате */ ASCII ПРИМЕЧАНИЕ При выполнении оператора OUTPUT в формате ASCII все переводы на новую строку исходного текста в формируемый текстовый файл записываются в виде последовательности символов \X0D\X0A. В SYBASE SQL Anywhere представления создаются оператором CREATE VIEW. Для последующей изменения текста представлений применяется оператор ALTER VIEW. Он заменяет в существующим представлении текст базового оператора. В утилите ISQL в операторе ALTER VIEW каждый раз приходится вводить текст базового оператора. В утилите SQL Central полный текст оператора ALTER VIEW выводится в окне текстового редактора утилиты после двойного щелчка мыши по пиктограмме представления (см. рис. 76). В этом случае текст можно отредактировать, используя возможности текстового редактора. Использовать представления имеют право: владелец представления; владелец всех базовых таблиц представления; администратор базы данных; пользователи, имеющие соответствующие привилегии для всех базовых таблиц представления; пользователи, которым для представления установлены соответствующие привилегии. Рассмотрим на примере как определяются привилегии для представлений. Для этого установим пользователю Popova привилегию SELECT для представления Code_books_1_3. В SQL Central для этого следует выполнить следующую последовательность действий: щелкнуть правой кнопкой мыши по пиктограмме представления Code_books_1_3 (см. рис. 76); в появившемся контекстном меню выбрать пункт меню Properties; в открывшемся окне Code_books_1_3 Properties - окне свойств представления выбрать закладку Permissions: в закладке Permissions установить для пользователя Popova привилегию SELECT. Внешний вид закладки Permissions очень похож на одноименную закладку окна свойств таблицы (см. рис. 56). Работа с этими закладками осуществляется одним и тем же способом. Для достижения того же результата в утилите ISQL требуется выполнить следующий SQL-оператор: /* Установка привилегии SELECT для представления Code_books_1_3 пользователю Popova */ GRANT SELECT ON Stepanov.Code_books_1_3 TO Popova Теперь пользователь Popova может использовать оператор SELECT для представления Stepanov.Code_books_1_3. После применения к представлениям операторов INSERT и DELETE количество записей в них изменяется. Тоже самое может произойти при выполнении оператора UPDATE для представлений, использующих указание выборки данных WHERE в базовом операторе. Это может произойти в том случае, когда в результате модификации записей их содержимое перестанет удовлетворять условию WHERE - условию включения данных записей в представление. Изменение числа записей после операторов INSERT и DELETE очевидно, а после WHERE нет. Пользователь может не иметь никакой информации об условии WHERE. Для контроля за такой ситуации в тексте оператора в конец текст оператора CREATE/ ALTER VIEW следует добавить фразу WITH CHECK OPTION. Тогда при попытке модификации записей представления, которые могут привести к их исключению из ее состава, выдается сообщение о возникновении исключительной ситуации. Покажем это на примере. Проведем модификацию представления Code_books_1_3. Для этого выполним оператор: // Модификация представления UPDATE Stepanov.Code_books_1_3 SET Code_book = 100 WHERE Code_book = 2 Исходное и модифицированное содержимое этого представления приведено в табл. 21, 22. Таблица 21. Исходное содержимое представления Stepanov.Code_books_1_3
Download 85.96 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling