Разработка приложений баз данных для СУБД Sybase SQL Anywhere



       

в исходное состояние. После этого


Code_bookAuthorNumber
1Коршунов Ю.М.49
3Трауб Дж.38
Выполните теперь оператор ROLLBACK для возврата базы данных в исходное состояние. После этого отредактируем текст представления путем введения нее фразы WITH CHECK OPTION:

//Изменение текста представления ALTER 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 WITH CHECK OPTION

Теперь выполним тот же оператор UPDATE. При этом оператор завершится аварийно с выдачей сообщения "WITH CHECK OPTIPN violated for view 'Books'". Оно информирует пользователя о нарушения условия WITH CHECK OPTION для представления, созданного на базе таблицы Books.

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

//представление на базе таблицы и представления CREATE VIEW Stepanov.Table_View AS SELECT Code_books_1_3.Code_book //для этого поля AS b_code, //вводися псевдоним b_code Copies.N_books FROM Stepanov.Copies NATURAL JOIN Stepanov.Code_books_1_3 WHERE b_code=2

Следующим является представление на базе двух таблиц с использованием арифметической функции Count (подсчет числа записей):

//представление на базе двух таблиц CREATE VIEW Stepanov.Table_table AS SELECT Books.Code_book, "COUNT"(Copies.Code_book) FROM Stepanov.Books NATURAL JOIN Stepanov.Copies GROUP BY Books.Code_book

Это представление выбирает данные о количестве экземпляров каждой книги. Тот же результат можно получить, если при помощи оператора ALTER VIEW заменить в представление Table_table базовый оператор на следующий:

/* Новый базовый оператор представления Table_table */ SELECT Code_book, Number FROM Stepanov.Books

Читателям предлагается проверить работу приведенных выше представлений.

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


Содержание раздела