Skip to content

Основы представлений в PostgreSQL

Пересказ статьи Shivayan Mukherjee. The Basics of PostgreSQL Views


Эта статья поможет вам понять, что такое представление в базе данных в общем, и что такое представление конкретно в PostgreSQL. Вы научитесь создавать/писать запросы/удалять представление в PostgreSQL, осваивая соответствующий синтаксис на рабочих примерах, используя для этого терминал Psql или инструмент PgAdmin.

Что такое представление?


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

Представление в PostgreSQL удовлетворяет всем упомянутым характеристикам и может быть создано с помощью нижеприведенного синтаксиса:

CREATE [TEMP | TEMPORARY] VIEW имя_представления AS
SELECT столбец1, столбец2.....
FROM имя_таблицы
WHERE [условие];

Здесь имя представления указывается после ключевых слов 'CREATE VIEW', после чего следуют требуемые столбцы из таблицы, а затем условие WHERE. Ключевое слово 'Temp/Temporary' не является обязательным и задается, если создается временное представление. Временное представление прекращает существование в конце текущего сеанса.

Пример:

CREATE VIEW STOCK_VIEW AS
SELECT stock_id, stock_name, stock_price
FROM stocks;



Вывод списка представлений в терминале Psql:
Для вывода всех представлений в схеме PostgreSQL может использоваться команда '\dv'.



Создание представления в PgAdmin


Для создания представления в PgAdmin нужно перейти в раздел меню 'views->Create->View', как показано ниже:



Список представлений в PgAdmin

После создания представления либо в терминале Psql, либо в PgAdmin, его можно увидеть в списке 'Views' готовым для использования, как показано ниже.



Запрос к представлению

Запрос на выборку данных из представления PostgreSQL подобен запросу из таблицы. Вот синтаксис:

Select * from stock_view;



Запрос к представлению в PgAdmin

Для запроса к представлению в PgAdmin нужно перейти в меню 'Views->View->View/Edit Data'. Затем пользователю будет предложено несколько вариантов, из которых пользователь может сделать выбор на основе его требований и получить данные. Заметим, что хотя опция здесь читается как 'View/Edit Data' (просмотр/редактирование данных), представления не могут редактироваться. Однако если обновляются данные в исходной таблице, это также отражается в представлении.



Удаление представления

Запрос на удаление представления простой и короткий. Чтобы удалить представление, укажите имя представления сразу после ключевых слов 'DROP VIEW'.

DROP VIEW имя_представления;



Удаление представления в PgAdmin

Чтобы удалить представление в PgAdmin, необходимо перейти в меню 'Views->View->Delete/Drop'.



Ссылки по теме
1. 3 лучших совета для написания более быстрых представлений SQL

2. Индексированные представления - панацея производительности или беда

3. Что такое материализованное представление, и зачем его использовать?

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

Нет комментариев.

Автор не разрешил комментировать эту запись

Добавить комментарий

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Добавленные комментарии должны будут пройти модерацию прежде, чем будут показаны.