Primarni ključ vs jedinstveni ključ
Kolonac ili skup kolona, koji se može koristiti za identifikaciju ili pristup redu ili skupu redova u bazi podataka naziva se ključ. Jedinstveni ključ je ključ koji može jedinstveno identificirati red u tablici u kontekstu relacijskih baza podataka. Jedinstveni ključ se sastoji od jedne kolone ili skupa kolona. Primarni ključ je takođe kombinacija kolona u tabeli koja jedinstveno identifikuje red. Ali smatra se da je to poseban slučaj jedinstvenog ključa.
Šta je jedinstveni ključ?
Kao što je ranije spomenuto, jedinstveni ključ je jedna kolona ili skup kolona koji mogu jedinstveno identificirati red u tabeli. Dakle, jedinstveni ključ je ograničen tako da dvije njegove vrijednosti nisu jednake. Jedno važno svojstvo je da jedinstveni ključevi ne provode NOT NULL ograničenje. Pošto NULL predstavlja nedostatak vrijednosti, ako dva reda imaju NULL u stupcu, to ne znači da su vrijednosti jednake. Kolona definirana kao jedinstveni ključ dozvoljava samo jednu NULL vrijednost u toj koloni. Zatim se to može koristiti za jedinstvenu identifikaciju tog određenog reda. Na primjer, u tabeli koja sadrži informacije o učeniku, ID učenika se može definirati kao jedinstveni ključ. Pošto dva učenika ne mogu imati isti ID, on jedinstveno identifikuje jednog učenika. Dakle, kolona ID učenika zadovoljava sva svojstva jedinstvenog ključa. U zavisnosti od dizajna baze podataka, tabela može imati više od jednog jedinstvenog ključa.
Šta je primarni ključ?
Primarni ključ je također kolona ili kombinacija kolona koja na jedinstven način definira red u tabeli relacijske baze podataka. Tabela može imati najviše jedan primarni ključ. Primarni ključ nameće implicitno NOT NULL ograničenje. Dakle, kolona koja je definirana kao primarni ključ ne može imati NULL vrijednosti u sebi. Primarni ključ može biti normalan atribut u tabeli za koji je zajamčeno da je jedinstven, kao što je broj socijalnog osiguranja ili može biti jedinstvena vrijednost koju generiše sistem upravljanja bazom podataka kao što je globalno jedinstveni identifikator (GUID) u Microsoft SQL Serveru. Primarni ključevi su definirani kroz ograničenje PRIMARY KEY u ANSI SQL standardu. Primarni ključ se također može definirati prilikom kreiranja tablice. SQL dozvoljava da se primarni ključ sastoji od jednog ili više stupaca i svaki stupac koji je uključen u primarni ključ je implicitno definiran kao NOT NULL. Ali neki sistemi za upravljanje bazom podataka zahtevaju da kolone primarnog ključa eksplicitno NE NULL.
Razlika između primarnog ključa i jedinstvenog ključa
Iako su i primarni ključ i jedinstveni ključ jedna ili više kolona koje mogu jedinstveno identificirati red u tabeli, oni imaju neke važne razlike. Ono što je najvažnije, tabela 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 razlika je u tome što primarni ključevi imaju implicitno NOT NULL ograničenje dok jedinstveni ključ nema to ograničenje. Stoga, kolone jedinstvenog ključa mogu ili ne moraju sadržavati NULL vrijednosti, ali kolone primarnog ključa ne mogu sadržavati NULL vrijednosti.