Základní klíče, které usnadňují správu databáze

Databáze používají tabulky k uspořádání informací. Každá tabulka se skládá z několika řádků, z nichž každý odpovídá jednomu databázovému záznamu. Jak tedy databáze udržují tyto záznamy v pořádku? Je to pomocí klíčů.

Primární klíče

Prvním typem klíče, o kterém budeme diskutovat, je primární klíč. The primární klíč jedinečně identifikuje každý záznam v tabulce. Každá databázová tabulka by měla mít jeden nebo více sloupců určených jako primární klíč.

Příklad primárního klíče

Předpokládejme, že máme tabulku nazvanou Zaměstnanci, která obsahuje personální informace pro každého zaměstnance v naší firmě. Potřebovali bychom vybrat vhodný primární klíč, který by jednoznačně identifikoval každého zaměstnance. Vaše první myšlenka by mohla být použít jméno zaměstnance. To by však nefungovalo, protože si lze představit, že byste najali dva zaměstnance se stejným jménem. Lepší volbou může být použití jedinečného identifikačního čísla zaměstnance přiděleného každému zaměstnanci při najímání.

Některé organizace používají čísla sociálního zabezpečení (nebo podobné vládní identifikátory) jako primární klíč, protože každý zaměstnanec je již má a je zaručeno, že jsou jedinečné. Použití čísel sociálního zabezpečení pro tento účel je však kontroverzní kvůli obavám o soukromí.

Pokud pracujete pro vládní organizaci, používání čísla sociálního zabezpečení nemusí být legální podle zákona o ochraně soukromí z roku 1974. Z tohoto důvodu většina organizací přešla na používání jedinečných identifikátorů, jako je ID zaměstnance nebo ID studenta.

Jakmile se rozhodnete pro primární klíč a nastavíte databázi, systém správy databáze vynucuje jedinečnost klíče. Pokud například vložíte záznam do tabulky s primárním klíčem, který duplikuje existující záznam, vložení se nezdaří.

Většina databází je také schopna generovat primární klíče. Aplikace Microsoft Access může být například nakonfigurována tak, aby používala datový typ AutoNumber k přiřazení jedinečného ID každému záznamu v tabulce. I když je to efektivní, je to špatný návrhářský postup, protože vám v každém záznamu v tabulce ponechává nesmyslnou hodnotu. Místo toho využijte tento prostor k uložení něčeho užitečného.

Cizí klíče

Dalším typem klíče je cizí klíč. Cizí klíč vytváří přirozené vztahy mezi tabulkami. Ve většině databázových struktur existují přirozené vztahy mezi tabulkami.

Příklad cizího klíče

Když se vrátíme do naší databáze zaměstnanců, představme si, že chceme do databáze přidat tabulku obsahující informace o oddělení. Tato nová tabulka by se mohla jmenovat Oddělení a obsahovala by velké množství informací o oddělení jako celku.

Chtěli bychom také zahrnout informace o zaměstnancích v oddělení, ale bylo by nadbytečné mít stejné informace ve dvou tabulkách (Zaměstnanci a Oddělení). Místo toho bychom vytvořili vztah mezi dvěma tabulkami.

Vytvoření vztahu mezi tabulkami

Předpokládejme, že tabulka Oddělení používá jako primární klíč sloupec Název oddělení. Abychom vytvořili vztah mezi dvěma tabulkami, přidali bychom do tabulky Zaměstnanci nový sloupec s názvem Oddělení.

Dále bychom vyplnili název oddělení, do kterého každý zaměstnanec patří. Poté bychom informovali Systém pro správu databází že sloupec Oddělení v tabulce Zaměstnanci je cizí klíč, který odkazuje na tabulku Oddělení.

Pro cizí klíč neexistuje žádné omezení jedinečnosti, protože například můžeme mít více než jednoho zaměstnance, který patří do jednoho oddělení. Podobně neexistuje požadavek, aby položka v tabulce Oddělení měla odpovídající položku v tabulce Zaměstnanci, protože bychom mohli mít oddělení bez zaměstnanců.