Содержание

В PostgreSQL CONSTRAINT - это ключевое слово, используемое для создания ограничений на данные в таблице, таких как первичные ключи, внешние ключи, уникальные ограничения и другие. Ограничения CONSTRAINT позволяют определить правила или условия, которые необходимо соблюдать при добавлении, обновлении или удалении данных в таблице.

Вот несколько типов ограничений, которые можно определять с помощью CONSTRAINT в PostgreSQL:

  1. PRIMARY KEY CONSTRAINT - ограничение, которое определяет первичный ключ для таблицы. Гарантирует уникальность значений и идентификацию каждой записи.

Пример создания первичного ключа с помощью CONSTRAINT:

CREATE TABLE organizations (
    org_id SERIAL,
    phon VARCHAR(20),
    categor VARCHAR(10),
    name VARCHAR(50),
    CONSTRAINT organizations_id_pkey PRIMARY KEY (phon, categor)
);
  1. FOREIGN KEY CONSTRAINT - ограничение, которое определяет внешний ключ для связи между двумя таблицами.

Пример создания внешнего ключа с помощью CONSTRAINT:

CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    organization_id INT,
    order_date DATE,
    CONSTRAINT fk_organization_id FOREIGN KEY (organization_id) REFERENCES organizations(org_id)
);

CREATE TABLE products (

product_no integer,

name text,

price numeric CONSTRAINT positive_price CHECK (price > 0)

);

То есть, чтобы создать именованное ограничение, напишите ключевое слово CONSTRAINT, а за ним идентификатор и собственно определение ограничения. (Если вы не определите имя ограничения таким образом, система выберет для него имя за вас.)

CONSTRAINT organizations_id_pkey PRIMARY KEY (phon, categor)

Это означает, что в таблице "organizations" создается первичный ключ с двумя столбцами: "phon" и "categor". Первичный ключ - это уникальное значение, которое идентифицирует каждую запись в таблице. Установка первичного ключа гарантирует уникальность значений в этих столбцах и предотвращает появление дублирующихся записей.