Co je primární klíč?
Primární klíč je položka v databázi, která je jedinečná pro jeden záznam. Tento klíč je obecně odvozen jedním ze dvou způsobů: jedinečný identifikační kód z vnějšku databáze nebo vygenerované číslo z databáze. Pokud databáze bude obsahovat informace, které jsou pro danou položku vždy jedinečné, například číslo sociálního zabezpečení nebo identifikační číslo součásti, pak se obvykle používají jako primární klíč. Pokud data nebudou mít takový identifikátor, databáze často vytvoří čísla na základě svých interních systémů, aby každému záznamu poskytla jedinečný kód.
Primární klíč má tři hlavní omezení: existenci, jedinečnost a neměnitelnost. V době záznamu musí existovat klíč - později jej nelze přidat. Každý klíč musí být úplně jiný než jakýkoli jiný klíč. To znamená, že společné identifikátory, jako je jméno nebo datum narození, nelze použít, protože je možné, že se dva lidé narodí ve stejný den se stejným jménem. Nakonec nelze primární klíč po vytvoření nikdy změnit.
Protože databáze může mít potenciálně nekonečný počet položek, musí být primární klíč také nekonečný. Aby se zajistilo, že databáze nikdy nedojdou klíče, používá většina záznamů pro klíč numerický kód. Protože čísla se mohou vždy zvětšovat a počítače mohou jednoduše přidat nuly pro přidržování míst k starším záznamům, systém nikdy nevyčerpá klíče. Někdy jsou tato čísla založena na nejedinečných informacích, ale je přidán jedinečný identifikátor, aby byl zajištěn životaschopnost klíče.
Databáze budou používat primární klíč jako způsob organizace dat. Protože klíč se nikdy neopakuje, tato informace umožní databázi uchovat každý záznam odděleně od ostatních. Každá informace v záznamu je připojena zpět ke klíči; Tímto způsobem, bez ohledu na to, co se stane se systémem, může databáze znovu vytvořit záznamy z volných informací.
Přiřazení smysluplného primárního klíče je často považováno za lepší postup než automatické generování hodnoty. To poskytne záznamu identifikátor, který funguje jako klíč a poskytuje data. V malých databázích je toto rozlišení jen zřídka nezbytné, ale ve velkých systémech může mít za následek další prostor, který generovaný klíč obsahuje, vážné bloudění databáze. To zpomalí systém a způsobí, že databáze vyžaduje výrazně více úložného prostoru.