PostgreSQL | Что такое Представление? — efim360.ru

PostgreSQL | Что такое Представление?

Изучая СУБД 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

Поделись записью