Встречается на собеседованиях • сегодня

Какие знаешь ограничения уникальности в БД

В БД есть несколько типов ограничений уникальности:

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

    sql
    CREATE TABLE users (
        email VARCHAR(255) UNIQUE,
        username VARCHAR(50) UNIQUE
    );
  2. PRIMARY KEY – автоматически подразумевает UNIQUE и NOT NULL.

    sql
    CREATE TABLE products (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100)
    );
  1. UNIQUE INDEX – создаёт индекс для ускорения проверки уникальности.

    sql
    CREATE UNIQUE INDEX idx_employee_code ON employees(employee_code);
  2. Составной UNIQUE – уникальность по комбинации столбцов.

    sql
    ALTER TABLE orders ADD CONSTRAINT unique_order_user 
    UNIQUE (order_id, user_id);

Нюансы:

  • NULL значения считаются уникальными (могут дублироваться, если столбец не NOT NULL).
  • Вставка дубликата вызывает ошибку IntegrityError (в SQLAlchemy – sqlalchemy.exc.IntegrityError).
  • В PostgreSQL можно создать частичный уникальный индекс (WHERE условие).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы