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

Представление удаляется из базы данных при помощи следующей команды:

DROP VIEW <имя представления^

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

Пример 85. Удалить представление «Месячный_фонд_зар- платы_сотрудников»

DROP VIEW Месячный_фонд_зарплаты_сотрудников;

Представление будет также уничтожено при удалении базовой таблицы, лежащей в его основе.

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

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

Пример 86. Сформировать представление с именем «Инже- неры_Прикладной_информатики» как выборку виртуальной таблицы (представления) «Инженеры_вуза», удовлетворяющую условию «кафедра»='пи'.

CREATE VIEW Инженеры_Прикладной_информатики AS SELECT *

FROM Инженеры_вуза WHERE кафедра='пи';

Представление «Инженеры_Прикладной_информатики»

табельный номер

кафедра

фамилия

должность

зарплата

начальник

153

пи

Сидорова С. С.

инженер

16500,00 р.

102

Задание. Сформировать представление с именем «Преподава- тели_Прикладной_информатики» как выборку виртуальной таблицы (представления) «Преподаватели_вуза», удовлетворяющую условию «кафедра»='пи'.

На основе представлений, также как и базовых таблиц, можно создавать запросы-выборки. При этом операции выборки данных над представлением преобразуются в эквивалентные операции над лежащей в его основе базовой таблицей. Общий принцип формирования такого рода запросов состоит в том, чтобы SELECT-предложение такого обобщенного запроса было бы допустимым правилами языка SQL предложением.

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

Пример 87. Из таблицы-представления «Инженеры_вуза» сформировать список инженеров, работающих на кафедре «Информационные системы» по условию «кафедра»='ис'.

SELECT *

FROM Инженеры_вуза

WHERE кафедра='ис';

Результат запроса-выборки на основе представления «Инженеры_вуза»

табельный

номер

кафедра

фамилия

должность

зарплата

начальник

241

ис

Глухов Г. Г.

инженер

22000,00 р.

201

242

ис

Чернов Ч.Ч.

инженер

16500,00 р.

202

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

1. Имена столбцов, указанные в списке предложения SELECT запроса, транслируются в соответствующие им имена столбцов определяющего запроса. В результате предложение SELECT приобретает следующий вид:

SELECT таб_номер, AS [табельный номер], шифр AS кафедра, фамилия, должность, зарплата, шеф

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

FROM Сотрудник

3. Предложение WHERE исходного запроса объединяется с предложением WHERE из определяющего запроса

WHERE кафедра='ис' AND должность='инженер'

4. В результате всех перечисленных операций объединенный запрос приобретет следующий вид:

SELECT таб_номер AS [табельный номер], шифр AS кафедра, фамилия, должность, зарплата, шеф

FROM Сотрудник

WHERE шифр='ис' AND должность='инженер';

Объединенный запрос удовлетворяет правилам SQL. Результат его выполнения должен совпасть с результатом, приведенным в таблице примера 87.

Задание. Сформировать список заведующих кафедрами как выборку из таблицы-представления «Преподавтели_вуза», удовлетворяющую условию «должность»='зав.кафедрой'.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >