Co jsou klíče v DBMS?
KLÁVESY v DBMS je atribut nebo sada atributů, které vám pomohou identifikovat řádek (n-tici) ve vztahu (tabulka). Umožní vám najít vztah mezi dvěma tabulkami. Klávesy vám pomohou jednoznačně identifikovat řádek v tabulce kombinací jednoho nebo více sloupců v této tabulce. Klíč je také užitečný při hledání jedinečného záznamu nebo řádku z tabulky. Klíč databáze je také užitečný pro vyhledání jedinečného záznamu nebo řádku z tabulky.
Příklad:
ID zaměstnance | Jméno | Příjmení |
11 | Andrew | Johnson |
22 | Tom | Dřevo |
33 | Alexi | Zdravý |
Ve výše uvedeném příkladu je ID zaměstnance primárním klíčem, protože jednoznačně identifikuje záznam zaměstnance. V této tabulce žádný jiný zaměstnanec nemůže mít stejné ID zaměstnance.
V tomto výukovém programu se naučíte:
- Co jsou klíče?
- Proč potřebujeme klíč?
- Různé klíče v systému správy databáze
- Co je Super klíč?
- Co je primární klíč?
- Co je alternativní klíč?
- Co je klíč kandidáta?
- Co je cizí klíč?
- Co je složený klíč?
- Co je složený klíč?
- Co je náhradní klíč?
- Rozdíl mezi primárním klíčem a cizím klíčem
Proč potřebujeme klíč?
Zde je několik důvodů pro použití klíče sql v systému DBMS.
- Klávesy vám pomohou identifikovat jakýkoli řádek dat v tabulce. V aplikaci v reálném světě by tabulka mohla obsahovat tisíce záznamů. Kromě toho lze záznamy duplikovat. Klávesy zajišťují, že i přes tyto výzvy můžete jednoznačně identifikovat záznam tabulky.
- Umožňuje navázat vztah mezi a identifikovat vztah mezi tabulkami
- Pomůže vám prosadit identitu a integritu ve vztahu.
Typy klíčů v systému správy databáze
V DBMS je hlavně sedm různých typů klíčů a každý klíč má jiné funkce:
- Super klíč - Super klíč je skupina jednoduchých nebo více klíčů, které identifikují řádky v tabulce.
- Primární klíč - je sloupec nebo skupina sloupců v tabulce, která jednoznačně identifikuje každý řádek v této tabulce.
- Kandidátský klíč - je sada atributů, které jednoznačně identifikují n-tice v tabulce. Candidate Key je super klíč bez opakovaných atributů.
- Alternativní klíč - je sloupec nebo skupina sloupců v tabulce, která jednoznačně identifikuje každý řádek v této tabulce.
- Cizí klíč - je sloupec, který vytváří vztah mezi dvěma tabulkami. Účelem cizích klíčů je zachovat integritu dat a umožnit navigaci mezi dvěma různými instancemi entity.
- Složený klíč - má dva nebo více atributů, které vám umožňují jednoznačně rozpoznat konkrétní záznam. Je možné, že každý sloupec nemusí být v databázi sám o sobě jedinečný.
- Složený klíč - Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč. Tyto druhy klíčů jsou jedinečné, protože jsou vytvořeny, když nemáte žádný přirozený primární klíč.
- Náhradní klíč - Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč. Tyto druhy klíčů jsou jedinečné, protože jsou vytvořeny, když nemáte žádný přirozený primární klíč.
Co je klíč Super?
Superklíč je skupina jednoho nebo více klíčů, které identifikují řádky v tabulce. Super klíč může mít další atributy, které nejsou nutné pro jedinečnou identifikaci.
Příklad:
EmpSSN | EmpNum | Empname |
9812345098 | AB05 | Zobrazeno |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
Ve výše uvedeném příkladu jsou názvy EmpSSN a EmpNum superklíče.
Co je primární klíč?
PRIMARY KEY je sloupec nebo skupina sloupců v tabulce, která jednoznačně identifikuje každý řádek v této tabulce. Primární klíč nemůže být duplikát, což znamená, že se stejná hodnota nemůže v tabulce objevit více než jednou. Tabulka nemůže mít více než jeden primární klíč.
Pravidla pro definování primárního klíče:
- Dva řádky nemohou mít stejnou hodnotu primárního klíče
- Musí mít pro každý řádek hodnotu primárního klíče.
- Pole primárního klíče nemůže mít hodnotu null.
- Hodnotu ve sloupci primárního klíče nelze nikdy upravit ani aktualizovat, pokud na tento primární klíč odkazuje jakýkoli cizí klíč.
Příklad:
V následujícím příkladu je StudID
primární klíč.
StudID | Role č | Jméno | Příjmení | E-mailem |
1 | 11 | Tom | Cena | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
2 | 12 | Nicku | Wrighte | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
3 | 13 | Dana | Natane | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
Co je alternativní klíč?
ALTERNATE KEYS je sloupec nebo skupina sloupců v tabulce, která jednoznačně identifikuje každý řádek v této tabulce. Tabulka může mít více možností pro primární klíč, ale jako primární klíč lze nastavit pouze jednu. Všechny klíče, které nejsou primárním klíčem, se nazývají Alternativní klíč.
Příklad:
V této tabulce jsou StudID, Roll No, Email kvalifikovány jako primární klíč. Ale protože StudID je primární klíč, Roll No, Email se stane alternativním klíčem.
StudID | Role č | Jméno | Příjmení | E-mailem |
1 | 11 | Tom | Cena | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
2 | 12 | Nicku | Wrighte | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
3 | 13 | Dana | Natane | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
Co je klíč kandidáta?
KANDIDÁTOVÝ KLÍČ je sada atributů, které jednoznačně identifikují n-tice v tabulce. Candidate Key je super klíč bez opakovaných atributů. Primární klíč by měl být vybrán z kandidátských klíčů. Každá tabulka musí mít alespoň jeden klíč kandidáta. Tabulka může mít více kandidátských klíčů, ale pouze jeden primární klíč.
Vlastnosti klíče kandidáta:
- Musí obsahovat jedinečné hodnoty
- Klíč kandidáta může mít více atributů
- Nesmí obsahovat nulové hodnoty
- Měl by obsahovat minimální pole, aby byla zajištěna jedinečnost
- Jednoznačně identifikujte každý záznam v tabulce
Příklad: V dané tabulce jsou Stud ID, Roll No a email klíčem, který nám pomůže jednoznačně identifikovat záznam studenta v tabulce.
StudID | Role č | Jméno | Příjmení | E-mailem |
1 | 11 | Tom | Cena | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
2 | 12 | Nicku | Wrighte | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
3 | 13 | Dana | Natane | Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript. |
Co je cizí klíč?
FOREIGN KEY je sloupec, který vytváří vztah mezi dvěma tabulkami. Účelem cizích klíčů je zachovat integritu dat a umožnit navigaci mezi dvěma různými instancemi entity. Funguje jako křížový odkaz mezi dvěma tabulkami, protože odkazuje na primární klíč jiné tabulky.
Příklad:
DeptCode | DeptName |
001 | Věda |
002 | Angličtina |
005 | Počítač |
ID učitele | Jméno | Lname |
B002 | Davide | Warner |
B017 | Sára | Joseph |
B009 | Mike | Bruntone |
V tomto klíči v příkladu dbms máme ve škole dvě tabulky, výuku a oddělení. Neexistuje však žádný způsob, jak zjistit, které vyhledávací práce v kterém oddělení fungují.
V této tabulce přidáním cizího klíče v Deptcode do jména učitele můžeme vytvořit vztah mezi těmito dvěma tabulkami.
ID učitele | DeptCode | Jméno | Lname |
B002 | 002 | Davide | Warner |
B017 | 002 | Sára | Joseph |
B009 | 001 | Mike | Bruntone |
Tento koncept je také známý jako referenční integrita.
Co je to složený klíč?
KOMPONENTNÍ KLÍČ má dva nebo více atributů, které vám umožňují jednoznačně rozpoznat konkrétní záznam. Je možné, že každý sloupec nemusí být v databázi sám o sobě jedinečný. V kombinaci s jiným sloupcem nebo sloupci se však kombinace složených klíčů stává jedinečnou. Účelem složeného klíče v databázi je jednoznačně identifikovat každý záznam v tabulce.
Příklad:
Objednávka číslo | PorductID | jméno výrobku | Množství |
B005 | JAP102459 | Myš | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | Lcd monitor | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Laserová tiskárna | 3 |
V tomto příkladu OrderNo a ProductID nemohou být primárním klíčem, protože jednoznačně neidentifikují záznam. Lze však použít složený klíč ID objednávky a ID produktu, protože jednoznačně identifikoval každý záznam.
Co je to složený klíč?
KOMPOZITNÍ KLÍČ je kombinací dvou nebo více sloupců, které jednoznačně identifikují řádky v tabulce. Kombinace sloupců zaručuje jedinečnost, i když není jedinečnost zaručena. Proto jsou kombinovány, aby jednoznačně identifikovaly záznamy v tabulce.
Rozdíl mezi složeným a složeným klíčem spočívá v tom, že jakoukoli částí složeného klíče může být cizí klíč, ale složený klíč může nebo nemusí být součástí cizího klíče.
Co je náhradní klíč?
SURROGATE KEYS je Umělý klíč, jehož cílem je jednoznačná identifikace každého záznamu, se nazývá náhradní klíč. Tento druh částečného klíče v dbms je jedinečný, protože je vytvořen, když nemáte žádný přirozený primární klíč. Neposkytují údajům v tabulce žádný význam. Náhradní klíč je obvykle celé číslo. Náhradní klíč je hodnota generovaná těsně před vložením záznamu do tabulky.
Jméno | Příjmení | Doba spuštění | Čas ukončení |
Anne | Kovář | 09:00 | 18:00 |
Zvedák | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Zobrazeno | Willam | 14:00 | 23:00 |
Výše uvedený příklad ukazuje časování směn u různých zaměstnanců. V tomto příkladu je nutný náhradní klíč k jedinečné identifikaci každého zaměstnance.
Náhradní klíče v sql jsou povoleny, když
- Žádná vlastnost nemá parametr primárního klíče.
- V tabulce, když je primární klíč příliš velký nebo komplikovaný.
Rozdíl mezi primárním klíčem a cizím klíčem
Primární klíč | Cizí klíč |
Pomůže vám jednoznačně identifikovat záznam v tabulce. | Je to pole v tabulce, které je primárním klíčem jiné tabulky. |
Primární klíč nikdy nepřijímá hodnoty null. | Cizí klíč může přijímat více hodnot null. |
Primárním klíčem je seskupený index a data v tabulce DBMS jsou fyzicky uspořádána v pořadí seskupeného indexu. | Cizí klíč nemůže automaticky vytvořit index, seskupený nebo neseskupený. Můžete však ručně vytvořit index pro cizí klíč. |
Jediný primární klíč můžete mít v tabulce. | V tabulce můžete mít více cizích klíčů. |
souhrn
- Klíčem v SQL je atribut nebo sada atributů, které vám pomohou identifikovat řádek (n-tici) v relaci (tabulka)
- Klíče DBMS vám umožňují navázat vztah mezi tabulkami a identifikovat je
- Sedm typů klíčů DBMS je klíč Super, Primary, Candidate, Alternate, Foreign, Compound, Composite a Surrogate.
- Super klíč je skupina jednoho nebo více klíčů, která identifikuje řádky v tabulce.
- Sloupec nebo skupina sloupců v tabulce, která nám pomáhá jednoznačně identifikovat každý řádek v této tabulce, se nazývá primární klíč
- Všechny klíče, které nejsou primárním klíčem, se nazývají alternativní klíče
- Super klíč bez opakovaného atributu se nazývá kandidátský klíč
- Složený klíč je klíč, který má mnoho polí, která vám umožní jednoznačně rozpoznat konkrétní záznam
- Klíč, který má více atributů k jedinečné identifikaci řádků v tabulce, se nazývá složený klíč
- Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč
- Primární klíč nikdy nepřijímá hodnoty null, zatímco cizí klíč může přijímat více hodnot null.