В проекте базы данных, составной ключ - это ключ-кандидат, который состоит из двух или более атрибутов (столбцов таблицы), которые вместе однозначно идентифицируют вхождение объекта (строку таблицы). составной ключ - это составной ключ, для которого каждый атрибут, составляющий ключ, сам по себе является простым (внешним ) ключом.
Примером является объект, который представляет модули, которые каждый студент посещает в университете. У объекта есть studentID и moduleCode в качестве первичного ключа. Каждый из атрибутов, составляющих первичный ключ, является простыми ключами, поскольку каждый представляет уникальную ссылку при идентификации учащегося в одном экземпляре и модуля в другом, поэтому этот ключ является составным ключом.
В отличие от этого, используя тот же пример, представьте, что мы идентифицировали учащегося по его firstName + lastName. В таблице, представляющей студентов, наш первичный ключ теперь будет firstName + lastName. Поскольку у студентов могут быть одинаковые firstNames или lastNames, эти атрибуты не являются простыми ключами. Первичный ключ firstName + lastName для учащихся является составным ключом.