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

Автор: Laura McKinney
Дата На Създаване: 1 Април 2021
Дата На Актуализиране: 3 Юли 2024
Anonim
Лекция О. Карпачевой «Байрон: шальной, дурной и опасный для общения» («Романтизм как обман зрения»)
Видео: Лекция О. Карпачевой «Байрон: шальной, дурной и опасный для общения» («Романтизм как обман зрения»)

Съдържание


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

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

  1. Сравнителна диаграма
  2. дефиниция
  3. Ключови разлики
  4. заключение

Сравнителна диаграма

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


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

Първичен ключ е атрибут или набор от атрибути, които ще идентифицират уникално всеки кортеж във връзка. Може да има само един първичен ключ за всяка връзка. Трябва да се внимава първичен ключ никога съдържат a НУЛА стойност и тя трябва да има уникален стойност за всеки кортеж във връзката. Стойностите на атрибута / ите на първичния ключ трябва да бъдат статичент.е. стойността на атрибута не трябва никога или рядко да се променя.

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

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


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

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

Студент {ID, име, фамилия, възраст, адрес}

Тук първо ще измислим ключовете на кандидата. Разбрах две кандидат ключове {ДОКУМЕНТ ЗА САМОЛИЧНОСТ} и {Име, фамилия} тъй като те ще идентифицират по уникален начин всеки ученик във връзка Student. Сега, тук ще избера документ за самоличност като мой основен ключ, защото понякога може да се случи, че двама студенти могат да имат едно и също име и фамилия, така че ще бъде лесно да се проследи ученик с неговите документ за самоличност.

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

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

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

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

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

Студент {ID, име, фамилия, възраст, адрес, DOB, име на отдел}

Тук мога да разбера две кандидат ключове, които са {ДОКУМЕНТ ЗА САМОЛИЧНОСТ}, {Име, Фамилия, DOB}, Така че можете да разберете, че ключовете за кандидатите са тези, които еднозначно идентифицират кортеж във връзка.

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

Заключение:

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