А кандидат ключ е част от ключ, известен като Супер ключ ( разгледани в предишния раздел ), където супер ключът е супер наборът от всички онези атрибути, които могат уникално да идентифицират таблица.
Тук ще обсъдим кандидат ключ, неговата роля, както и употребата му. Ще разгледаме и някои примери, които ще ни помогнат да разберем по-добре концепцията за кандидат ключ.
c# дата и час
Какво е ключ за кандидат
Кандидат-ключът е подмножество от суперключов набор, където ключът, който не съдържа излишен атрибут, не е нищо друго освен Ключ на кандидата . За да изберем кандидат ключовете от набора от супер ключове, трябва да разгледаме набора от супер ключове.
Роля на кандидат ключ
Ролята на кандидат-ключа е да идентифицира уникално ред или колона на таблица. Освен това стойността на кандидат ключ не може да бъде Null. Описанието на кандидат ключ е „без излишни атрибути“ и е „минимално представяне на кортеж“, според експертите.
Как ключът кандидат е различен от първичния ключ
Въпреки че целта както на кандидата, така и на първичния ключ е една и съща, а именно уникалното идентифициране на кортежите, а след това те също са различни един от друг. Това е така, защото в една таблица можем да имаме един или повече от един кандидат ключ, но можем да създадем само един първичен ключ за таблица. По този начин, от броя на получените кандидат-ключове, можем да идентифицираме подходящия първичен ключ. Въпреки това, ако има само един кандидат-ключ в таблица, тогава той може да се вземе предвид и за двете ключови ограничения.
Пример за ключ на кандидат
Нека да разгледаме същия пример, взет при обсъждането на Super Key, за да разберем работата на кандидат ключ.
Имаме EMPLOYEE_DETAIL таблица, където имаме следните атрибути:
Emp_SSN: SSN номерът се съхранява в това поле.
актьор Ранбир Капур възраст
Emp_Id: Атрибут, който съхранява стойността на идентификационния номер на служителя.
низ към int java
Emp_name: Атрибут, който съхранява името на служителя, притежаващ посочения идентификатор на служител.
Emp_имейл: Атрибут, който съхранява имейл адреса на посочените служители.
The EMPLOYEE_DETAIL по-долу е дадена таблица, която ще ви помогне да разберете по-добре:
И така, от горната таблица получихме дадените по-долу супер ключове (обсъдени в предишния раздел):
Сега, от тези набори от супер ключове, можем да заключим кандидат ключовете. За да вземем кандидат-ключовете, най-добрият начин е да анализираме и формираме първичните ключове, доколкото можем. И така, трябва да идентифицираме тези набори от наборите супер ключове, които сами могат да идентифицират цялата таблица, или можем да кажем другите атрибути на таблицата. Така резултатът е:
И така, това са трите получени атрибута, които могат да идентифицират другите непрости атрибути на таблицата. Всичко това са кандидат-ключовете и от тях можем да изберем най-подходящия атрибут, който може лесно да идентифицира всички записи на таблицата, която ще бъде описана като първичен ключ.
Разлика между кандидат ключ и супер ключ
От горните дискусии можем да имаме следните разлики:
charat java
Супер ключ | Ключ на кандидата |
---|---|
Това е надмножеството на всички такива атрибути, които могат уникално да идентифицират таблицата. | Това е подмножеството или частта от супер ключа. |
Изобщо не е задължително всички супер ключове да са кандидат ключове. | От друга страна, всички кандидат ключове са супер ключове. |
Атрибутът на супер ключ може да бъде NULL, което означава, че стойностите му могат да бъдат NULL. | Атрибут, съдържащ кандидат-ключ, никога не може да бъде NULL, което означава, че стойностите му не могат да бъдат NULL. |
Всички супер ключове се образуваха заедно, за да донесат кандидат ключовете. | По същия начин кандидат-ключовете се обединяват, за да създадат първични ключове. |
Броят на образуваните супер ключове винаги се вижда повече. | Тук кандидат ключовете са по-малко от супер ключовете. |
По този начин супер ключът е супер наборът, кандидат ключът е подмножеството, а първичният ключ е подподмножеството на суперключа.