Doporučená, 2022

Redakce Choice

Rozdíl mezi primárním klíčem a jedinečným klíčem

V předchozích článcích jsme již studovali různé typy klíčů používaných v databázi a schématu, a to Rozdíl mezi primárním klíčem a cizím klíčem. V tomto článku rozlišujeme primární klíč a jedinečný klíč. Primární klíč i jedinečný klíč se používají k identifikaci n-tice jedinečně a vynucují jedinečnost ve sloupci nebo kombinaci sloupce.

Základní rozdíl mezi primárním klíčem a jedinečným klíčem je, že primární klíč neakceptuje hodnoty NULL, zatímco hodnoty NULL jsou povoleny v rámci omezení Unique key.

Srovnávací graf

Základ pro srovnáníPrimární klíčJedinečný klíč
ZákladníPoužívá se jako jedinečný identifikátor pro každý řádek v tabulce.Také jednoznačně určuje řádek, který není definován jako primární klíč.
Přijetí hodnoty NULLPrimární klíč nepřijme hodnoty NULL.Unikátní bude akceptovat hodnotu NULL.
Počet kláves, které lze definovat v tabulcePouze jeden primární klíčVíc než jeden
IndexVytvoří seskupený indexVytvoří index bez shluků

Definice primárního klíče

Sloupec může být volán jako primární klíč jeho tabulky, pokud jedinečně identifikuje každou n-tici (řádek) v této tabulce. Vynucuje omezení integrity tabulky. V tabulce je povolen pouze jeden primární klíč. Primární klíč nepřijímá duplicitní a NULL hodnoty. Primární klíč je vybrán s opatrností tam, kde změny mohou nastat jen zřídka, což znamená, že primární klíč v tabulce se mění velmi zřídka.

Pojďme pochopit pojem primární klíč pomocí tabulky. Zde vytváříme tabulku nazvanou Studentská tabulka, která má atributy jako Roll_number, Name, Batch, Phone_number, Citizen_ID.

V daném příkladu nemůže mít číslo atributu nikdy identickou a NULL hodnotu, protože každý student se zapsal na univerzitu s jedinečným Roll_number. Žádní dva studenti nemohou mít stejné číslo Roll_number a každý řádek v tabulce je jednoznačně označen číslem studenta. V tomto konkrétním případě můžeme tedy atribut Roll_number nastavit jako primární klíč.

Na primární klíč lze odkazovat pomocí cizího klíče. Vytvoří jedinečný klastrovaný index na tabulce. V clusterovém indexu jsou datové řádky tříděny a uloženy v tabulce nebo pohledech na základě jejich klíčových hodnot. V tabulce může být pouze jeden shlukovaný index, důvodem je to, že datové řádky v tabulce lze třídit pouze v jednom pořadí.

Definice jedinečného klíče

Podobně jako u primárního klíče, i Unique key constraints jednoznačně identifikují jednotlivou n-tici v relaci. Mezi nimi však existují určité rozdíly. Tabulka může mít více než jeden jedinečný klíč. Jedinečná omezení klíče mohou přijmout pouze jednu hodnotu NULL pro sloupec.

Pochopme to s podobným příkladem, kdy jsme měli tabulku Student s atributy Roll_number, Name, Batch, Phone_number a Citizen_ID. Atribut číslo role je přiřazen primárnímu klíči.

Citizen_ID zde může být přiřazeno jedinečné omezení, kde každá položka ve sloupci Citizen_ID by měla být jedinečná, ne duplikovaná, protože každý občan země musí mít své jedinečné identifikační číslo. Pokud však student emigruje z jiné země, v takovém případě nebude mít identifikátor Citizen_ID a položka by mohla mít hodnotu NULL jako jednu hodnotu NULL v jedinečném omezení.

Unikátní omezení jsou také odkazována cizím klíčem. Může být použit, když někdo chce vynutit omezení ve sloupci a skupině sloupců, která není primárním klíčem. Na rozdíl od primárního klíče generuje index bez clusterů . Non-clusterové indexy mají odlišnou strukturu od datových řádků. Každá položka klíče-hodnota v ní ukazuje na řádek dat, který obsahuje hodnotu klíče, proto používá ukazatele.

Klíčové rozdíly mezi primárním klíčem a jedinečným klíčem

  1. Pokud atribut deklarován jako primární klíč, nebude akceptovat hodnoty NULL. Na druhé straně, když atribut deklarovaný jako jedinečný může přijmout jednu hodnotu NULL.
  2. Tabulka může mít pouze primární klíč, zatímco tabulka může obsahovat více jedinečných omezení.
  3. Klastrovaný index se automaticky vytvoří, když je definován primární klíč. Naproti tomu jedinečný klíč generuje index bez clusterů.

Závěr

Primární klíč a jedinečný klíč slouží k určení jedinečného identifikátoru pro řádky tabulky s jedinečnými hodnotami ve sloupci nebo skupině sloupců. Tato klíčová omezení jsou výrazně diferencovaná, kde každá tabulka může mít maximálně jeden primární klíč, zatímco tabulka může mít více jedinečných klíčů, které nejsou primární.

Top