Разница между первичным ключом и супер ключом
Предварительное условие - ключи в реляционной модели
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. |