Code_book
|
Author
|
Number
|
1
|
Коршунов Ю.М.
|
49
|
2
|
Лавров И.А.
|
2
|
3
|
Трауб Дж
|
38
|
Code_books_1_3'>Таблица 22. Модифицированное содержимое представления Stepanov.Code_books_1_3
Code_book
|
Author
|
Number
|
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
Читателям предлагается проверить работу приведенных выше представлений.
Таким образом, использование представлений является удобным средством использования часто используемых запросов и защиты от несанкционированного доступа.
Do'stlaringiz bilan baham: |