Поскольку во всех ответах отсутствуют физические представления, а некоторые из них неполные.Так вот разница по графическому представлению
Объяснение
Супер Ключ
Суперключ - это набор из одного или нескольких ключей, который можно использовать для уникальной идентификации записи в таблице.
Пример : первичный ключ, уникальный ключ, альтернативный ключявляются подмножеством супер-ключей.
Ключ-кандидат
Ключ-кандидат - это набор из одного или нескольких полей / столбцов, которые могут однозначно идентифицировать запись в таблице.В одной таблице может быть несколько ключей-кандидатов.Каждый ключ-кандидат может работать как первичный ключ.
Пример : на приведенной выше диаграмме ID
, RollNo
и EnrollNo
- ключи-кандидаты, поскольку все эти три поля могут работать как первичныеКлюч.
Первичный ключ
Первичный ключ - это набор из одного или нескольких полей / столбцов таблицы, которые однозначно идентифицируют запись в таблице базы данных.Он не может принимать нулевые, повторяющиеся значения.Первичный ключ может быть только один ключ-кандидат.
Альтернативный ключ
Альтернативный ключ - это ключ, который может работать как первичный ключ.По сути, это ключ-кандидат, который в настоящее время не является первичным ключом.
Пример : на приведенной выше диаграмме RollNo
и EnrollNo
становятся альтернативными ключами, когда мы определяем ID
как первичный ключ.
Составной / составной ключ
Составной ключ - это комбинация нескольких полей / столбцов таблицы.Это может быть ключ-кандидат, первичный ключ.
уникальный ключ
уникальный ключ - это набор из одного или нескольких полей / столбцов таблицы, которые однозначно идентифицируют запись втаблица базы данных.Это как первичный ключ, но он может принимать только одно нулевое значение и не может иметь повторяющихся значений.Для получения дополнительной информации см. Статью Разница между первичным ключом и уникальным ключом .
Внешний ключ
Внешний ключ - это поле в таблице базы данных, котороеПервичный ключ в другой таблице.Он может принимать несколько нулевых, повторяющихся значений.Для получения дополнительной помощи обратитесь к статье Разница между первичным ключом и внешним ключом .
Пример : в таблице Employee может быть столбец DeptID
, который указывает наDeptID
столбец в таблице отдела, где он является первичным ключом.
source