Ответ 1
Ключ кандидата - это минимальная суперкарта
Какая разница между клавишами Super и Candidate в ERDB?
Спасибо.
Ключ кандидата - это минимальная суперкарта
Суперклас - это набор столбцов, который однозначно идентифицирует строку. Ключ-кандидат будет MINIMAL-набором столбцов, который однозначно идентифицирует строку. Таким образом, по сути, Superkey является ключом кандидата с лишними лишними столбцами.
Для меня супер-ключ обычно вводил бы двусмысленности над ключом-кандидатом
Пусть он прост
SuperKey. Набор ключей, который однозначно определяет row
. Из всех атрибутов, если даже один из них является unique
, тогда все подмножества, имеющие этот уникальный атрибут, попадают под superkey
.
Ключ кандидата - A superkey
, из которого не может быть получено никакого дополнительного подмножества, которое может идентифицировать rows uniquely
. Или мы просто можем сказать, что это minimal superkey
.
В двух словах: КАНДИДАТНЫЙ КЛЮЧ - минимальный СУПЕР КЛЮЧ.
Где Super key - это комбинация столбцов (или атрибутов), которые однозначно идентифицируют любую запись (или кортеж) в отношении (таблице) в RDBMS.
Например, рассмотрим следующие зависимости в таблице, имеющей столбцы A, B, C и D (приведем эту таблицу только для быстрого примера, чтобы не охватывать все зависимости, которые может иметь R).
Набор атрибутов (определитель) ---Can Identify---> ( зависит )
A-→ AD
B-→ ABCD
C-→ CD
А C-→ ДСА
А B-→ ABCD
AB C-→ ABCD
BCD-→ ABCD
Теперь B, AB, ABC, BCD идентифицируют все столбцы, поэтому эти четыре имеют право на супер ключ.
Но, B⊂AB; B⊂ABC; Следовательно, B⊂BCD AB, ABC и BCD дисквалифицированы для CANDIDATE KEY, поскольку их подмножества могут идентифицировать отношение, поэтому они не минимальны, и, следовательно, только B является ключом-кандидатом, а не другие.