DBMS ключове: кандидат, супер, първичен, чуждестранен (пример)

Съдържание:

Anonim

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

KEYS в DBMS е атрибут или набор от атрибути, който ви помага да идентифицирате ред (кортеж) в релация (таблица). Те ви позволяват да намерите връзката между две таблици. Клавишите ви помагат да идентифицирате уникално ред в таблица чрез комбинация от една или повече колони в тази таблица. Ключът е полезен и за намиране на уникален запис или ред от таблицата. Ключът към базата данни също е полезен за намиране на уникален запис или ред от таблицата.

Пример:

ИД на служител Първо име Фамилия
11. Андрю Джонсън
22. Том дърво
33 Алекс Хейл

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

В този урок ще научите:

  • Какво представляват ключовете?
  • Защо ни трябва ключ?
  • Различни ключове в системата за управление на база данни
  • Какво е супер ключ?
  • Какво е първичен ключ?
  • Какво е алтернативен ключ?
  • Какво е ключът на кандидата?
  • Какво е външен ключ?
  • Какво е Compound key?
  • Какво е Composite key?
  • Какво е сурогатен ключ?
  • Разлика между първичен ключ и външен ключ

Защо ни трябва ключ?

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

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

Видове ключове в системата за управление на база данни

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

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

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

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

Пример:

EmpSSN EmpNum Empname
9812345098 AB05 Показани
9876512345 AB06 Рослин
199937890 AB07 Джеймс

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

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

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

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

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

Пример:

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

StudID Roll No Първо име Фамилия електронна поща
1 11. Том Цена Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
2 12 Ник Райт Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
3 13 Дана Натан Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.

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

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

Пример:

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

StudID Roll No Първо име Фамилия електронна поща
1 11. Том Цена Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
2 12 Ник Райт Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
3 13 Дана Натан Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.

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

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

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

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

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

StudID Roll No Първо име Фамилия електронна поща
1 11. Том Цена Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
2 12 Ник Райт Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.
3 13 Дана Натан Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите.

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

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

Пример:

DeptCode DeptName
001 Наука
002 Английски
005 Компютър
Идентификатор на учителя Fname Lname
B002 Дейвид Уорнър
B017 Сара Йосиф
B009 Майк Брантън

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

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

Идентификатор на учителя DeptCode Fname Lname
B002 002 Дейвид Уорнър
B017 002 Сара Йосиф
B009 001 Майк Брантън

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

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

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

Пример:

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

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

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

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

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

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

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

Fname Фамилия Начален час Крайно време
Ан Смит 09:00 18:00
Джак Франсис 08:00 17:00
Ана Маклийн 11:00 20:00
Показани Уилям 14:00 23:00

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

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

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

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

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

Обобщение

  • Ключът в SQL е атрибут или набор от атрибути, който ви помага да идентифицирате ред (кортеж) в релация (таблица)
  • DBMS ключовете ви позволяват да установите връзка между и да идентифицирате връзката между таблици
  • Седем типа ключове на СУБД са Super, Primary, Candidate, Alternate, Foreign, Compound, Composite и Surrogate Key.
  • Супер ключът е група от единични или множество ключове, която идентифицира редове в таблица.
  • Колона или група колони в таблица, която ни помага да идентифицираме уникално всеки ред в тази таблица, се нарича първичен ключ
  • Всички ключове, които не са първичен ключ, се наричат ​​алтернативен ключ
  • Супер ключ без повторен атрибут се нарича кандидат ключ
  • Съставният ключ е ключ, който има много полета, които ви позволяват да разпознавате уникално конкретен запис
  • Ключ, който има множество атрибути за еднозначно идентифициране на редове в таблица, се нарича композитен ключ
  • Изкуствен ключ, който има за цел да идентифицира уникално всеки запис, се нарича сурогатен ключ
  • Първичният ключ никога не приема нулеви стойности, докато външният ключ може да приеме множество нулеви стойности.