Kľúče v MySQL sú stĺpce alebo množiny stĺpcov, ktoré sa používajú na vytvorenie vzťahu medzi jednou alebo viacerými tabuľkami. Používajú sa aj na prístup k záznamom z tabuľky. Oba kľúče poskytujú zaručenú jedinečnosť pre stĺpec alebo množinu stĺpcov v tabuľke alebo vzťahu. Hlavný rozdiel medzi nimi je v tom, že primárny kľúč identifikuje každý záznam v tabuľke a jedinečný kľúč zabraňuje duplicitným záznamom v stĺpci okrem hodnoty NULL. . V tomto článku porovnáme základné rozdiely medzi primárnymi a jedinečnými kľúčmi na základe rôznych parametrov. Pred vykonaním porovnania v krátkosti rozoberieme tieto kľúče.
skvelý počítačový jazyk
Čo je primárny kľúč?
Primárny kľúč je a jedinečné alebo nenulové kľúč, ktorý jedinečne identifikuje každý záznam v danej tabuľke alebo vzťahu. Stĺpec primárneho kľúča nemôže ukladať duplicitné hodnoty, čo znamená, že hodnoty stĺpca primárneho kľúča sú vždy jedinečné. Nazýva sa tiež a minimálny super kľúč ; preto v žiadnom vzťahu nemôžeme špecifikovať viac ako jeden primárny kľúč. Na stĺpec primárneho kľúča jednej tabuľky môže odkazovať stĺpec cudzieho kľúča inej tabuľky.
Napríklad , máme tabuľku s názvom študentov s atribútmi ako Stud_ID, Roll_No, Name, Mobile a Email.
Tu len ten Roll_No stĺpec nikdy nemôže obsahovať identickú a NULL hodnotu. Vieme, že každý študent má jedinečné číslo. Preto dvaja študenti nikdy nemôžu mať rovnaké číslo. Táto funkcia pomáha jednoznačne identifikovať každý záznam v databáze. Z atribútu Roll_No teda môžeme urobiť primárny kľúč.
Vlastnosti primárneho kľúča
Toto sú základné primárne kľúčové vlastnosti:
hiba bukhari
- Stĺpec primárneho kľúča nemôže obsahovať duplicitné hodnoty.
- Primárny kľúč implementuje integritu entity tabuľky.
- Tabuľka nemôže mať viac ako jeden stĺpec primárneho kľúča.
- Primárny kľúč môžeme vytvoriť z jedného alebo viacerých polí tabuľky.
- Stĺpec primárneho kľúča by mal mať obmedzenia NOT NULL.
Čo je to jedinečný kľúč?
The jedinečný kľúč je jeden stĺpec alebo kombinácia stĺpcov v tabuľke na jedinečnú identifikáciu databázových záznamov. Jedinečný kľúč zabraňuje zo skladovania duplicitné hodnoty v stĺpci. Tabuľka môže na rozdiel od stĺpca primárneho kľúča obsahovať viacero stĺpcov jedinečných kľúčov. Tento kľúč je podobný primárnemu kľúču, až na to, že do stĺpca jedinečného kľúča možno uložiť jednu hodnotu NULL. Jedinečný kľúč je tiež tzv jedinečné obmedzenia a môže byť odkazovaný cudzím kľúčom inej tabuľky.
Napríklad , uvažujme o tej istej tabuľke s názvom študentov s atribútmi ako Stud_ID, Roll_No, Name, Mobile a Email.
Tu Stud_ID možno priradiť ako jedinečné obmedzenie, pretože každý študent musí mať jedinečné identifikačné číslo. Ak študent zmení vysokú školu, nebude mať žiadny študentský preukaz. V takom prípade môže záznam obsahovať a NULOVÝ hodnotu, pretože obmedzenie jedinečného kľúča umožňuje uložiť hodnotu NULL, ale mala by byť iba jedna.
Vlastnosti jedinečného kľúča
Nasledujú základné jedinečné kľúčové vlastnosti:
- Jedinečný kľúč môžeme zostaviť z jedného alebo viacerých polí tabuľky.
- Tabuľka môže definovať viacero jedinečných stĺpcov kľúča.
- V predvolenom nastavení je jedinečný kľúč v jedinečných indexoch bez klastrov.
- Jedinečný stĺpec obmedzenia môže uložiť hodnotu NULL, ale v každom stĺpci je povolená iba jedna hodnota NULL.
- Cudzí kľúč môže odkazovať na jedinečné obmedzenie pri zachovaní jedinečnosti tabuľky.
Hlavné rozdiely medzi primárnym a jedinečným kľúčom
Nasledujúce body vysvetľujú kľúčové rozdiely medzi primárnym a kandidátskym kľúčom:
- Primárny kľúč môže tvoriť jedno alebo viac polí tabuľky na jedinečnú identifikáciu záznamov v tabuľke. Na druhej strane jedinečný kľúč zabraňuje tomu, aby dva riadky mali v stĺpci duplicitné položky.
- Tabuľka nemôže mať v relačnej databáze viac ako jeden primárny kľúč, pričom na jednu tabuľku môže byť viacero jedinečných kľúčov.
- Stĺpec primárneho kľúča nemôže obsahovať hodnoty NULL, zatiaľ čo jedinečný kľúč môže mať hodnoty NULL, ale v tabuľke je povolená iba jedna hodnota NULL.
- Primárny kľúč by mal byť jedinečný, ale jedinečný kľúč nemusí byť nevyhnutne primárnym kľúčom.
- Primárny kľúč je štandardne klastrovaný index, kde sú údaje fyzicky usporiadané v sekvenčnom indexe. Na rozdiel od toho jedinečný kľúč je jedinečný index bez klastrov.
- Primárny kľúč implementuje integritu entity, zatiaľ čo jedinečný kľúč vynucuje jedinečné údaje.
Tabuľka porovnania primárneho kľúča a jedinečného kľúča
Nasledujúca porovnávacia tabuľka rýchlo vysvetľuje ich hlavné rozdiely:
vek dharmendra
Základ porovnania | Primárny kľúč | Jedinečný kľúč |
---|---|---|
Základné | Primárny kľúč sa používa ako jedinečný identifikátor pre každý záznam v tabuľke. | Jedinečný kľúč je tiež jedinečným identifikátorom pre záznamy, keď primárny kľúč nie je prítomný v tabuľke. |
NULOVÝ | Do stĺpca primárneho kľúča nemôžeme uložiť hodnoty NULL. | Do stĺpca jedinečného kľúča môžeme uložiť hodnotu NULL, ale povolená je iba jedna hodnota NULL. |
Účel | Presadzuje integritu entity. | Vynucuje jedinečné údaje. |
Index | Primárny kľúč štandardne vytvára klastrovaný index. | Jedinečný kľúč štandardne vytvára index bez klastrov. |
Číslo kľúča | Každá tabuľka podporuje iba jeden primárny kľúč. | Tabuľka môže mať viac ako jeden jedinečný kľúč. |
Úprava hodnoty | Hodnoty primárneho kľúča nemôžeme zmeniť ani odstrániť. | Jedinečné hodnoty stĺpca kľúča môžeme upraviť. |
Využitie | Používa sa na identifikáciu každého záznamu v tabuľke. | Zabraňuje ukladaniu duplicitných záznamov v stĺpci okrem hodnoty NULL. |
Syntax | V tabuľke môžeme vytvoriť stĺpec primárneho kľúča pomocou nasledujúcej syntaxe:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | Pomocou nasledujúcej syntaxe môžeme vytvoriť jedinečný stĺpec kľúča v tabuľke:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Záver
V tomto článku sme porovnali obmedzenia primárneho kľúča a jedinečného kľúča. Tu sme dospeli k záveru, že jedinečný kľúč je užitočný, keď chceme, aby stĺpce neobsahovali duplicitné hodnoty. A primárny kľúč je užitočný, keď nechceme v tabuľke ponechať hodnotu NULL. Ideálne môže byť aj to, keď máme cudzí kľúč v inej tabuľke na vytvorenie vzťahu medzi tabuľkami.