Клавиша Superkey против кандидата

Какая разница между клавишами Super и Candidate в ERDB?

Спасибо.

Ответы

Ответ 1

Ключ кандидата - это минимальная суперкарта

Ответ 2

Суперклас - это набор столбцов, который однозначно идентифицирует строку. Ключ-кандидат будет MINIMAL-набором столбцов, который однозначно идентифицирует строку. Таким образом, по сути, Superkey является ключом кандидата с лишними лишними столбцами.

Ответ 3

  • Ключ кандидата = минимальный ключ для определения строки
  • Супер ключ = не менее, чем ключ кандидата.

Для меня супер-ключ обычно вводил бы двусмысленности над ключом-кандидатом

Ответ 4

Пусть он прост

SuperKey. Набор ключей, который однозначно определяет row. Из всех атрибутов, если даже один из них является unique, тогда все подмножества, имеющие этот уникальный атрибут, попадают под superkey.

Ключ кандидата - A superkey, из которого не может быть получено никакого дополнительного подмножества, которое может идентифицировать rows uniquely. Или мы просто можем сказать, что это minimal superkey.

Ответ 5

В двух словах: КАНДИДАТНЫЙ КЛЮЧ - минимальный СУПЕР КЛЮЧ.

Где 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 является ключом-кандидатом, а не другие.