Ključi v MySQL so stolpec ali niz stolpcev, ki se uporabljajo za sestavo razmerja med eno ali več kot dvema tabelama. Uporabljajo se tudi za dostop do zapisov iz tabele. Oba ključa zagotavljata zajamčeno edinstvenost za stolpec ali niz stolpcev v tabeli ali relaciji. Glavna razlika med njima je, da primarni ključ identificira vsak zapis v tabeli, edinstveni ključ pa preprečuje podvojene vnose v stolpcu, razen vrednosti NULL. . V tem članku bomo primerjali bistvene razlike med primarnimi in edinstvenimi ključi na podlagi različnih parametrov. Pred primerjavo bomo na kratko razpravljali o teh ključih.
spremenljivka bash
Kaj je primarni ključ?
Primarni ključ je a edinstven ali neničelen ključ, ki enolično identificira vsak zapis v tej tabeli ali relaciji. Stolpec primarnega ključa ne more shraniti podvojenih vrednosti, kar pomeni, da so vrednosti stolpca primarnega ključa vedno edinstvene. Imenuje se tudi a minimalen super ključ ; zato ne moremo določiti več kot enega primarnega ključa v nobenem razmerju. Na stolpec primarnega ključa ene tabele se lahko sklicuje stolpec tujega ključa druge tabele.
Na primer , imamo tabelo z imenom študenti z atributi, kot so Stud_ID, Roll_No, Name, Mobile in Email.
Tukaj samo zvitek_št stolpec nikoli ne more vsebovati identične in NULL vrednosti. Vemo, da ima vsak študent edinstveno številko. Zato dva študenta nikoli ne moreta imeti iste številke. Ta funkcija pomaga identificirati vsak zapis v bazi podatkov edinstveno. Zato lahko atribut Roll_No naredimo za primarni ključ.
Lastnosti primarnega ključa
Sledijo bistvene primarne ključne značilnosti:
vmesnik v Javi
- Stolpec primarnega ključa ne sme vsebovati podvojenih vrednosti.
- Primarni ključ izvaja celovitost entitete tabele.
- Tabela ne more imeti več kot enega stolpca primarnega ključa.
- Primarni ključ lahko naredimo iz enega ali več polj tabele.
- Stolpec primarnega ključa mora imeti omejitev NOT NULL.
Kaj je unikatni ključ?
The edinstven ključ je en sam stolpec ali kombinacija stolpcev v tabeli za enolično identifikacijo zapisov baze podatkov. Edinstven ključ preprečuje od shranjevanja podvojene vrednosti v stolpcu. Tabela lahko vsebuje več edinstvenih ključnih stolpcev, za razliko od stolpca primarnega ključa. Ta ključ je podoben primarnemu ključu, le da je v stolpcu edinstvenega ključa mogoče shraniti eno vrednost NULL. Imenuje se tudi edinstveni ključ edinstvene omejitve in nanj se lahko sklicuje tuji ključ druge tabele.
Na primer , razmislimo o isti tabeli z imenom študenti z atributi, kot so Stud_ID, Roll_No, Name, Mobile in Email.
Tukaj Stud_ID se lahko dodeli kot edinstvena omejitev, ker mora imeti vsak študent edinstveno identifikacijsko številko. Če bi študent zamenjal fakulteto, potem ne bi imel študentske izkaznice. V tem primeru lahko vnos vsebuje a NIČ vrednost, ker edinstvena omejitev ključa omogoča shranjevanje NULL, vendar mora biti samo ena.
Značilnosti edinstvenega ključa
Sledijo bistvene edinstvene ključne značilnosti:
- Enolični ključ lahko sestavimo iz enega ali več polj tabele.
- Tabela lahko definira več edinstvenih ključnih stolpcev.
- Enolični ključ je privzeto v negručastih enoličnih indeksih.
- Stolpec z enolično omejitvijo lahko shrani vrednost NULL, vendar je dovoljena samo ena vrednost NULL na stolpec.
- Tuji ključ se lahko sklicuje na edinstveno omejitev pri ohranjanju edinstvenosti tabele.
Ključne razlike med primarnim in edinstvenim ključem
Naslednje točke pojasnjujejo ključne razlike med primarnimi in kandidatnimi ključi:
- Primarni ključ lahko tvori eno ali več polj tabele za enolično identifikacijo zapisov v tabeli. Po drugi strani pa edinstveni ključ preprečuje, da bi dve vrstici imeli podvojene vnose v stolpcu.
- Tabela ne more imeti več kot enega primarnega ključa v relacijski bazi podatkov, medtem ko je lahko na tabelo več edinstvenih ključev.
- Stolpec primarnega ključa ne more vsebovati vrednosti NULL, medtem ko ima edinstven ključ lahko vrednosti NULL, vendar je v tabeli dovoljena samo ena NULL.
- Primarni ključ bi moral biti edinstven, vendar edinstveni ključ ne more biti nujno primarni ključ.
- Primarni ključ je privzeto gručasti indeks, kjer so podatki fizično organizirani v zaporednem indeksu. Nasprotno pa je edinstveni ključ edinstveni negručasti indeks.
- Primarni ključ izvaja celovitost entitete, medtem ko edinstveni ključ uveljavlja edinstvene podatke.
Primerjalni grafikon primarnega ključa v primerjavi z edinstvenim ključem
Naslednja primerjalna tabela na hitro razloži njihove glavne razlike:
za zanko v c
Osnova primerjave | Primarni ključ | Edinstveni ključ |
---|---|---|
Osnovno | Primarni ključ se uporablja kot edinstveni identifikator za vsak zapis v tabeli. | Edinstveni ključ je tudi edinstven identifikator za zapise, ko primarni ključ ni prisoten v tabeli. |
NIČ | V stolpcu primarnega ključa ne moremo shraniti vrednosti NULL. | V stolpec edinstvenega ključa lahko shranimo vrednost NULL, vendar je dovoljena samo ena vrednost NULL. |
Namen | Uveljavlja celovitost entitete. | Uveljavlja edinstvene podatke. |
Kazalo | Primarni ključ privzeto ustvari gručasti indeks. | Enolični ključ privzeto ustvari negručni indeks. |
Število ključev | Vsaka tabela podpira samo en primarni ključ. | Tabela ima lahko več kot en edinstven ključ. |
Sprememba vrednosti | Vrednosti primarnega ključa ne moremo spremeniti ali izbrisati. | Edinstvene ključne vrednosti stolpcev lahko spremenimo. |
Uporabe | Uporablja se za identifikacijo vsakega zapisa v tabeli. | Preprečuje shranjevanje podvojenih vnosov v stolpec, razen vrednosti NULL. |
Sintaksa | V tabeli lahko ustvarimo stolpec primarnega ključa z uporabo spodnje sintakse:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | V tabeli lahko ustvarimo edinstven ključni stolpec s spodnjo sintakso:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Zaključek
V tem članku smo naredili primerjavo med omejitvami primarnega ključa in edinstvenega ključa. Tu smo ugotovili, da je edinstveni ključ uporaben, kadar želimo, da stolpci ne vsebujejo podvojenih vrednosti. In primarni ključ je uporaben, ko ne želimo ohraniti vrednosti NULL v tabeli. Idealno je lahko tudi, če imamo tuji ključ v drugi tabeli, da ustvarimo razmerje med tabelami.