logo

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

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

конвертиране на низ в json java
Първичен ключ срещу уникален ключ

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

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

Например , имаме таблица с име студенти с атрибути като Stud_ID, Roll_No, Name, Mobile и Email.

Първичен ключ срещу уникален ключ

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

Характеристики на първичния ключ

Следват основните основни ключови характеристики:

  • Колоната с първичен ключ не може да съдържа дублирани стойности.
  • Първичният ключ реализира целостта на обекта на таблицата.
  • Една таблица не може да има повече от една колона с първичен ключ.
  • Можем да направим първичния ключ от едно или повече полета на таблицата.
  • Колоната с първичен ключ трябва да има ограничения NOT NULL.

Какво е уникален ключ?

The уникален ключ е единична колона или комбинация от колони в таблица за уникално идентифициране на записите в базата данни. Уникален ключ предотвратява от съхраняване дублирани стойности в колоната. Една таблица може да съдържа множество уникални ключови колони, за разлика от колона с първичен ключ. Този ключ е подобен на първичния ключ, с изключение на това, че една NULL стойност може да бъде съхранена в колоната с уникален ключ. Уникалният ключ също се нарича уникални ограничения и може да бъде препратен от външен ключ на друга таблица.

Например , нека разгледаме същата таблица с име студенти с атрибути като Stud_ID, Roll_No, Name, Mobile и Email.

размер на шрифта латекс
Първичен ключ срещу уникален ключ

Тук Stud_ID може да се присвои като уникално ограничение, тъй като всеки ученик трябва да има уникален идентификационен номер. Ако студент смени колежа, тогава той или тя няма да има студентска книжка. В този случай записът може да съдържа a НУЛА стойност, тъй като ограничението за уникален ключ позволява съхраняването на NULL, но трябва да бъде само едно.

Характеристики на уникален ключ

Следните са основните уникални ключови характеристики:

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

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

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

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

Сравнителна таблица на първичен ключ срещу уникален ключ

Следващата сравнителна таблица обяснява основните им разлики по бърз начин:

База за сравнение Първичен ключ Уникален ключ
Основен Първичният ключ се използва като уникален идентификатор за всеки запис в таблицата. Уникалният ключ също е уникален идентификатор за записи, когато първичният ключ не присъства в таблицата.
НУЛА Не можем да съхраняваме NULL стойности в колоната с първичен ключ. Можем да съхраняваме NULL стойност в колоната с уникален ключ, но само една NULL е разрешена.
Предназначение Той налага целостта на обекта. Той налага уникални данни.
Индекс Първичният ключ по подразбиране създава клъстерен индекс. Уникалният ключ по подразбиране създава неклъстерен индекс.
Брой ключове Всяка таблица поддържа само един първичен ключ. Една таблица може да има повече от един уникален ключ.
Модификация на стойността Не можем да променим или изтрием стойностите на първичния ключ. Можем да променяме уникалните стойности на ключови колони.
Употреби Използва се за идентифициране на всеки запис в таблицата. Той предотвратява съхраняването на дублиращи се записи в колона, с изключение на NULL стойност.
Синтаксис Можем да създадем колона с първичен ключ в таблицата, като използваме следния синтаксис:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Можем да създадем уникална ключова колона в таблицата, като използваме следния синтаксис:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Заключение

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