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

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

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

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

Има още няколко разлики между Основния и Кандидатския ключ, които ще обсъдя с помощта на таблицата за сравнение, показана по-долу.

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

Основа за сравнениеОсновен ключКлюч-кандидат
ОсновенВъв всяка връзка може да има само един първичен ключ.Във връзка може да има повече от един кандидат ключ.
НУЛАНикой атрибут на първичен ключ не може да съдържа NULL стойност.Атрибутът на ключа Кандидат може да има стойност NULL.
ПосочетеНе е задължително да се посочи първичен ключ за всяка връзка.Не може да има връзка без зададен ключ за кандидат.
ОсобеностПървичният ключ описва най-важния атрибут на връзката.Клавишите-кандидати представят кандидати, които могат да се класират за първичен ключ.
ОбратноПървичен ключ е ключ за кандидат.Но не е задължително всеки ключов кандидат да бъде първичен ключ.

Дефиниция на първичен ключ

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

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

Ако дадено отношение съдържа атрибут, който е първичен ключ на някаква друга връзка, тогава този атрибут се нарича външен ключ .

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

Сега нека видим пример за първичен ключ.

 Студент {ID, First_name, Last_name, Age, Address} 

Тук първо ще разберем ключовете за кандидати. Измислих два кандидат-ключа {ID} и {First_name, Last_name}, тъй като те еднозначно ще идентифицират всеки ученик в отношението Студент. Сега тук ще избера ИД като основен ключ, защото понякога може да се случи, че двама ученици могат да имат едно и също име и фамилия, така че ще бъде лесно да се проследи ученик с неговата лична карта .

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

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

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

Ако всички кандидатстващи ключове се класират за първичен ключ, тогава опитен DBA трябва да вземе решение да изчисли първичния ключ. Никога не може да има връзка без ключ на кандидат.

Нека да разберем кандидатския ключ с пример. Ако добавим още атрибути към отношението на студента, аз обсъдих по-горе.

 Студентски {ID, First_name, Last_name, Age, Address, DOB, име на отдела} 

Тук мога да разбера два кандидат-ключа, които са {ID}, {First_name, Last_name, DOB} . Така че можете да разберете, че ключовете-кандидати са такива, които уникално идентифицират кортеж във връзка.

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

  1. Основната точка, която отличава първичен ключ от ключ-кандидат е, че може да има само един основен за всяка връзка в схема. Обаче, може да има няколко клавиши-кандидати за една връзка.
  2. Атрибутът под първичен ключ никога не може да съдържа NULL стойност, тъй като основната функция на първичния ключ е да идентифицира еднозначно запис във връзка. Дори първичен ключ може да бъде използван като външен ключ в друга връзка, и следователно той не трябва да бъде NULL, така че референтната връзка може да намери кортежите в референтна връзка. Ключът-кандидат може да бъде NULL, освен ако ограничението на атрибута не е посочено като null.
  3. Не е задължително да се посочи първичен ключ, но не може да има връзка без ключове-кандидати.
  4. Първичният ключ описва уникалния и най-важен атрибут на отношението, докато кандидатските ключове осигуряват кандидатите, сред които един може да бъде избран като първичен ключ.
  5. Всеки първичен ключ е ключ за кандидат, но обратното не е вярно.

Заключение:

Не е задължително за отношение да се посочи първичен ключ. От друга страна, ако декларирате връзка, ключовете-кандидати трябва да присъстват в тази връзка, за да се изгради добра връзка.

Top