Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ORACLE 2004 года.doc
Скачиваний:
26
Добавлен:
03.05.2015
Размер:
466.43 Кб
Скачать

Лабораторная работа № 13. Тема: создание представлений

Представление — это логическая таблица, созданная на основе реальной таблицы или другого представления. Представление не содержит собственных данных, а скорее является "окном", через которое можно просматривать или изменять данные из таблиц. Представление хранится в словаре данных как команда SELECT. Использование представлений позволяет осуществлять выборку данных из нескольких таблиц без каких-либо знаний об операторе соединения таблиц (join).

Представление создается путем включения подзапроса в команду CREATE VIEW.

Синтаксис

CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW представление

[(псевдоним[, псевдоним}...)]

AS подзапрос

[WITH CHECK OPTION [CONSTRAINT ограничение]]

[WITH READ ONLY]

где: FORCE

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

NOFORCE

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

представление

имя представления.

псевдоним

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

подзапрос

полная команда SELECT. Для столбцов в списке SELECT можно использовать псевдонимы.

WITH CHECK OPTION

режим, при котором добавлять или обновлять можно только строки, доступные в представлении.

ограничение

имя, присвоенное ограничению CHECK OPTION.

WITH READ ONLY

запрет применения к данному представлению операций DML.

  • Запрос, который определяет представление, может содержать команду SELECT со сложным синтаксисом, включая соединения, группы и подзапросы.

  • Запрос, который определяет представление, не может содержать предложение ORDER BY.

  • Если вы не указываете имя ограничения сами, система присвоит его по умолчанию в формате SYS_Cn.

  • Для изменения определения представления без его удаления и создания заново, а также для изменения предоставленных привилегий можно использовать режим OR REPLACE.

Существуют два вида представлений: простые и сложные. Основное отличие связано с операциями DML.

Пример.

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

SQL> Create view films

2 As select filmId, namef, god_vip Дата_выпуска

3 from film

4 where god_vip > '01.01.1989';

Представление создано.

SQL> select * from films;

FILMID NAMEF ДАТА_ВЫП

---------- ------------------------- ---------------------

2 Дом 17.01.91

13 Куклы 13.05.99

Пример.

Изменение представления films. Присвойте столбцу с номером фильма заголовок Номер, столбцу с название фильма – Название, а столбцу с годом выпуска - заголовок Дата.

SQL> Create or replace view films