dum | žák

Databázový procesor

Název školy Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace
Adresa školky Kostelní 134, 411 08 Štětí
46773509
Název operačního programu OP Vzdělávání pro konkurenceschopnost
Registrační číslo CZ.1.07/1.5.00/34.1006
Označení vzdělávacího materiálu
Název tématické oblasti (sady) Programové vybavení
Název materiálu Tabulky
Anotace
Autor Jazyk
Očekávaný výstup
Klíčová slova
Druh výukového zdroje Věková skupina žáků
Typ interakce Ročník
Speciální vzdělávací potřeby žádné
Zhotoveno, (datum/období) Celková velikost

pdf icon
Primární klíče

Obsah

Zběžný úvod do primárních klíčů

Definice říká, že primární klíč jednoznačně identifikuje každý záznam (tedy řádek) v tabulce. Už ale není blíže specifikováno, co to ten primární klíč tedy je.

Z pohledu tabulky to může být zvláštní sloupec, ve kterém se budou například jednotlivé řádky číslovat. Pokaždé, když se přidá nový řádek, tak se ve sloupci s primárním klíčem navýší hodnota o 1.

Pokud zvolíme dostatečně objemný datový typ, číslování nám vydrží dlouho. Tinyint se rozhodně nehodí na pozici primárního klíče.

Primárním klíčem může být ovšem i alfanumerický datový typ, tedy třeba i text. Zde ovšem není možné uplatnit automatické navyšování hodnoty, protože není definován způsob jak. Jedinečnost klíče pak musí zajistit ten, kdo do tabulky vkládá data. Pokud by byl vložen záznam se s primárním klíčem, který již byl použit, tak vložení záznamu selže.

Primární klíč může být navíc definován jako kombinace přes několik sloupců.

ID?

Jednotlivé záznamy je třeba umožnit identifikovat z různých důvodů. Jak byste si ukázali na záznam, který chcete smazat? Bez primárního klíče byste museli v dotazu použít jeden nebo spíše více atributů, které by tento záznam jednoznačně identifikovali, aby náhodou nedošlo ke smazání dalších záznamů se stejnými hodnotami (pokud to ovšem není záměr). Např. v tabulce kontakty, kdyby nebyl primární klíč, možná bychom mohli jednoznačně kontakt identifikovat podle příjmení. Jaká je šance, že mezi kontakty budou dvě osoby stejného příjmení? Dobře, můžeme použít kombinaci jména a příjmení? Pravděpodobnost je sice menší, ale stále není nepatrná, resp. nulová.