Čo je primárny kľúč?

Zistite, čo robí dobrý alebo zlý primárny kľúč v databáze

Čo je primárny kľúč? Vo svete databáz primárny kľúč relačnej tabuľky jednoznačne identifikuje každý záznam v tabuľke. Databázy používajú klávesy na porovnávanie, triedenie a ukladanie záznamov a vytváranie vzťahov medzi záznamami.

Výber primárneho kľúča v databáze je jedným z najdôležitejších krokov v procese. Môže to byť normálny atribút, ktorý je zaručený ako jedinečný, ako napríklad číslo sociálneho poistenia na tabuľke s najviac jedným záznamom na osobu alebo - prednostne - môže byť generované systémom správy databáz, ako napríklad celosvetovo jedinečným identifikátorom alebo identifikátorom GUID v Microsoft SQL Server . Primárne kľúče môžu pozostávať z jedného atribútu alebo viacerých atribútov v kombinácii.

Primárne kľúče sú jedinečné prepojenia na súvisiace informácie v iných tabuľkách, kde sa používa primárny kľúč. Musí sa zadať, keď sa vytvorí záznam, a nikdy by sa nemal meniť. Každá tabuľka v databáze obsahuje stĺpec alebo dva špeciálne pre primárny kľúč.

Príklad primárneho kľúča

Predstavte si, že máte tabuľku STUDENTov, ktorá obsahuje záznam pre každého študenta na univerzite. Jedinečné študentské ID číslo je dobrou voľbou pre primárny kľúč v tabuľke STUDENTov. Priezvisko a priezvisko študenta nie sú dobré voľby, pretože vždy existuje šanca, že viac ako jeden študent môže mať rovnaké meno.

Ďalšie zlé voľby pre primárne kľúče zahŕňajú PSČ, e-mailovú adresu a zamestnávateľa, ktoré môžu zmeniť alebo zastupovať mnoho ľudí. Identifikátor použitý ako primárny kľúč musí byť jedinečný. Dokonca aj čísla sociálneho poistenia sa môžu zmeniť, keď správa sociálneho zabezpečenia preradí číslo niekomu, kto bol postihnutý krádežou identity. Niektorí ľudia nemajú ani číslo sociálneho poistenia. Pretože obidva tieto prípady sú zriedkavé. Čísla sociálneho zabezpečenia môžu byť dobrou voľbou pre primárny kľúč.

Tipy na výber dobrých primárnych kľúčov

Keď vyberiete správny primárny kľúč, databázové vyhľadávania sú rýchle a spoľahlivé. Len si pamätaj: