Представления могут быть изменяемыми и неизменяемыми.
Уничтожить представление можно командой
DROP VIEW< имя представлениям>
Цели использования представлений
Представления можно использовать для достижения ряда целей.
1. Освобождение пользователя от просмотра не относящейся к нему информации. Причем это может быть как вертикальное усечение таблицы, когда в представление включаются не все поля, а только те, которые интересуют пользователя, так и горизонтальное - когда отбираются определенные записи. Например, пусть в отделе снабжения функции сотрудников закреплены в соответствии с группами материалов. Предположим, что коды материалов группы «металлы» начинаются с буквы М. Тогда можно определить представление, в которое входят только те строки, для которых код материала начинается с буквы М. Сотрудник, отвечающий за соответствующую группу материалов, будет работать с ним так, как если бы таблица содержала сведения только о металлах.
Допустим, что имеется базовая таблица «Post», в которой хранятся сведения о поставках всех материалов. Код материала содержится в столбце Kodmat. Тогда представление, отображающее поставку металлов, будет иметь следующий вид:
CREATE VIEW postmet
AS SELECT *
FROM post
WHERE kodmat LIKE "M%";
2. Улучшение защиты данных: пользователь видит (и может с ними работать) только часть данных, определенных для него представлением. Разработчики могут ограничить для конкретных пользователей доступ к отдельным столбцам или строкам таблицы, а также задать для представления допустимые для него привилегии.
3. Упрощение сложных запросов. Рассмотрим следующий пример. Пусть у нас имеются три таблицы. Одна из них («Postavka») содержит сведения о поставках продукции и включает колонки: Код поставщика (kod_post), Код материала (kod_mat), Дата поставки (dat_post), Количество поставленной продукции (kolv), Цена (cena). Вторая таблица («Sp_post») содержит колонки Код поставщика (kod_post) и Наименование поставщика (naim_pst). Третья таблица («Sp_mat») содержит Код (kod_mat) и Наименование (naim_mat) материала. В ответах на запросы и в самих запросах обычно используются не коды, а названия соответствующих сущностей. В этом случае можно создать следующее представление:
предыдущаяследующая