Рецоммендед, 2020

Избор Уредника

Разлика између примарног кључа и јединственог кључа

Већ смо проучавали различите типове кључева који се користе у бази података и шеми у претходним чланцима, а то су Разлика између примарног кључа и спољног кључа. У овом чланку разликујемо примарни кључ и јединствени кључ. И примарни кључ и јединствени кључ се користе за идентификацију тупле јединствено и намеће јединственост у колони или комбинацији колоне.

Битна разлика између примарног кључа и јединственог кључа је у томе што примарни кључ не прихваћа НУЛЛ вриједности, док су НУЛЛ вриједности допуштене унутар јединствених кључних ограничења.

Цомпарисон Цхарт

Основа за поређењеПримарни кључЈединствени кључ
БасицКористи се као јединствени идентификатор за сваки ред у табели.Он такође јединствено одређује ред, који није дефинисан као примарни кључ.
Прихватање НУЛЛ вредностиПримарни кључ неће прихватити НУЛЛ вредности.Уникуе ће прихватити НУЛЛ вредност.
Број кључева који се могу дефинисати у табелиСамо један примарни кључВише од једног
ИндекКреира кластерирани индексКреира не-кластерирани индекс

Дефиниција примарног кључа

Ступац се може позвати као примарни кључ његове табеле ако јединствено идентификује сваки тупле (ред) у тој табели. Он намеће ограничења интегритета табели. У табели је дозвољен само један примарни кључ. Примарни кључ не прихвата дупле и НУЛЛ вредности. Примарни кључ је изабран са пажњом где се промене могу десити ретко, што значи да се примарни кључ у табели мења веома ретко.

Разумимо појам примарног кључа уз помоћ табеле. Овде креирамо табелу названу Студент табела, која има атрибуте као што су Ролл_нумбер, Наме, Батцх, Пхоне_нумбер, Цитизен_ИД.

У датом примеру број атрибутног ваљка никада не може имати идентичну и НУЛЛ вредност, јер је сваки студент уписао универзитет са јединственим Ролл_нумбер. Ниједна два студента не могу имати исти број Ролл_нумбер, а сваки ред у табели је јединствено идентификован са бројем улога ученика. Дакле, можемо направити Ролл_нумбер атрибут као примарни кључ у овом конкретном случају.

На примарни кључ се може позивати страним кључем. Он креира јединствени кластерирани индекс на табели. У кластерираном индексу редови података се сортирају и чувају у табели или приказима на основу његових кључних вредности. У табели може бити само један кластерирани индекс, разлог томе је што се редови података у табели могу сортирати само у једном налогу.

Дефиниција јединственог кључа

Слично као и примарни кључ, ограничења Уникуе кључа такође идентификују појединачне торке јединствено у релацији. Али, постоје одређене разлике између њих. Табела може имати више од једног јединственог кључа. Јединствена ограничења кључа могу прихватити само једну НУЛЛ вриједност за ступац.

Хајде да разумемо ово са сличним примером, где смо имали Студент табелу са Ролл_нумбер, Наме, Батцх, Пхоне_нумбер и Цитизен_ИД атрибутима. Атрибут Ролл нумбер је додељен примарним кључем.

Овдје се Цитизен_ИД може додијелити јединственим ограничењима гдје сваки унос у ступац Цитизен_ИД треба бити јединствен, а не дуплицирати јер сваки грађанин земље мора имати свој јединствени идентификацијски број. Али, ако студент мигрира из друге земље, у том случају он или она не би имали Цитизен_ИД и унос би могао имати НУЛЛ вриједност као један НУЛЛ дозвољен у јединственом ограничењу.

Јединствена ограничења су такође референцирана од стране страног кључа. Може се користити када неко жели да наметне ограничења на колони и групи колона која није примарни кључ. За разлику од примарног кључа, он генерише не-кластерирани индекс . Не-кластерирани индекси имају различиту структуру од редова података. Сваки унос кључа-вриједности у њему указује на ред података који садржи кључну вриједност, стога користи показиваче.

Кључне разлике између примарног кључа и јединственог кључа

  1. Када је атрибут декларисан као примарни кључ, неће прихватити НУЛЛ вредности. С друге стране, када је атрибут декларисан као Уникуе, он може прихватити једну НУЛЛ вредност.
  2. Табела може имати само примарни кључ, док на табели може бити више јединствених ограничења.
  3. Кластерирани индекс се аутоматски креира када је дефинисан примарни кључ. Насупрот томе, јединствени кључ генерише не-кластерирани индекс.

Закључак

Примарни кључ и јединствени кључ служе сврси јединственог идентификатора за редове табеле са јединственим вредностима у колони или групи колона. Ова кључна ограничења су значајно диференцирана, при чему свака табела може имати највише један примарни кључ, док табела може имати више јединствених кључева који нису примарни.

Top