И първичният ключ, и уникалният ключ са уникални ключове в релационна база данни, които гарантират уникалността на стойностите на колона или набор от колони. Вече има предварително дефинирано уникално ограничение на ключа в рамките на ограничение на първичен ключ. Докато първичен ключ се използва особено за идентифициране на всеки запис в таблицата, от друга страна, уникален ключ се използва за предотвратяване на дублиращи се записи в колона с изключение на нулев запис. И двата ключа обаче могат да съдържат повече от само една колона от дадена таблица и двамата играят решаваща роля за съхраняването и извличането на данни. Данните представляват поредица от таблици с колони и тези колони съхраняват информация от всички типове, до която допълнително можете да получите достъп или извлечете с помощта на инструкции. Това е мястото, където ключовете стигат до картината. Първичен ключ и Уникален ключ са два уникални ключа, които определят как трябва да се съхраняват данните в системата.
Основен ключ (също върви по първична ключова дума), е уникален ключ в релационна база данни, който идентифицира всеки запис в таблица на базата данни. Това е нещо като уникален идентификатор, като номер на социално осигуряване на лице, телефонен номер, номер на шофьорска книжка или номер на табелата на автомобила. Базата данни трябва да има само един първичен ключ.
Таблица в база данни съдържа колона или набор от колони, които съдържат стойности, които идентифицират уникално всеки ред в таблицата. Тази колона или набор от колони се нарича първичен ключ на таблицата, който трябва да съдържа уникални стойности и не може да съдържа нулеви стойности. Без първичен ключ релационната база данни няма да работи.
Първичен ключ се създава чрез дефиниране на PRIMARY KEY ограничение при създаване или промяна на таблица. В SQL Standard първичен ключ може да съдържа една или няколко колони, докато всяка колона се дефинира неявно като NOT NULL. Ако дефинирате PRIMARY KEY ограничение за повече от една колона, това може да доведе до дублиране на стойности в една колона, затова всяка комбинация от стойности трябва да е уникална за всички колони.
Уникален ключ е набор от една или повече от една колона / поле на таблица, които уникално идентифицират запис в таблица на базата данни. Ограничението UNIQUE KEY гарантира, че всички стойности в колона са уникални в базата данни. Подобно на първичен ключ, уникален ключ може да се състои от повече от една колона. Уникалният ключ обаче може да приеме само една нулева стойност. Няма два реда да имат еднакви стойности в таблица с база данни.
Уникалният ключ е доста подобен на първичен ключ и може да бъде определен по време на създаването на таблицата. Когато колона или набор от колони са маркирани като уникални в системата на релационна база данни, тя проверява целостта на стойностите, преди да назначи ограничението, така че да не позволява на два записа да имат идентични стойности в определена колона.
UNIQUE е ограничение за колона, която не е PRIMARY KEY, която характеризира следното:
Първичен ключ е вид уникален идентификатор на ключ, който уникално идентифицира ред в таблицата на базата данни, докато уникален ключ идентифицира всички възможни редове, които съществуват в таблица, а не само съществуващите в момента редове.
Основен ключ се използва за идентифициране на запис в таблица на база данни, докато уникален ключ се използва за предотвратяване на дублиращи се стойности в колона с изключение на нулев запис.
Основен ключ създава клъстериран уникален индекс по подразбиране, докато уникален ключ е уникален некластериран индекс в таблица на базата данни по подразбиране.
Първичният ключ не може да приеме NULL стойности в таблица на базата данни, докато уникалният ключ може да приеме само една NULL стойност в таблицата.
На масата може да има само един и само един първичен ключ, но в системата от база данни може да има няколко уникални ключа за таблица.
Първичен ключ | Уникален ключ |
Използва се първичен ключ за уникално идентифициране на запис / ред в таблица на базата данни. | Уникален ключ се използва за идентифициране на всички възможни редове в таблица, а не само на съществуващите в момента редове. |
Не приема NULL стойности. | Той може да приеме само една NULL стойност в таблица. |
Той е клъстериран индекс по подразбиране, което означава, че данните са организирани в последователността на клъстериран индекс. | Това е уникален некластериран индекс по подразбиране. |
В таблицата може да има само един първичен ключ. | Таблицата може да има множество уникални клавиши. |
Първичният ключ се определя с помощта на PRIMARY KEY ограничение. | Уникалният ключ е представен с помощта на UNIQUE ограничение. |
Използва се за идентифициране на ред в таблица. | Използва се за предотвратяване на дублиращи се стойности в колона. |
Стойностите на първичния ключ не могат да бъдат променяни или изтривани. | Уникалните ключови стойности могат да бъдат променяни. |