Primarni ključ u odnosu na jedinstveni ključ
Stupac ili skup stupaca koji se mogu koristiti za identifikaciju ili pristup retku ili skupu redaka u bazi podataka naziva se ključ. Jedinstveni ključ je ključ koji može jedinstveno identificirati redak u tablici u kontekstu relacijskih baza podataka. Jedinstveni ključ sastoji se od jednog stupca ili skupa stupaca. Primarni ključ također je kombinacija stupaca u tablici koji jedinstveno identificiraju red. Ali to se smatra posebnim slučajem jedinstvenog ključa.
Što je jedinstveni ključ?
Kao što je ranije spomenuto, jedinstveni ključ je jedan stupac ili skup stupaca koji mogu jedinstveno identificirati redak u tablici. Dakle, jedinstveni ključ je ograničen tako da nijedna njegova vrijednost nije jednaka. Jedno važno svojstvo je da jedinstveni ključevi ne provode NOT NULL ograničenje. Budući da NULL predstavlja nedostatak vrijednosti, ako dva retka imaju NULL u stupcu, to ne znači da su vrijednosti jednake. Stupac definiran kao jedinstveni ključ dopušta samo jednu NULL vrijednost u tom stupcu. Zatim se to može koristiti za jedinstvenu identifikaciju tog određenog retka. Na primjer, u tablici koja sadrži informacije o studentu, ID studenta može se definirati kao jedinstveni ključ. Budući da dva studenta ne mogu imati isti ID, on jedinstveno identificira jednog studenta. Dakle, stupac ID studenta zadovoljava sva svojstva jedinstvenog ključa. Ovisno o dizajnu baze podataka, tablica može imati više od jednog jedinstvenog ključa.
Što je primarni ključ?
Primarni ključ također je stupac ili kombinacija stupaca koji jedinstveno definira red u tablici relacijske baze podataka. Tablica može imati najviše jedan primarni ključ. Primarni ključ nameće implicitno NOT NULL ograničenje. Dakle, stupac koji je definiran kao primarni ključ ne može imati NULL vrijednosti u sebi. Primarni ključ može biti uobičajeni atribut u tablici koji je zajamčeno jedinstven kao što je broj socijalnog osiguranja ili može biti jedinstvena vrijednost koju generira sustav upravljanja bazom podataka kao što je Globalno jedinstveni identifikator (GUID) u Microsoft SQL Serveru. Primarni ključevi definirani su ograničenjem PRIMARY KEY u ANSI SQL standardu. Primarni ključ također se može definirati prilikom izrade tablice. SQL dopušta da primarni ključ bude sastavljen od jednog ili više stupaca, a svaki stupac koji je uključen u primarni ključ implicitno je definiran kao NIJE NULL. Ali neki sustavi za upravljanje bazom podataka zahtijevaju da stupci primarnog ključa izričito NE NULL.
Razlika između primarnog ključa i jedinstvenog ključa
Iako su i primarni ključ i jedinstveni ključ jedan ili više stupaca koji mogu jedinstveno identificirati redak u tablici, oni imaju neke važne razlike. Ono što je najvažnije, tablica može imati samo jedan primarni ključ dok može imati više od jednog jedinstvenog ključa. Primarni ključ se može smatrati posebnim slučajem jedinstvenog ključa. Druga je razlika u tome što primarni ključevi imaju implicitno NOT NULL ograničenje dok jedinstveni ključ nema to ograničenje. Stoga jedinstveni ključni stupci mogu, ali ne moraju sadržavati NULL vrijednosti, ali primarni ključevi ne mogu sadržavati NULL vrijednosti.