Проверяет понимание концепции составного первичного ключа в реляционных базах данных и его применения.
В реляционных базах данных первичный ключ (PRIMARY KEY) используется для уникальной идентификации каждой записи в таблице. Обычно это один столбец, например, идентификатор пользователя. Однако в некоторых случаях ни один отдельный столбец не может гарантировать уникальность. Тогда применяется составной первичный ключ, который объединяет несколько столбцов. Уникальность проверяется по всей комбинации значений: каждая пара (или тройка и т.д.) значений должна быть уникальной.
Составные ключи часто используются в таблицах-связках (junction tables) для реализации отношений «многие ко многим». Например, таблица заказов и товаров: один заказ может содержать много товаров, и один товар может быть в многих заказах. Таблица order_items будет иметь составной ключ из order_id и product_id.
CREATE TABLE order_items (
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
PRIMARY KEY (order_id, product_id)
);Здесь пара (order_id, product_id) уникальна: один и тот же товар не может быть дважды в одном заказе, но может быть в разных заказах.
Составной первичный ключ — мощный инструмент для моделирования сложных связей и обеспечения целостности данных. Его стоит применять, когда уникальность записи определяется комбинацией нескольких атрибутов, особенно в таблицах-связках.