Въведение в СУБД ключове

СУБД ключовете ни помагат да намерим връзка между две таблици на базата данни. Помага ни уникално да идентифицираме кортеж (ред) във връзка (таблица) с помощта на колона или група колони в тази конкретна таблица.

Различни видове ключове в СУБД

В СУБД има много ключове. Нека да разгледаме важните клавиши и тяхната функционалност.

  1. Супер ключ
  2. Ключ на кандидата
  3. Първичен ключ
  4. Алтернативен ключ
  5. Външен ключ
  6. Сложен ключ
  7. Сурогат ключ

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) Сурогат ключ

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

В този пример имаме данните за служителите и техните срокове за смяна. Затова използваме сурогатния ключ, за да идентифицираме уникално всеки ред.

В тази статия видяхме няколко от най-важните СУБД ключове, как те са различни и кога се използват.

Препоръчителни статии

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

  1. Модели на данни в СУБД
  2. Въпроси за интервю за RDBMS
  3. Инструмент за интегриране на данни
  4. Какво е стеганография?