Primary key a foreign key - to jsou dva důležité pojmy v databázích, které pomáhají vytvořit vazby mezi tabulkami a zajistit integritu dat. Primární klíč (primary key) je jedinečný identifikátor každého záznamu v tabulce, který umožňuje jednoznačnou identifikaci tohoto záznamu.
Hlavní vlastností primárního klíče je jeho jedinečnost a neměnnost. Také se obvykle automatizuje, což znamená, že každý nový záznam v tabulce bude mít jedinečnou hodnotu primárního klíče větší než předchozí záznam.
Foreign key (externí klíč) je pole v tabulce, které odkazuje na primární klíč jiné tabulky. Tímto způsobem můžeme pomocí externího klíče navázat spojení mezi dvěma tabulkami a zajistit integritu dat.
Pomocí externího klíče můžeme vytvářet vztahy mezi tabulkami, jako je propojení dat z tabulky objednávky s daty z tabulky zákazníci. V tomto případě, pokud je v tabulce "Zákazníci" odstraněn záznam s určitým id, pak budou automaticky odstraněny všechny položky v tabulce "Objednávky" s tímto id, aby nedošlo k narušení integrity dat.
Primary key: definice a účel
Primary key může být reprezentován jedním nebo více sloupci (poli) v tabulce a musí být jedinečný pro každý řádek. Poskytuje jedinečnost dat, což umožňuje identifikovat a přistupovat k jednotlivým záznamům v tabulce pomocí tohoto klíče.
Primary key lze také použít k zajištění referenční integrity v databázi. Může být spojen s jinými tabulkami prostřednictvím foreign key nebo externího klíče, což umožňuje vytvářet vztahy mezi tabulkami.
Primary key je obvykle vybrán mezi dostupnými sloupci v tabulce, které splňují podmínky jedinečnosti a neměnnosti. Pokud je například v tabulce sloupec "ID", který je jedinečný pro každý řádek a nelze jej změnit, může být tento sloupec použit jako primární klíč.
Použití primary key umožňuje zlepšit efektivitu práce s databází, urychlit provádění dotazů a zajistit integritu dat. Při navrhování databáze je důležité správně vybrat a identifikovat primary key, aby byla zajištěna efektivní a spolehlivá práce s daty.
| Příklad tabulky s primary key | ||
|---|---|---|
| ID | Název | Věk |
| 1 | Ivan | 25 |
| 2 | Anna | 30 |
| 3 | Petr | 35 |
V tomto příkladu je sloupec " ID " primary key tabulky, protože každá hodnota je jedinečná a neměnná. Díky tomuto klíči lze snadno identifikovat každý záznam v tabulce.
Foreign key: podstata a aplikace
Hlavním cílem použití externího klíče je zajistit integritu dat a podporu vazeb mezi tabulkami. Pomocí externího klíče je možné vytvářet komunikaci mezi daty v různých tabulkách, což umožňuje vytvářet složitější datové struktury.
Vnější klíč je definován uvnitř tabulky, která odkazuje na jinou tabulku. Ukazuje primární klíč v této jiné tabulce. Externí klíč tak propojuje záznamy v jedné tabulce s odpovídajícími záznamy v jiné tabulce.
Použití externího klíče může být velmi užitečné při navrhování databáze. Umožňuje budovat komplexní datové struktury, zajišťuje konektivitu a integritu dat. Externí klíče také usnadňují proces vyhledávání a třídění dat a umožňují optimalizaci databázových dotazů, což zlepšuje výkon.
Při používání externího klíče je třeba vzít v úvahu, že vyžaduje dodržování určitých pravidel a omezení. Například hodnota externího klíče musí odpovídat hodnotě primárního klíče v propojené tabulce. Pokud záznam s touto hodnotou chybí, může dojít k chybě nebo narušení integrity dat.
| Tabulka objednávek | Tabulka zákazníků |
|---|---|
| order_id (primární klíč) | customer_id (primární klíč) |
| order_date | customer_name |
| customer_id (externí klíč) | customer_email |
Například v tabulce objednávek externí klíč customer_id propojuje každý záznam s příslušným záznamem v tabulce zákazníků. Díky tomu jsou komunikace mezi daty udržovány na úrovni databáze.