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

⚡ Умно обобщение

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

  • 🗝️ Основна цел: Ключът идентифицира уникален ред и свързва свързани таблици, така че данните да останат последователни.
  • 🔝 Супер ключ: Всеки набор от атрибути, който идентифицира редове, евентуално с допълнителни атрибути освен минимума.
  • Първичен ключ: Избраният кандидат-ключ, никога null и никога не дублиран, по един на таблица.
  • 🎯 Ключ за кандидата: Минимален суперключ без излишен атрибут; първичният ключ се избира от тях.
  • 🔁 Алтернативен ключ: Всеки кандидат-ключ, който не е избран като първичен ключ.
  • 🔗 Външен ключ: Колона, препращаща към първичния ключ на друга таблица, за да се осигури референтна цялост.
  • 🧩 Композитен и сурогатен: Съставните ключове комбинират колони за уникалност; сурогатният ключ е генериран заместител.

Кандидат за ключове на СУБД, супер първичен

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

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

Пример:

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

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

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

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

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

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

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

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

Таблицата по-долу обобщава всичките осем накратко, преди всеки от тях да бъде обяснен подробно.

ключ В един ред Уникален?
Супер ключ Всеки набор от атрибути, който идентифицира ред, разрешени са допълнителни атрибути Да
Ключ на кандидата Минимален суперключ, без излишен атрибут Да
Първичен ключ Избраният кандидат ключ, а не null Да
Алтернативен ключ Кандидат ключ, който не е избран за основен Да
Чужд ключ Препраща към първичен ключ в друга таблица Не
Съставен ключ Два или повече атрибута, всеки от които евентуално не е уникален Комбиниран
Композитен ключ Две или повече колони, комбинирани за уникалност Комбиниран
Сурогатен ключ Генериран изкуствен идентификатор Да

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

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

Пример:

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

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

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

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

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

Пример: В таблицата по-долу, StudID, Roll No и Email са кандидат-ключове, които ни помагат да идентифицираме уникално студентски запис. Тяхната връзка със суперключовете и първичните ключове е често срещан начин за разбиране. функционална зависимост.

StudID Рол № Име фамилия Имейл
1 11 Том Цена abc@gmail.com
2 12 Nick Райт xyz@gmail.com
3 13 Dana Натан mno@yahoo.com
Кандидат ключ в СУБД
Кандидат ключ в СУБД

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

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

Пример:

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

В този пример имаме две таблици, „Учител“ и „Отдел“, в едно училище. В сегашния им вид няма начин да видим кой учител в кой отдел работи.

Чрез добавяне на външния ключ DeptCode към таблицата „Учител“, можем да създадем връзка между двете таблици.

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

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

Какво е сложен ключ?

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

Пример:

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

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

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

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

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

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

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

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

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

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

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

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

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

Въпроси и Отговори

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

И двата комбинират колони за уникалност. В съставен ключ всяка колона сама по себе си е външен ключ, докато съставният ключ просто свързва два или повече атрибута, които не е необходимо да са външни ключове.

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

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

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

Обобщете тази публикация с: