PostgreSQL Создать представление с примером

⚡ Умное резюме

PostgreSQL Представления — это псевдотаблицы, созданные на основе сохраненного запроса SELECT, позволяющие объединять сложные или часто используемые запросы под одним именем, которое можно читать, обновлять или удалять, как обычную таблицу.

  • 🇧🇷 Псевдотаблица: Представление хранит запрос, а не данные, но вы выбираете их, как в таблице.
  • 🇧🇷 Создайте: Команда CREATE VIEW присваивает имя запросу SELECT, даже для нескольких базовых таблиц, что упрощает его повторное использование.
  • ♻️ Заменить: Функция CREATE OR REPLACE VIEW изменяет представление без перетаскивания.ping слишком часто.
  • 🇧🇷 Бросьте: DROP VIEW удаляет представление, а IF EXISTS предотвращает ошибку.
  • 🤖 Помощь в использовании ИИ: Искусственный интеллект-помощники генерируют определения представлений и предлагают, какие запросы следует обернуть.

PostgreSQL Создать представление

Что такое PostgreSQL Вид?

In PostgreSQL, представление представляет собой псевдотаблицу. Это означает, что представление не является настоящей таблицей. Однако мы можем ВЫБРАТЬ ее как обычную таблицу. Представление может содержать все или некоторые столбцы таблицы. Представление также может быть представлением более чем одной таблицы.

Эти таблицы называются базовыми таблицами. При создании представления достаточно создать запрос и дать ему имя, что делает его полезным инструментом для обертывания данных.ping сложные и часто используемые запросы.

Создающий PostgreSQL Виды

Чтобы создать PostgreSQL view, мы используем оператор CREATE VIEW. Вот синтаксис этого утверждения:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

Параметр OR REPLACE заменит представление, если оно уже существует. Если этот параметр опущен и представление уже существует, будет возвращена ошибка.

Параметр view-name — это имя представления, которое вам нужно создать.

Условие WHERE является необязательным, и для добавления записи в представление оно должно быть выполнено.

Рассмотрим таблицу цен, приведенную ниже:

Цена:

Создающий PostgreSQL Виды

Давайте создадим представление из приведенной выше таблицы:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Приведенная выше команда создаст представление на основе Оператор SELECT. В представление будут добавлены только записи, цена которых превышает 200. Представлению присвоено имя Price_View. Давайте запросим его, чтобы увидеть его содержимое:

SELECT *
FROM Price_View;

Это возвращает следующее:

Создающий PostgreSQL Виды

Несмотря на то, что базовая таблица содержит 4 записи, в представление были добавлены только 2.

Здесь мы можем добавить в представление только один столбец. Давайте создадим представление, которое будет включать только один столбец таблицы «Цены»:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Представлению присвоено имя Price_View2, и оно включает только столбец цен таблицы цен. Давайте запросим представление, чтобы увидеть его содержимое:

SELECT *
FROM Price_View2;

Это возвращает следующее:

Создающий PostgreSQL Виды

Изменение PostgreSQL Виды

Определение представления можно изменить, не удаляя его. Это делается с помощью оператора CREATE OR REPLACE VIEW.

Давайте продемонстрируем это, обновив представление с именем Price_View2.

Цена_Просмотр2:

Изменение PostgreSQL Виды

Таблица книги выглядит следующим образом:

Книга:

Изменение PostgreSQL Виды

Таблица цен выглядит следующим образом:

Цена:

Изменение PostgreSQL Виды

Следующий запрос поможет нам обновить представление Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Давайте теперь запросим представление, чтобы увидеть его содержимое:

Изменение PostgreSQL Виды

Представление было изменено, и теперь у нас есть два столбца из двух разных таблиц. Это было достигнуто с помощью оператора JOIN.

Удаление PostgreSQL Виды

Каждый раз, когда вам нужно удалить PostgreSQL Для представления можно использовать оператор DROP VIEW. Вот синтаксис этого оператора:

DROP VIEW [IF EXISTS] view-name;

Параметр view-name — это имя представления, которое необходимо удалить.

В этом синтаксисе оператор IF EXISTS является необязательным. Если вы его не укажете и попытаетесь удалить представление, которого не существует, вы получите ошибку.

Например, чтобы удалить представление с именем Price_View2, мы можем выполнить следующий оператор:

DROP VIEW Price_View2;

Представление будет удалено.

Использование pgAdmin

Теперь давайте посмотрим, как эти действия можно выполнить с помощью pgAdmin.

Создающий PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  • На панели навигации слева нажмите «Базы данных».
  • Нажмите Демо.

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Шаг 4) Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 5) Чтобы просмотреть содержимое представления, выполните следующие действия:

  • Введите следующую команду в редакторе запросов:
SELECT *
FROM Price_View;
  • Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Это вернет следующее:

Создающий PostgreSQL Просмотры с использованием pgAdmin

Чтобы создать представление Price_View2, выполните следующие действия:

Шаг 1) Введите следующий запрос в редакторе запросов:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Шаг 2) Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Чтобы увидеть содержимое представления, выполните следующие действия:

  • Введите следующий запрос в редакторе запросов:
SELECT *
FROM Price_View2;
  • Нажмите кнопку «Выполнить».

Создающий PostgreSQL Просмотры с использованием pgAdmin

Это вернет следующее:

Создающий PostgreSQL Просмотры с использованием pgAdmin

Изменение PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  • На панели навигации слева нажмите «Базы данных».
  • Нажмите Демо.

Изменение PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Шаг 4) Нажмите кнопку «Выполнить».

Изменение PostgreSQL Просмотры с использованием pgAdmin

Шаг 5) Введите следующий запрос в редакторе запросов:

SELECT *
FROM Price_View2;

Это вернет следующее:

Изменение PostgreSQL Просмотры с использованием pgAdmin

Удаление PostgreSQL Виды

Чтобы сделать то же самое через pgAdmin, сделайте следующее:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  • На панели навигации слева нажмите «Базы данных».
  • Нажмите Демо.

Удаление PostgreSQL Просмотры с использованием pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

DROP VIEW Price_View2;

Шаг 4) Нажмите кнопку «Выполнить».

Удаление PostgreSQL Просмотры с использованием pgAdmin

Представление будет удалено.

Загрузите базу данных, используемую в этом руководстве.

Часто задаваемые вопросы (FAQ)

Таблица физически хранит данные на диске. Представление хранит только запрос SELECT, поэтому при обращении к нему этот запрос выполняется повторно, и возвращаются актуальные данные из базовых таблиц.

Материализованное представление кэширует результаты запроса на диске. Оно читает данные быстрее, чем обычное представление, но для отображения новых данных требуется команда REFRESH MATERIALIZED VIEW.

Стандартное представление выполняет запрос каждый раз, отображая данные в режиме реального времени. Материализованное представление сохраняет результаты на диске для повышения скорости, но может устаревать до обновления.

Иногда. Простая таблица без агрегации автоматически обновляется, поэтому команды INSERT, UPDATE и DELETE работают напрямую. Для сложных таблиц вместо триггеров требуются INSERT.

Выполните запрос к каталогу: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. В pgAdmin вы можете развернуть узел «Представления» в разделе схемы.

Искусственный интеллект преобразует запрос на простом языке в оператор CREATE VIEW, присваивает имя представлению и добавляет необходимые условия WHERE и JOIN, ускоряя часто используемые запросы.

Да. Вставьте длинный запрос SELECT, и ИИ-помощник заключит его в CREATE OR REPLACE VIEW, предложит имя и отметит столбцы, которым нужны псевдонимы, чтобы избежать дублирования имен.

Обычное представление не ускоряет запросы, поскольку оператор SELECT выполняется каждый раз. Для более быстрого многократного чтения используйте материализованное представление, которое хранит результаты на диске до обновления.

Подведем итог этой публикации следующим образом: