Въведение в СУБД ключове
СУБД ключовете ни помагат да намерим връзка между две таблици на базата данни. Помага ни уникално да идентифицираме кортеж (ред) във връзка (таблица) с помощта на колона или група колони в тази конкретна таблица.
Различни видове ключове в СУБД
В СУБД има много ключове. Нека да разгледаме важните клавиши и тяхната функционалност.
- Супер ключ
- Ключ на кандидата
- Първичен ключ
- Алтернативен ключ
- Външен ключ
- Сложен ключ
- Сурогат ключ
1) Супер ключ
Супер клавишът е или единичен ключ, или набор от ключове, който помага при идентифицирането на отделни редове в определена таблица. Супер ключът може да има допълнителни атрибути, които са излишни за ясно идентифициране.
Нека да разгледаме пример, в който EmpId и мобилните номера могат да се считат за супер ключове.
2) Ключ на кандидата
Ако Super Key няма никакъв дублиращ се атрибут, той е известен като Ключ за кандидат. Основният ключ се избира внимателно след разглеждане от дадените ключове Candidate. Всички таблици трябва да имат поне един кандидат-ключ. Има няколко правила, които трябва да спазваме по отношение на избора на кандидат-ключ. Те са:
- Ключът кандидат трябва да се състои от отличителни стойности.
- Ключът на кандидата може да има различни атрибути.
- Ключът кандидат не може да се състои от нулеви стойности.
- Ключът кандидат трябва да идентифицира уникално всеки ред в таблицата.
Нека да разгледаме пример на таблица, където Emp Id, Mobile No и Email са ключовете Candidate. Тези клавиши ни помагат да идентифицираме ясно всеки ред на служители в таблицата.
3) Първичен ключ
Първичният ключ е колона или комбинация от колони във връзка, която ни помага да идентифицираме уникално ред в тази конкретна таблица. Не може да има дубликати в първичен ключ, което означава, че не може да има две еднакви стойности в таблицата. Имаме няколко правила за избор на ключ като първичен ключ. Те са:
- Полето за първичен ключ не може да бъде оставено NULL и е необходимо колоната за първичен ключ да държи стойност.
- Всеки два реда в таблицата не може да има идентични стойности за тази колона.
- В случай че чужд ключ се отнася до първичния ключ, тогава никоя стойност в тази колона на първичен ключ не може да бъде променена или модифицирана.
Нека да разгледаме пример на таблица, където Emp Id е първичен ключ.
4) Алтернативен ключ
Таблицата може да има повече от една опция за избор на ключ като първичен ключ. Всеки ключ, който може да бъде първичен ключ, но в момента не е първичен ключ, е известен като алтернативен ключ. Това е кандидат-ключ, който не е избран за първичен ключ.
Нека да разгледаме един пример, където EmpId, имейл и мобилен номер са кандидат-ключове и могат да бъдат първичен ключ. Но тъй като Emp Id е първичен ключ, така че имейл и мобилен номер стават алтернативния ключ.
5) Външен ключ
Чуждите ключове ни помагат да установим връзки с други таблици. Нарича се още Референтна интегритет. Графа с чужд ключ може да се добави към таблица, за да се установи тази връзка. Те ни помагат да поддържаме целостта на данните и позволяват лесна навигация между всякакви случаи на две единици.
Нека да разгледаме пример, състоящ се от две таблици, таблица на служители и отдели.
Таблица: Отдел
Таблица: Служител
В момента нямаме представа за отделите, в които работят служителите. Като добавим DeptId към таблицата на служителите, можем да установим връзка между таблицата на служителя и таблицата на отдела. Тук таблицата DeptId на служителя става външен ключ, а DeptId от таблицата на отдела става първичен ключ за тази таблица.
Таблица: Служител с DeptId като чужд ключ
6) Сложен ключ
Съставният ключ е първичен ключ, който не се състои от една колона, а две или повече колони, които ни позволяват ясно да идентифицираме конкретен ред. За комбиниран ключ нямаме колона, която да е уникална сама по себе си; следователно трябва да комбинираме две или повече колони, за да ги направим уникални.
Нека разгледаме пример на таблица, състояща се от подробности за продукта и продукта. В тази таблица можем да видим, че един продукт може да бъде поръчан от повече от един клиент и повече от един продукт може да присъства в ред. Следователно трябва да комбинираме както OrderId, така и ProductId, за да създадем уникален начин за идентифициране на реда.
7) Сурогат ключ
Възможно е да възникне ситуация, в която определена таблица няма първичен ключ. В този случай използваме Сурогат ключ, който е изкуствен ключ, който може ясно да идентифицира всеки ред в таблицата. Сурогатните ключове се използват конкретно, когато нямаме естествен първичен ключ. Те не предоставят никаква връзка с данните от таблицата и обикновено са серийно подредени цели числа.
В този пример имаме данните за служителите и техните срокове за смяна. Затова използваме сурогатния ключ, за да идентифицираме уникално всеки ред.
В тази статия видяхме няколко от най-важните СУБД ключове, как те са различни и кога се използват.
Препоръчителни статии
Това е ръководство за СУБД ключове. Тук обсъждаме ключовете на системата за управление на база данни, която включва супер ключ, първичен ключ, чужд ключ и т.н., заедно с примери. Може да разгледате и следните статии, за да научите повече -
- Модели на данни в СУБД
- Въпроси за интервю за RDBMS
- Инструмент за интегриране на данни
- Какво е стеганография?