Разница между первичным ключом и супер ключом

Опубликовано: 16 Августа, 2021

Предварительное условие - ключи в реляционной модели
1. Супер ключ:
Супер ключ - это атрибут (или набор атрибутов), который используется для однозначной идентификации всех атрибутов в отношении. Все супер-ключи не могут быть кандидатами, но верно и обратное. В отношении, количество суперключей больше, чем количество ключей-кандидатов.

Пример:
У нас есть заданное отношение R (A, B, C, D, E, F), и мы будем проверять, являются ли они суперключами, следуя заданным зависимостям:

 Функциональные зависимости Супер ключ
AB-> CDEF ДА
CD-> ABEF ДА
CB-> DF NO
D-> BC НЕТ

Используя ключ AB, мы можем идентифицировать остальные атрибуты (CDEF) таблицы. Аналогично Key CD. Но, используя ключ CB, мы можем идентифицировать только D и F, а не A и E. Аналогично клавише D.

2. Первичный ключ:
Ключ кандидата - это набор атрибутов (или атрибута), которые однозначно идентифицируют кортежи в отношении или таблице. Может быть несколько ключей-кандидатов, из которых один может быть выбран в качестве первичного ключа.

Пример:

 Студент {Stud_No, Stud_name, Stud_phone, 
             Stud_state, Stud_country, Stud_age}

Здесь мы видим два возможных ключа Stud_No и Stud_phone. STUD_No может быть выбран в качестве первичного ключа (только один из многих ключей-кандидатов).

Разница между супер-ключом и первичным ключом:

S.NO Супер ключ Первичный ключ
1. Супер ключ - это атрибут (или набор атрибутов), который используется для однозначной идентификации всех атрибутов в отношении. Первичный ключ - это минимальный набор атрибутов (или набор атрибутов), который используется для однозначной идентификации всех атрибутов в отношении.
2. Все супер-ключи не могут быть первичными. Первичный ключ - это минимальный супер ключ.
3. Различные супер-ключи вместе составляют критерии для выбора ключей-кандидатов. Мы можем выбрать любой из минимальных ключей-кандидатов в качестве первичного ключа.
4. В отношении, количество супер ключей больше, чем количество первичных ключей. В то время как в отношении количество первичных ключей меньше количества супер ключей.
5. Атрибуты супер ключа могут содержать значения NULL. Атрибуты первичного ключа не могут содержать значения NULL.