Databáze závisí na klíčích pro ukládání, třídění a porovnávání nebo vytváření vztahů mezi záznamy. Pokud už nějakou dobu procházíte databázemi, pravděpodobně jste již slyšeli o různých typech klíčů: primární klíče, kandidátské klíče a cizí klíče. Když vytvoříte novou databázovou tabulku, budete vyzváni k výběru jednoho primárního klíče, který jedinečně identifikuje každý záznam uložený v této tabulce.
Proč je primární klíč důležitý
Výběr primárního klíče je jedním z nejdůležitějších rozhodnutí, která učiníte při návrhu nové databáze. Nejdůležitějším omezením je, že musíte zajistit, aby vybraný klíč byl jedinečný. Pokud je možné, že dva záznamy (minulé, současné nebo budoucí) mohou sdílet stejnou hodnotu atributu, je to špatná volba pro primární klíč. Dalším důležitým aspektem primárního klíče je jeho použití jinými tabulkami, které na něj odkazují v relační databázi. V tomto aspektu funguje primární klíč jako cíl ukazatele. Z důvodu těchto vzájemných závislostí musí při vytvoření záznamu existovat primární klíč, který se nikdy nemůže změnit.
Špatná volba primárních klíčů
Někteří lidé by mohli považovat evidentní výběr primárního klíče za špatnou volbu. Zde je několik příkladů:
- PSČ nedělejte dobré primární klíče pro tabulku měst. Pokud vytváříte jednoduchou vyhledávací tabulku měst, PSČ se zdá být logickým primárním klíčem. Při dalším zkoumání si však můžete uvědomit, že více než jedno město sdílí PSČ. Například města New Jersey Neptun, Neptune City, Tinton Falls a Wall Township sdílejí PSČ 07753.
- Čísla sociálního zabezpečení nedělejte dobré primární klíče z mnoha důvodů. Většina lidí považuje své SSN za soukromé a nechtějí, aby byly uživatelům databáze jasně viditelné. Někteří lidé navíc nemají SSN.
- Emailová adresa jsou také špatnou volbou pro primární klíč. I když jsou jedinečné, mohly by se časem změnit. Navíc ne každý má e-mailovou adresu.
Co dělá dobrý primární klíč
Jak si tedy vyberete efektivní primární klíč? Ve většině případů se obraťte na podporu svého databázového systému. Osvědčeným postupem při návrhu databáze je použití interně generovaného primárního klíče. Váš systém správy databáze může normálně vygenerovat jedinečný identifikátor, který mimo databázový systém nemá žádný význam. Například můžete použít datový typ Microsoft Access AutoNumber k vytvoření pole s názvem RecordID. Typ dat AutoNumber automaticky zvýší pole pokaždé, když vytvoříte záznam. I když samotné číslo nemá smysl, poskytuje spolehlivý způsob odkazování na jednotlivý záznam v dotazech. Dobrý primární klíč je obvykle krátký, používá čísla a vyhýbá se speciálním znakům nebo kombinaci velkých a malých znaků, aby usnadnil rychlé vyhledávání a porovnávání databází.