Základné klávesy, ktoré spravujú správu databáz jednoduché

Databázové klávesy sú najjednoduchší spôsob vytvorenia efektívnej relačnej databázy

Ako možno viete, databázy používajú tabuľky na usporiadanie informácií. (Ak nemáte základnú znalosť databázových konceptov, prečítajte si Čo je databáza? ) Každá tabuľka sa skladá z niekoľkých riadkov, z ktorých každý zodpovedá jedinému záznamu databázy. Takže, ako databázy uchovávajú všetky tieto záznamy rovno? Je to pomocou kľúčov.

Primárne klávesy

Prvý typ kľúča, o ktorom budeme diskutovať, je primárny kľúč . Každá databázová tabuľka by mala mať jeden alebo viac stĺpcov označených ako primárny kľúč . Hodnota, ktorú tento kľúč platí, by mala byť jedinečná pre každý záznam v databáze.

Predpokladajme napríklad, že máme tabuľku s názvom Zamestnanci, ktorá obsahuje informácie o zamestnancoch pre každého zamestnanca v našej firme. Musíme vybrať vhodný primárny kľúč, ktorý by jednoznačne identifikoval každého zamestnanca. Vašou prvou myšlienkou môže byť použitie mena zamestnanca. To by nefungovalo veľmi dobre, pretože je mysliteľné, že by ste najali dvoch zamestnancov s rovnakým menom. Lepším výberom môže byť použitie jedinečného identifikačného čísla zamestnanca, ktoré priradíte každému zamestnancovi pri jeho prijímaní. Niektoré organizácie sa rozhodli pre túto úlohu používať čísla sociálneho zabezpečenia (alebo podobné vládne identifikačné znaky), pretože každý zamestnanec už má jednu a sú zaručené, že sú jedinečné. Používanie čísel sociálneho poistenia na tento účel je však veľmi kontroverzné kvôli obavám o súkromie. (Ak pracujete pre vládnu organizáciu, použitie čísla sociálneho poistenia môže byť dokonca nezákonné podľa zákona o ochrane súkromia z roku 1974.) Z tohto dôvodu sa väčšina organizácií presunula na používanie jedinečných identifikátorov (ID zamestnanca, ID študenta atď. .), ktoré nesúhlasia s týmito obavami o súkromie.

Akonáhle sa rozhodnete pre primárny kľúč a nastavíte databázu, systém správy databázy presadzuje jedinečnosť kľúča.

Ak sa pokúsite vložiť záznam do tabuľky s primárnym kľúčom, ktorý duplikuje existujúci záznam, vložka zlyhá.

Väčšina databáz je tiež schopná generovať vlastné primárne kľúče. Napríklad Microsoft Access môže byť nakonfigurovaný tak, aby používal typ údajov AutoNumber priradiť jedinečné ID k jednotlivým záznamom v tabuľke. Aj keď je to efektívne, ide o zlú konštrukčnú prax, pretože v každom zázname v tabuľke vám necháva bezvýznamnú hodnotu. Prečo nepoužívať tento priestor na uloženie niečoho užitočného?

Zahraničné kľúče

Ďalším typom je cudzí kľúč , ktorý sa používa na vytváranie vzťahov medzi tabuľkami. Prírodné vzťahy existujú medzi tabuľkami vo väčšine databázových štruktúr. Pri návrate do databázy Zamestnanci si predstavte, že chceme do databázy pridať tabuľku obsahujúcu informácie oddelenia. Táto nová tabuľka by sa mohla nazvať oddelenia a obsahovala veľké množstvo informácií o oddelení ako celku. Chceli by sme tiež uviesť informácie o zamestnancoch v oddelení, ale bolo by zbytočné mať rovnaké informácie v dvoch tabuľkách (Zamestnanci a oddelenia). Namiesto toho môžeme vytvoriť vzťah medzi týmito dvoma tabuľkami.

Predpokladajme, že tabuľka oddelení používa ako primárny kľúč stĺpec Názov oddelenia. Ak chcete vytvoriť vzťah medzi týmito dvoma tabuľkami, pridáme nový stĺpec do tabuľky Zamestnanci s názvom Oddelenie. Potom vyplníme názov oddelenia, ku ktorému patrí každý zamestnanec. Systém správy databáz tiež informujeme o tom, že stĺpec oddelenia v tabuľke Zamestnanci je cudzí kľúč, ktorý odkazuje na tabuľku oddelení.

Databáza potom vynucuje referenčnú integritu tým, že zabezpečí, aby všetky hodnoty v stĺpci Oddelenia tabuľky Zamestnanci mali zodpovedajúce položky v tabuľke Oddelenia.

Všimnite si, že neexistuje obmedzenie jedinečnosti pre cudzí kľúč. Môžeme (a s najväčšou pravdepodobnosťou) mať viac ako jedného zamestnanca, ktorý patrí do jedného oddelenia. Podobne neexistuje požiadavka, aby záznam v tabuľke oddelení mal zodpovedajúci záznam v tabuľke Zamestnanci. Je možné, že budeme mať oddelenie bez zamestnancov.

Viac informácií o tejto téme nájdete v časti Vytvorenie cudzích kľúčov .