Составной первичный ключ — это первичный ключ, состоящий из двух или более столбцов, которые вместе уникально идентифицируют каждую строку в таблице. Ни один отдельный столбец не гарантирует уникальность сам по себе.
CREATE TABLE order_items (
order_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (order_id, product_id)
);
Здесь ни order_id ни product_id сами по себе не являются уникальными — но их комбинация уникальна.
id) упрощает внешние ключи в других таблицахИспользуй составной первичный ключ, когда комбинация столбцов имеет естественную, осмысленную уникальность в твоей предметной области. В остальных случаях простой суррогатный ключ из одного столбца зачастую проще поддерживать и использовать.
Составной первичный ключ требует, чтобы каждый отдельный столбец в его составе содержал уникальные значения во всех строках таблицы.
Новый — ещё не проверен сообществом
Вы