СУБД ключове: Кандидат, Супер, Първичен, Типове външни ключове с пример

Какво представляват ключовете в СУБД?

КЛЮЧОВЕ в СУБД е атрибут или набор от атрибути, който ви помага да идентифицирате ред (кортеж) в релация (таблица). Те ви позволяват да намерите връзката между две таблици. Ключовете ви помагат да идентифицирате уникално ред в таблица чрез комбинация от една или повече колони в тази таблица. Ключът също е полезен за намиране на уникален запис или ред от таблицата. Ключът на базата данни също е полезен за намиране на уникален запис или ред от таблицата.

Пример:

Идентификационен номер на служителя малко име фамилия
11 Андрю Джонсън
22 том дърво
33 Alex Здрав

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

Защо имаме нужда от ключ?

Ето някои причини за използването на sql ключ в СУБД системата.

  • Ключовете ви помагат да идентифицирате всеки ред от данни в таблица. В приложение от реалния свят една таблица може да съдържа хиляди записи. Освен това записите могат да бъдат дублирани. Ключовете в RDBMS гарантират, че можете уникално да идентифицирате запис на таблица въпреки тези предизвикателства.
  • Позволява ви да установите връзка между и да идентифицирате връзката между таблиците
  • Помогнете ви да наложите идентичност и почтеност във връзката.

Типове ключове в СУБД (система за управление на бази данни)

Има основно осем различни типа ключове в СУБД и всеки ключ има своя различна функционалност:

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

Нека разгледаме всеки от ключовете в СУБД с пример:

  • Супер ключ – Супер ключът е група от единични или множество ключове, които идентифицират редове в таблица.
  • Първичен ключ – е колона или група от колони в таблица, които уникално идентифицират всеки ред в тази таблица.
  • Ключ на кандидата – е набор от атрибути, които уникално идентифицират кортежи в таблица. Ключът за кандидат е супер ключ без повтарящи се атрибути.
  • Алтернативен ключ – е колона или група от колони в таблица, които уникално идентифицират всеки ред в тази таблица.
  • Външен ключ – е колона, която създава връзка между две таблици. Целта на външните ключове е да поддържат целостта на данните и да позволяват навигация между два различни екземпляра на обект.
  • Съставен ключ – има два или повече атрибута, които ви позволяват да разпознаете уникално конкретен запис. Възможно е всяка колона да не е уникална сама по себе си в базата данни.
  • Композитен ключ – е комбинация от две или повече колони, които уникално идентифицират редове в таблица. Комбинацията от колони гарантира уникалност, но индивидуалната уникалност не е гарантирана.
  • Сурогатен ключ – Изкуствен ключ, който има за цел да идентифицира уникално всеки запис, се нарича сурогатен ключ. Този тип ключове са уникални, защото се създават, когато нямате естествен първичен ключ.

Какво е Супер ключът?

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

Пример:

EmpSSN EmpNum Empname
9812345098 AB05 посочен
9876512345 AB06 Рослин
199937890 AB07 Джеймс

В дадения по-горе пример EmpSSN и EmpNum име са суперключове.

Какво е първичен ключ?

ОСНОВЕН КЛЮЧ in СУБД е колона или група от колони в таблица, които уникално идентифицират всеки ред в тази таблица. Първичният ключ не може да бъде дубликат, което означава, че една и съща стойност не може да се появява повече от веднъж в таблицата. Една таблица не може да има повече от един първичен ключ.

Правила за дефиниране на първичен ключ:

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

Пример:

В следния пример StudID е първичен ключ.

StudID Рол № Собствено име фамилия Имейл
1 11 том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

Какво представлява алтернативният ключ?

АЛТЕРНАТИВНИ КЛЮЧОВЕ е колона или група от колони в таблица, които уникално идентифицират всеки ред в тази таблица. Една таблица може да има множество възможности за избор на първичен ключ, но само един може да бъде зададен като първичен ключ. Всички ключове, които не са първичен ключ, се наричат ​​алтернативен ключ.

Пример:

В тази таблица StudID, Roll No, Email са квалифицирани да станат първичен ключ. Но тъй като StudID е първичният ключ, Roll No, Email става алтернативният ключ.

StudID Рол № Собствено име фамилия Имейл
1 11 том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

Какво е ключ за кандидат?

КАНДИДАТ КЛЮЧ в SQL е набор от атрибути, които уникално идентифицират кортежи в таблица. Ключът за кандидат е супер ключ без повтарящи се атрибути. Първичният ключ трябва да бъде избран от кандидат ключовете. Всяка таблица трябва да има поне един кандидат ключ. Една таблица може да има множество кандидат-ключове, но само един първичен ключ.

Свойства на кандидат ключ:

  • Трябва да съдържа уникални стойности
  • Кандидат ключът в SQL може да има множество атрибути
  • Не трябва да съдържа нулеви стойности
  • Трябва да съдържа минимум полета, за да се гарантира уникалност
  • Уникално идентифициране на всеки запис в таблица

Пример за ключ на кандидат: В дадената таблица Stud ID, Roll No и имейл са ключове на кандидати, които ни помагат да идентифицираме еднозначно записа на ученика в таблицата.

StudID Рол № Собствено име фамилия Имейл
1 11 том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com

Ключ на кандидата
Кандидат ключ в СУБД

Какво е външният ключ?

ВЪНШЕН КЛЮЧ е колона, която създава връзка между две таблици. Целта на външните ключове е да поддържат целостта на данните и да позволяват навигация между два различни екземпляра на обект. Той действа като кръстосана препратка между две таблици, тъй като препраща към първичния ключ на друга таблица.

Пример:

DeptCode DeptName
001 Наука
002 английски
005 компютър
ID на учителя Fname Lname
B002 David Warner
B017 Сара Джоузеф
B009 микрофон Брантън

В този пример за ключ в dbms имаме две таблици, преподаване и отдел в училище. Няма начин обаче да се види коя работа за търсене в кой отдел.

В тази таблица, добавяйки външния ключ в Deptcode към името на учителя, можем да създадем връзка между двете таблици.

ID на учителя DeptCode Fname Lname
B002 002 David Warner
B017 002 Сара Джоузеф
B009 001 микрофон Брантън

Тази концепция е известна още като референтна Integrity.

Какво представлява ключът Compound?

СЪЕДИНЕН КЛЮЧ има два или повече атрибута, които ви позволяват да разпознаете уникално конкретен запис. Възможно е всяка колона да не е уникална сама по себе си в базата данни. Въпреки това, когато се комбинира с другата колона или колони, комбинацията от съставни ключове става уникална. Целта на съставния ключ в базата данни е да идентифицира уникално всеки запис в таблицата.

Пример:

Поръчка № ID на продукт Име на продукта Количество
B005 JAP102459 мишка 5
B005 DKT321573 USB 10
B005 OMG446789 LCD монитор 20
B004 DKT321573 USB 15
B002 OMG446789 Лазерен принтер 3

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

Какво представлява композитният ключ?

КОМПОЗИТЕН КЛЮЧ е комбинация от две или повече колони, които уникално идентифицират редове в таблица. Комбинацията от колони гарантира уникалност, въпреки че индивидуалната уникалност не е гарантирана. Следователно те се комбинират, за да идентифицират уникално записите в таблица.

Разликата между съставния и съставния ключ е, че всяка част от съставния ключ може да бъде външен ключ, но съставният ключ може или не може да бъде част от външния ключ.

Какво е сурогатен ключ?

ЗАМЕСТВАЩИ КЛЮЧОВЕ е Изкуствен ключ, който има за цел да идентифицира уникално всеки запис, се нарича сурогатен ключ. Този вид частичен ключ в dbms е уникален, защото се създава, когато нямате естествен първичен ключ. Те не придават никакво значение на данните в таблицата. Сурогатният ключ в СУБД обикновено е цяло число. Сурогатният ключ е стойност, генерирана точно преди записът да бъде вмъкнат в таблица.

Fname Фамилно име Начален час Край
Ан Ковач 09:00 18:00
крик Франсис 08:00 17:00
Anna Маклийн 11:00 20:00
посочен Уилям 14:00 23:00

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

Сурогатни ключове SQL са разрешени, когато

  • Нито едно свойство няма параметъра на първичния ключ.
  • В таблицата, когато първичният ключ е твърде голям или сложен.

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

Следва основната разлика между първичен ключ и външен ключ:

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

Oбобщение

  • Какво е ключ в СУБД: Ключът в СУБД е атрибут или набор от атрибути, който ви помага да идентифицирате ред (кортеж) в релация (таблица)
  • Ключове RDBMS ви позволяват да установите връзка между и да идентифицирате връзката между таблиците
  • Осем вида ключове в СУБД са супер, първичен, кандидат, алтернативен, чужд, сложен, съставен и сурогатен ключ.
  • Супер ключът е група от единични или множество ключове, които идентифицират редове в таблица.
  • Колона или група от колони в таблица, която ни помага да идентифицираме уникално всеки ред в тази таблица, се нарича първичен ключ
  • Всички различни ключове в СУБД, които не са първичен ключ, се наричат ​​алтернативен ключ
  • Супер ключ без повтарящ се атрибут се нарича кандидат ключ
  • Сложният ключ е ключ, който има много полета, които ви позволяват да разпознаете уникално конкретен запис
  • Ключ, който има множество атрибути за уникално идентифициране на редове в таблица, се нарича съставен ключ
  • Изкуствен ключ, който има за цел да идентифицира уникално всеки запис, се нарича сурогатен ключ
  • Първичният ключ никога не приема нулеви стойности, докато външен ключ може да приема множество нулеви стойности.