Перейти к основному содержимому

Ограничения PostgreSQL

Ограничения позволяют определять правила для данных в ваших таблицах.

1. Первичный ключ (Primary Key)​

Уникально идентифицирует каждую строку в таблице. Это комбинация NOT NULL и UNIQUE.

CREATE TABLE products (
product_no integer PRIMARY KEY,
name text
);

2. Внешний ключ (Foreign Key)​

Обеспечивает ссылочную целостность между таблицами.

CREATE TABLE orders (
order_id integer PRIMARY KEY,
product_no integer REFERENCES products (product_no) ON DELETE CASCADE
);

Действия при удалении/обновлении:

  • CASCADE: удалить/обновить ссылающиеся строки.
  • RESTRICT: запретить удаление/обновление ссылочной строки.
  • SET NULL: установить в ссылающемся столбце значение NULL.
  • SET DEFAULT: установить в ссылающемся столбце его значение по умолчанию.

3. Ограничение уникальности (Unique Constraint)​

Гарантирует, что все значения в столбце (или группе столбцов) уникальны.

ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);

4. Ограничение проверки (Check Constraint)​

Гарантирует, что значения в столбце удовлетворяют определённому логическому выражению.

CREATE TABLE products (
price numeric CHECK (price > 0)
);

5. Ограничение Not-Null​

Гарантирует, что столбец не может иметь значение NULL.

ALTER TABLE users ALTER COLUMN username SET NOT NULL;

Назад к PostgreSQL