Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: not null, unique, primary key, check, foreign key, default

Какие ограничения можно задать для столбца в таблице?

Этот вопрос проверяет знание встроенных механизмов обеспечения целостности данных на уровне столбца.

Короткий ответ

Для столбцов в PostgreSQL можно задать ограничения NOT NULL (запрет пустых), UNIQUE (уникальность), PRIMARY KEY (уникальный и NOT NULL), CHECK (проверка пользовательского условия) и REFERENCES (внешний ключ), а также DEFAULT для значения по умолчанию.

Длинный ответ

NOT NULL:

- Столбец не может принимать значение NULL.

 

UNIQUE:

- Значения в столбце (или наборе столбцов) уникальны.

 

PRIMARY KEY:

- Комбинация UNIQUE + NOT NULL, определяет уникальный идентификатор строки.

 

CHECK (<condition>):

- Проверяет условие, например CHECK (age >= 0).

 

FOREIGN KEY / REFERENCES:

- Ссылка на PRIMARY KEY другой таблицы, обеспечивает ссылочную целостность.

 

DEFAULT:

- Значение по умолчанию при отсутствии явного указания.

 

EXCLUDE (PostgreSQL-специфично):

- Запрет пересечения диапазонов или других сложных условий.

 

Пример:

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email TEXT NOT NULL UNIQUE,
  age INT CHECK (age >= 0),
  group_id INT REFERENCES groups(id) ON DELETE CASCADE,
  created_at TIMESTAMPTZ DEFAULT now()
);
  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Postgres

    Postgres

Ключевые слова

#not null

#unique

#primary key

#check

#foreign key

#default

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.