Как создать таблицу в PostgreSQL с помощью pgAdmin 4

Всем привет! Сегодня мы рассмотрим процесс создания таблиц в СУБД PostgreSQL с помощью приложения pgAdmin 4, при этом мы разберем два способа: первый – с помощью инструкции языка SQL, и второй – с помощью специального графического конструктора.

Как создать таблицу в PostgreSQL с помощью pgAdmin 4

В прошлой статье «Как создать базу данных в PostgreSQL» мы рассмотрели процесс создания пустой базы данных, т.е. того контейнера, в котором и хранятся все объекты этой базы данных. Одним из таких объектов является таблица, в которой и хранятся сами данные, т.е. таблица является неким физическим представлением определенной сущности реального мира.

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

Поэтому сегодня давайте продолжим эту тему и рассмотрим процесс создания таблиц.

И так как, наверное, лучшим способом разобраться в какой-либо теме является ее рассмотрение на конкретном примере, т.е. на решении конкретной задачи, давайте сначала определим задачу, в которой нам нужно будет создать несколько таблиц.

Заметка! Для комплексного изучения языка SQL рекомендую почитать мою книгу «SQL код», в ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

Исходные данные

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

Структура таблиц будет следующая:

  • goods – таблица будет содержать информацию о товарах:
    • product_id – идентификатор товара, данное значение должно автоматически генерироваться. Столбец не может содержать значения NULL и является первичным ключом;
    • product_name – наименование товара, столбец не может содержать значения NULL;
    • category – ссылка на категорию товара, столбец не может содержать значения NULL, но имеет значение по умолчанию, например, для случаев, когда товар еще не распределили в необходимую категорию, в этом случае товару будет присвоена категория по умолчанию («Не определена» или «Не указана»);
    • price – цена товара, столбец может содержать значения NULL, например, с ценой еще не определились.
  • categories — таблица будет содержать описание категорий товаров:
    • category_id – идентификатор категории, данное значение должно автоматически генерироваться. Столбец не может содержать значения NULL и является первичным ключом;
    • category_name – наименование категории, столбец не может содержать значения NULL.

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

Заметка! Установка и настройка PostgreSQL на Windows 10.

Создание таблицы с помощью графического конструктора pgAdmin 4

Чтобы создать таблицу в PostgreSQL с помощью графического конструктора pgAdmin 4, необходимо в обозревателе щёлкнуть правой кнопкой мыши по контейнеру «Таблицы» и выбрать пункт «Создать -> Таблицу».

Скриншот 1

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

Скриншот 2

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

Схема – это пространство имен в базе данных, своего рода контейнер объектов внутри базы данных, который позволяет логически разделять данные на схемы.

После того как название таблицы задано, мы можем переходить к определению столбцов. Для этого необходимо перейти на вкладку «Столбцы» и, используя кнопку плюс «+», добавить нужные столбцы.

Сначала создаем идентификатор категории, по условиям нашей задачи он должен отвечать определенным требованиям, поэтому мы должны задать следующие свойства у столбца:

  • Включить параметр «Не NULL», чтобы параметр не мог хранить значения NULL;
  • Включить параметр «Первичный ключ», чтобы столбец выполнял роль первичного ключа;
  • Включить идентификацию, чтобы в столбце автоматически генерировались значения.

В качестве типа данных выберем целочисленный тип integer.

Скриншот 3

Далее точно так же добавляем столбец для хранения наименования категории. При этом тип данных у нас уже должен быть текстовый, например, character varying (VARCHAR) с длинной 100. Он уже не должен быть первичным ключом и значения генерировать здесь не нужно.

Заметка! Как создать составной тип данных в PostgreSQL.

После ввода всех данных мы можем сохранить все изменения, нажав на кнопку «Сохранить», тем самым создав таблицу.

Скриншот 4

Затем точно также создаем таблицу с товарами и определяем соответствующие для нее столбцы. Столбец идентификатора товара определяем, как первичный ключ, и включаем у него идентификацию с автоматическим генерированием значений.

Скриншот 5

Заметка! ТОП 5 популярных систем управления базами данных (СУБД).

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

Чтобы у столбца задать значение по умолчанию, необходимо открыть детализированные свойства столбца, перейти там на вкладку «Ограничения» и в поле «По умолчанию» указать значение, которое будет присваиваться по умолчанию, например, 1.

Скриншот 6

Осталось определить ограничение внешнего ключа, иными словами, чтобы столбец category таблицы goods ссылался на столбец category_id таблицы categories, таким образом, мы определим связь между этими таблицами.

Чтобы это сделать, переходим на вкладку «Ограничения» (основной формы создания таблиц), затем переходим на вкладку «Внешний ключ» и с помощью кнопки плюс «+» добавляем новый внешний ключ.

Вводим название ограничения, и в детализированных свойствах на вкладке «Столбцы» задаем связь между таблицами, т.е. указываем столбцы и нажимаем на плюс «+» для добавления связи.

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

Скриншот 7

Созданные таблицы отобразятся в обозревателе.

Скриншот 8

Заметка! Установка и настройка PostgreSQL 12 на Debian 10.

Создание таблицы с помощью языка SQL

Теперь давайте рассмотрим процесс создания таблиц в PostgreSQL на языке SQL.

Таблицы в SQL создаются с помощью инструкции CREATE TABLE.

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

Примечание! Если чуть ранее Вы создавали эти таблицы с помощью конструктора, то перед выполнением указанных ниже инструкций создания таблиц необходимо предварительно удалить эти таблицы, т.е. выполнить инструкцию DROP TABLE. В противном случае инструкции создания таблиц завершатся ошибкой, так как в пределах одной схемы не может быть таблиц с одинаковым названием.

Чтобы выполнить инструкции, открываем редактор запросов (Запросник), вводим инструкции и нажимаем «Execute».

   
   -- Удаление таблиц
   DROP TABLE IF EXISTS goods, categories;

   -- Создание таблицы categories
   CREATE TABLE categories (
      category_id INT NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
      category_name VARCHAR(100) NOT NULL
   );

   -- Создание таблицы goods
   CREATE TABLE goods (
      product_id INT NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
      product_name VARCHAR(100) NOT NULL,
      category INT NOT NULL DEFAULT 1,
      price NUMERIC(18,2) NULL,
    CONSTRAINT fk_category_goods FOREIGN KEY (category) REFERENCES categories (category_id)
);

Скриншот 9

Создание таблиц в PostgreSQL с помощью pgAdmin 4 (видеоматериал)

На сегодня это все, надеюсь, материал был Вам интересен и полезен, пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.