Время чтения: 1 min
Изменено:18.09.2026, 19:57:57
Представления(View)
Это хранилище данных в виде таблицы, на основе которой оно было создано. Данная таблица является динамической, данные заполняются в момент обращения к view. Представление может быть написано как для одной таблицы, так и для составных.
Для чего нужны:
- Разграничение данных для пользователей.
- Упрощение сложных запросов
Общий вид:
create view ИНДФ as select ...
Пример:
create view gr632_v_test as select
s.фамилия, s.номер_поставщика from s
Типы представлений:
- Обычный — это стандартное представление которые подтягивает данные из таблицы при использовании
- Материализованное — делает срез данных (то есть только в момент одного обращения, после чего данные не обновляются автоматически; обновление происходит только ручным способом).
create materialized view ИНДФ ...
Для того чтобы данные обновились в данномview:refresh materialized view ИНДФ
Модифицировать данные через представления МОЖНО, но только при соблюдении определенных правил:
- Представление должно быть написано на одной таблице.
- Все столбцы, которые имеют ограничение not null, обязательно должны быть указаны при создании view.
- агр.ф-ции нельзя использовать (в
select) - Нельзя использовать подзапросы (в
select,from). - Нельзя использовать
group by, having - Математические действия в
select - Не используется
asЕсли хоть 1 пункт будет нарушен, то для работы модификации черезviewтребуется использоватьinstead of trigger
Для удаления view: drop view ИНДФ