Ответ
Помимо перечисленных, ключевыми ограничениями в SQL являются FOREIGN KEY и DEFAULT.
1. FOREIGN KEY (Внешний ключ)
Обеспечивает ссылочную целостность данных. Связывает поле (или группу полей) в одной таблице (дочерней) с PRIMARY KEY или UNIQUE полем в другой таблице (родительской).
Пример создания:
CREATE TABLE departments (
dept_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE employees (
emp_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
dept_id INT,
CONSTRAINT fk_employee_department
FOREIGN KEY (dept_id)
REFERENCES departments(dept_id)
ON DELETE CASCADE
);
Действия при изменении/удалении (ON DELETE / ON UPDATE):
CASCADE– удалить/обновить связанные строки в дочерней таблице.SET NULL– установитьNULLв дочерней таблице.RESTRICT/NO ACTION– запретить операцию, если есть зависимости.SET DEFAULT– установить значение по умолчанию.
2. DEFAULT
Задает значение по умолчанию для столбца, которое используется, если при вставке строки значение для этого столбца не указано.
Пример:
CREATE TABLE orders (
order_id INT PRIMARY KEY,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20) DEFAULT 'PENDING',
total_amount DECIMAL(10,2) DEFAULT 0.00
);
-- При вставке order_date и status будут заполнены автоматически
INSERT INTO orders (order_id) VALUES (1001);