Препоръчано, 2024

Избор На Редактора

Разлика между супер ключ и ключ за кандидат

Ключовете са основните елементи на всяка релационна база данни. Той идентифицира всеки кортеж във връзка еднозначно. Клавишите също се използват за установяване на връзката между таблиците в схема. В тази статия ще обсъдим два основни ключа на всяка база данни, която е супер ключ и ключ за кандидат. Всеки кандидат ключ е супер ключ, но всеки супер ключ може или не може да бъде ключ за кандидат. Има много други отличителни фактори между супер ключ и кандидат ключ, които накратко обсъдих в таблицата за сравнение по-долу.

Сравнителна таблица

Основа за сравнениеСупер ключКлюч-кандидат
ОсновенЕдин атрибут или набор от атрибути, които уникално идентифицират всички атрибути във отношението, е супер ключ.Подходящо подмножество на супер ключ, което също е супер ключ, е кандидат ключ.
Един в другНе е задължително всички супер ключове да бъдат ключове за кандидати.Всички кандидатски ключове са супер ключове.
селекцияНаборът от супер ключове формира основата за избор на ключове-кандидати.Наборът от ключове-кандидати формира базата за избор на един първичен ключ.
БрояИма сравнително по-свръх ключове във връзка.Има сравнително по-малко кандидатски ключове във връзка.

Дефиниция на Супер ключ

Супер ключът е основен ключ на всяка връзка. Той се дефинира като ключ, който може да идентифицира всички други атрибути във връзка . Супер ключът може да бъде един атрибут или набор от атрибути. Две единици нямат еднакви стойности за атрибутите, които съставят супер ключ. Има поне един или повече такива супер ключове във връзка.

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

Да вземем отношение R (A, B, C, D, E, F); имаме следните зависимости за отношение R и проверихме всеки от тях като супер ключ.

С помощта на клавиша AB можем да идентифицираме останалите атрибути на таблицата, т.е. CDEF . По същия начин, използвайки клавиши CD, ABD, DF и DEF можем да идентифицираме останалите атрибути на таблицата R. Така че всичко това са супер ключове.

Но с помощта на ключов CB можем да намерим само стойности за атрибут D и F, не можем да намерим стойността за атрибути A и E. Следователно, CB не е супер ключ. Същият е случаят с ключ D, не можем да намерим стойностите на всички атрибути в таблицата, използвайки ключ D. Значи, D не е супер ключ.

Определяне на ключ на кандидата

Супер ключ, който е правилно подмножество на друг супер ключ от същата връзка, се нарича минимален супер ключ . Минималният супер ключ се нарича Ключ-кандидат . Подобно на супер ключа, ключът-кандидат също идентифицира всеки кортеж в таблица еднозначно. Атрибутът на кандидат-ключ може да приеме NULL стойност.

Един от ключовете-кандидати се избира като първичен ключ от DBA . При условие, че стойностите на ключовите атрибути трябва да бъдат уникални и да не съдържат NULL. Атрибутите на ключа Кандидат се наричат главни атрибути .

В горния пример, ние открихме Супер ключовете за отношение R. Сега, нека проверим всички супер ключове за ключ на Кандидат.

Супер ключът AB е подходящо подмножество на супер ключ ABD . Така че, когато минималният супер ключ АВ сам по себе си е способен да идентифицира всички атрибути в таблицата, тогава не се нуждаем от по-голям ключ ABD . Следователно, супер ключ AB е кандидат ключ, докато ABD ще бъде само супер ключ.
По същия начин, супер ключ DF също е правилно подмножество на супер ключ DEF . Така че, когато DF е способен сам да идентифицира всички атрибути във връзка, защо се нуждаем от DEF . Следователно, супер ключ DF става кандидат ключ, докато DEF е само супер ключ.

Супер ключовият CD не е подходящо подмножество на който и да е друг супер ключ. Така че, можем да кажем, че CD е минимален супер ключ, който идентифицира всички атрибути във връзка. Следователно, CD е ключ за кандидат.

Докато ключовите CB и D не са супер ключ, така че, те не могат да бъдат кандидат ключ дори. Виждайки горната таблица, можете да заключите, че всеки кандидат ключ е супер ключ, но обратното не е вярно.

Ключови разлики между супер ключ и ключ за кандидат

  1. Един атрибут или набор от атрибути, които могат еднозначно да идентифицират всички атрибути на дадено отношение, се нарича Супер ключ. От друга страна, супер ключ, който е подходящо подмножество на друг супер ключ, се нарича кандидат ключ.
  2. Всички кандидатски ключове са супер ключове, но обратното не е вярно.
  3. Наборът от супер ключове се проверява за намиране на кандидат ключове, докато наборът от ключовете-кандидати се проверява, за да се избере един първичен ключ.
  4. Супер ключовете са сравнително повече от броя на кандидат-ключовете.

Заключение:

Супер ключът е основен ключ на всяка връзка. Те трябва да бъдат нанесени първо преди разпознаването на други ключове за връзката, тъй като те формират базата за други ключове. Ключът-кандидат е важен, тъй като помага при разпознаването на най-важния ключ на всяка връзка, която е първичен ключ.

Top