Основната разлика между първичен ключ и уникален ключ е, че първичен ключ не приема NULL стойности, докато NULL стойностите са позволени в рамките на уникални ключови ограничения.
Сравнителна таблица
Основа за сравнение | Първичен ключ | Уникален ключ |
---|---|---|
Основен | Той се използва като уникален идентификатор за всеки ред в таблицата. | Също така уникално определя ред, който не е дефиниран като първичен ключ. |
Приемане на NULL стойност | Първичният ключ няма да приеме NULL стойности. | Unique ще приеме NULL стойност. |
Брой ключове, които могат да бъдат дефинирани в таблицата | Само един първичен ключ | Повече от един |
индекс | Създава клъстерен индекс | Създава некластеризиран индекс |
Дефиниция на първичен ключ
Колоната може да бъде извикана като първичен ключ на неговата таблица, ако еднозначно идентифицира всеки кортеж (ред) в тази таблица. Той налага ограничения на целостта на таблицата. В таблицата е позволен само един първичен ключ. Първичният ключ не приема дублиращите се и NULL стойности. Първичният ключ се избира внимателно, когато промените могат да се появят рядко, което означава, че първият ключ в таблицата се променя много рядко.
Нека разберем понятието първичен ключ с помощта на таблица. Тук създаваме таблица, наречена като Student таблица, която има атрибути като Roll_number, Name, Batch, Phone_number, Citizen_ID.
Първичен ключ може да бъде посочен от външен ключ. Той създава уникален клъстерен индекс на таблицата. В клъстеризирания индекс редовете от данни се сортират и съхраняват в таблица или изгледи въз основа на нейните ключови стойности. В таблицата може да има само един клъстерен индекс, причината за това е, че редовете от данни в таблицата могат да бъдат сортирани само в една поръчка.
Определение на уникалния ключ
Подобно на първичен ключ, уникалните ключови ограничения също така идентифицират отделен кортеж еднозначно във връзка. Но между тях има някои различия. Една таблица може да има повече от един уникален ключ. Уникалните ключови ограничения могат да приемат само една NULL стойност за колона.
Нека да разберем това с подобен пример, където имахме студентска таблица с атрибути Roll_number, Name, Batch, Phone_number и Citizen_ID. Атрибутът Roll number се присвоява с основния ключ.
Уникалните ограничения също се споменават от външния ключ. Може да се използва, когато някой иска да наложи ограничения върху колона и група от колони, която не е първичен ключ. За разлика от първичния ключ, той генерира некластерен индекс . Некластеризираните индекси имат различна структура от редовете с данни. Всеки запис ключ-стойност в него сочи към реда с данни, който съдържа стойността на ключа, затова използва указатели.
Ключови разлики между първичен ключ и уникален ключ
- Когато атрибут, деклариран като първичен ключ, не приема NULL стойности. От друга страна, когато атрибут декларира като Unique, той може да приеме една NULL стойност.
- Таблицата може да има само първичен ключ, докато в таблицата може да има множество уникални ограничения.
- Клъстерният индекс се създава автоматично, когато се дефинира първичен ключ. За разлика от това, уникалният ключ генерира некластерен индекс.
заключение
Първичният ключ и уникалният ключ служат за целта на уникален идентификатор за редовете на таблица с уникалните стойности в колона или група от колони. Тези ключови ограничения са значително диференцирани, където всяка таблица може да има най-много един първичен ключ, докато таблицата може да има няколко уникални ключа, които не са първични.