Výber primárneho kľúča

Nepoužívajte PSČ ani číslo sociálneho poistenia

Databázy závisia od kľúčov na ukladanie, triedenie a porovnávanie alebo vytváranie vzťahov medzi záznamami. Ak ste na nej chvíľku boli databázy, pravdepodobne ste počuli o rôznych typoch kľúčov: primárne kľúče, kandidátske kľúče a cudzie kľúče . Keď vytvoríte novú databázovú tabuľku, zobrazí sa výzva na výber jedného primárneho kľúča, ktorý jedinečne identifikuje každý záznam uložený v danej tabuľke.

Prečo je primárny kľúč dôležitý

Výber primárneho kľúča je jedno z najdôležitejších rozhodnutí, ktoré urobíte pri návrhu novej databázy . Najdôležitejším obmedzením je, že musíte zabezpečiť, aby bol vybraný kľúč jedinečný. Ak je možné, že dva záznamy - minulé, súčasné alebo budúce - môžu zdieľať rovnakú hodnotu pre atribút, je to zlá voľba primárneho kľúča.

Ďalším dôležitým aspektom primárneho kľúča je jeho použitie v iných tabuľkách, ktoré naň odkazujú v relačnej databáze. V tomto aspekte sa primárny kľúč správa ako cieľ ukazovateľa. Vzhľadom na tieto vzájomné závislosti musí primárny kľúč existovať pri vytváraní záznamu a nikdy sa nemôže meniť.

Zlé voľby pre primárne klávesy

To, čo niektorí ľudia môžu považovať za jasnú voľbu primárneho kľúča, môže byť namiesto toho slabá voľba. Tu je niekoľko príkladov:

Výber efektívneho primárneho kľúča

Takže, čo robí dobrý primárny kľúč? Vo väčšine prípadov sa obráťte na databázový systém na podporu.

Najlepším postupom v návrhu databázy je použitie interného generovaného primárneho kľúča. Váš systém správy databáz môže zvyčajne generovať jedinečný identifikátor, ktorý nemá zmysel mimo databázového systému. Môžete napríklad použiť typ údajov Microsoft Access AutoNumber na vytvorenie poľa s názvom RecordID. Typ údajov Automatické číslo automaticky zvýši poľa pri každom vytvorení záznamu. Zatiaľ čo samotné číslo je bezvýznamné, poskytuje spoľahlivý spôsob, ako odkazovať na jednotlivý záznam v dopytoch.

Dobrý primárny kľúč je zvyčajne krátky, používa čísla a vyhýba sa špeciálnym znakom alebo kombinácii veľkých a malých písmen, čo uľahčuje rýchle vyhľadávanie a porovnávanie databáz.