Изучая СУБД PostgreSQL можно часто слышать слово "Представление" (View) рядом со словом "Таблица" (Table). Что это такое простыми словами?
Пример № 1
Например. У вас есть одна огромная таблица, в которой есть 7 столбцов.
Вы можете создать другую таблицу на её основе, в которой будут видны только данные из 3 столбцов.
При этом в новой таблице не будет никаких данных. Новая таблица будет ссылаться на данные своего родителя.
В результате вы получаете возможность ограничить вывод информации при отборе и ещё можете это как-то обозвать для удобства обращения.
Вот это и называется "Представление"
Оно всегда выполняется на выборку данных. Как правило через оператор SELECT.
В момент запроса к Представлению осуществляется реальный Запрос в базу данных. Выборка данных также будет занимать некоторое время как в случае с обычной таблицей.
Пример № 2
У вас есть две таблицы с данными.
Таблицы никак не связаны друг с другом. Нет связи "один ко многим", "один к одному".
Вы можете создать такой шаблон склеивания данных из двух таблиц, при котором получится третья таблица.
При этом в новой таблице не будет никаких данных. Новая таблица будет ссылаться на данные из других таблиц.
Какой командой создаётся "Представление"?
Команда CREATE VIEW создаёт "Представление" в СУБД PostgreSQL.
Синтаксис "Представления" в PostgreSQL
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW имя [ ( имя_столбца [, ...] ) ] [ WITH ( имя_параметра_представления [= значение_параметра_представления] [, ... ] ) ] AS запрос [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
имя - это имя создаваемого представления (возможно, дополненное схемой).
имя_столбца - это необязательный список имён, назначаемых столбцам представления. Если отсутствует, имена столбцов формируются из результатов запроса.
запрос - это команда SELECT или VALUES, которая выдаёт столбцы и строки представления.
Квадратными скобками указаны опциональные параметры, которых может не быть в SQL-запросе.
Информационные ссылки
Команда CREATE VIEW - https://postgrespro.ru/docs/postgresql/14/sql-createview