Потенциален ключ

Представяме си един UNIQUE ключ. Ако махнем едно поле и уникалността се запази – това е Супер ключ. Ако се счупи – това е Потенциален ключ.

Супер ключ е нещо като лошо дефиниран UNIQUE ключ, тоест – има излишни атрибути, които и да махнем от този UNIQUE ключ, няма да счупим начинът, по който можем уникално да определим даденият запис.

Разликата между Супер ключ и Потенциален ключ е, че единият удовлетворява само изискването за уникалност, другият – и за минималност.

Потенциално, всеки от Потенциалните ключове може да е Първичен ключ, принципна разлика между двете няма.

Просто си задай въпроса: „Кое поле, или минимална комбинация от полета, може да ми гарантира уникалността на реда“, и това е.

Eто пример, това са възможните Супер ключове:
{p_id}
{p_id, p_firstname}
{p_id, p_surname}
{p_id, p_firstname, p_surname}

Koй е Потенциалният ключ?
{p_id} защото отговаря и на изискването за уникалност, и за минималност.

Prime attribute са тези полета, които са част от някои от Потенциалните ключове.

Съответно, Non-prime attributes са такива, които дори и да са част от някой от Супер ключовете, не са част от никой от Потенциалните ключове.

Литература:

https://en.wikipedia.org/wiki/Candidate_key

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *