Что такое ограничения (constraints) в БД

«Что такое ограничения (constraints) в БД» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ограничения в БД — это правила, накладываемые на данные в таблицах для обеспечения целостности и согласованности. Основные типы:

  1. PRIMARY KEY — уникальный идентификатор строки (не NULL, уникален)
CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));
  1. FOREIGN KEY — связь между таблицами
CREATE TABLE orders (id INT, user_id INT, FOREIGN KEY (user_id) REFERENCES users(id));
  1. UNIQUE — уникальность значений в столбце
CREATE TABLE products (id INT, sku VARCHAR(50) UNIQUE);
  1. NOT NULL — запрет на NULL-значения
CREATE TABLE employees (id INT, name VARCHAR(50) NOT NULL);
  1. CHECK — проверка значений по условию
CREATE TABLE students (age INT CHECK (age >= 18));

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