Информация отсутствует.
Какие ограничения можно установить для столбца таблицы?
Информация отсутствует.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ограничения для столбца таблицы
- SQL и реляционные базы данных
- Constraints поддерживают целостность данных
- NOT NULL — не допускает пустых значений
- UNIQUE — требует уникальности всех значений
- PRIMARY KEY — сочетает уникальность и запрет NULL, а также индексирует столбец
- FOREIGN KEY — связывает столбец с другим столбцом и сохраняет ссылочную целостность
- CHECK — задаёт условие, которому должны соответствовать значения, например возраст > 0
- DEFAULT — подставляет значение по умолчанию, если при вставке оно не указано
- необходимы для защиты от ошибок и соблюдения бизнес-правил при работе с данными
Развёрнутый ответ
Краткий ответ
Ограничения (constraints), заданные для столбцов таблицы базы данных, представляют собой правила проверки данных на уровне СУБД. Они не позволяют сохранять некорректные или повторяющиеся значения и помогают реализовать бизнес-логику непосредственно в схеме.
Основные виды ограничений
- NOT NULL — запрещает сохранять в столбце NULL, поэтому поле обязательно нужно заполнить. Такое ограничение подходит, например, для email или имени пользователя.
- UNIQUE — не допускает одинаковых значений в столбце. Его можно использовать для username или email, когда эти данные должны оставаться уникальными.
- PRIMARY KEY — специальное ограничение, одновременно обеспечивающее уникальность и NOT NULL. Благодаря ему каждая запись однозначно идентифицируется; ключ может включать один или несколько столбцов.
- FOREIGN KEY — ограничение ссылочной целостности. Оно требует, чтобы значения столбца существовали в другой таблице, тем самым формируя связь между таблицами.
- CHECK — позволяет определить собственное условие для значений столбца, например
CHECK (age >= 18)для проверки возраста. - DEFAULT — определяет значение, которое СУБД автоматически использует, если при добавлении записи столбец оставили без значения.
Пример из практики
Например, при создании таблицы users в PostgreSQL 14+ нередко используют вместе PRIMARY KEY (id), UNIQUE (email), NOT NULL (name, email) и CHECK (length(password) >= 8). Такая комбинация проверяет уникальность и обязательность полей, а также минимальную длину пароля. В результате число ошибок в данных сокращается, а прикладная логика становится проще.