← К оглавлению занятия

🔖 Справочник: Связи и ключи

⚡ Минимум

  • PRIMARY KEY — уникальный идентификатор строки.
  • FOREIGN KEY — ссылка на PK другой таблицы.
  • 1:1, 1:N, M:N — типы связей.
  • M:N требует промежуточной таблицы.

Ограничения ключей

КонструкцияНазначениеПример
PRIMARY KEYУникальный идентификаторid INT PRIMARY KEY
FOREIGN KEYСвязь с другой таблицейFOREIGN KEY (customer_id) REFERENCES customers(id)
NOT NULLЗапрет NULLname VARCHAR(100) NOT NULL
UNIQUEУникальность значенийemail VARCHAR(255) UNIQUE
ON DELETE CASCADEУдаление связанных строкON DELETE CASCADE
ON DELETE SET NULLОбнуление внешнего ключаON DELETE SET NULL

Типы связей

СвязьКак реализуетсяПример
1:1FK с уникальным ограничениемusers ↔ user_profiles
1:NFK в дочерней таблицеcustomers → orders
M:NПромежуточная таблица с двумя FKorders ↔ products через order_details

Создание связанных таблиц

CREATE TABLE customers (
  id INT PRIMARY KEY AUTO_INCREMENT,
  company_name VARCHAR(255) NOT NULL
);

CREATE TABLE orders (
  id INT PRIMARY KEY AUTO_INCREMENT,
  customer_id INT NOT NULL,
  order_date DATE,
  FOREIGN KEY (customer_id) REFERENCES customers(id)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
);

Полный справочник

→ Справочник SQL