junior
Какие ограничения на целостность данных существуют в SQL?
Ограничения целостности (constraints) — правила, которые СУБД автоматически проверяет при вставке, обновлении и удалении данных, не позволяя привести базу в некорректное состояние.
| Ограничение | Назначение | Тип целостности |
|---|---|---|
PRIMARY KEY |
Уникальная идентификация записи | Целостность сущности |
UNIQUE |
Отсутствие дубликатов в столбце/наборе столбцов | Целостность сущности |
FOREIGN KEY |
Связь между таблицами | Ссылочная целостность |
CHECK |
Ограничение допустимых значений | Целостность предметной области |
NOT NULL |
Запрет пустых значений | Целостность предметной области |
PRIMARY KEY— набор полей (один или более), значения которых образуют уникальную комбинацию для однозначной идентификации записи. Для таблицы может быть создан только один первичный ключ. Автоматически создаёт уникальный индекс и подразумеваетNOT NULL.UNIQUE— гарантирует отсутствие дубликатов в столбце или наборе столбцов. В отличие отPRIMARY KEY, допускаетNULL-значения.FOREIGN KEY— указывает наPRIMARY KEYдругой таблицы, защищая от действий, нарушающих связи между таблицами (например, удаление записи, на которую ссылаются).CHECK— задаёт условие, которому должно удовлетворять значение столбца (например,CHECK (age >= 0)).NOT NULL— запрещает хранениеNULLв столбце, гарантируя наличие значения.
На собеседовании: перечислите все пять ограничений и объясните, какой тип целостности каждое из них обеспечивает. Частая ошибка — забыть
NOT NULLилиCHECK.