Vasulio-crtVasulio-crt
FoxelyssFoxelyss
Время чтения: 1 min
Изменено:18.09.2026, 19:57:57

Представления(View)

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

Для чего нужны:

  1. Разграничение данных для пользователей.
  2. Упрощение сложных запросов

Общий вид: create view ИНДФ as select ...

Пример:

create view gr632_v_test as select
s.фамилия, s.номер_поставщика from s

Типы представлений:

  1. Обычный — это стандартное представление которые подтягивает данные из таблицы при использовании
  2. Материализованное — делает срез данных (то есть только в момент одного обращения, после чего данные не обновляются автоматически; обновление происходит только ручным способом).
    create materialized view ИНДФ ...
    Для того чтобы данные обновились в данном view: refresh materialized view ИНДФ

Модифицировать данные через представления МОЖНО, но только при соблюдении определенных правил:

  1. Представление должно быть написано на одной таблице.
  2. Все столбцы, которые имеют ограничение not null, обязательно должны быть указаны при создании view.
  3. агр.ф-ции нельзя использовать (в select)
  4. Нельзя использовать подзапросы (в select, from).
  5. Нельзя использовать group by, having
  6. Математические действия в select
  7. Не используется as Если хоть 1 пункт будет нарушен, то для работы модификации через view требуется использовать instead of trigger

Для удаления view: drop view ИНДФ