Ačkoli primární klíč je vybrán z kandidátních klíčů, existuje určitý rozdíl mezi primárním klíčem a ostatními kandidátskými klíči, které budou podrobně popsány v tomto článku. Návrh databáze je jednou z nejdůležitějších činností, která by měla být prováděna při údržbě a ukládání dat. Během tohoto procesu navrhování musí být vytvořeny různé tabulky s mnoha vztahy. Pro přístup k těmto tabulkám v databázi se používají různé typy klíčů v moderních jazycích navrhujících databáze, jako jsou MYSQL, MSAccess, SQLite atd. Z těchto klíčů se kandidátské klíče a primární klíče staly nezbytnými v postupech navrhování databází..
Kandidátský klíč je jeden sloupec nebo sada sloupců v tabulce databáze, na kterou lze použít jednoznačně identifikovat jakýkoli databázový záznam, aniž by odkazoval na jiná data. Každá tabulka databáze může mít jeden nebo více než jeden kandidátský klíč. Sada kandidátních klíčů může být vytvořena pomocí funkčních závislostí. V kandidátském klíči jsou některé důležité funkce. Oni jsou;
• kandidátní klíče by měly být v rámci domény jedinečné a neměly by obsahovat žádné hodnoty NULL.
• Kandidátský klíč by se nikdy neměl měnit a musí mít stejnou hodnotu pro konkrétní výskyt entity.
Hlavním účelem klíče kandidáta je pomoci identifikovat jeden jediný řádek z milionů řádků ve velké tabulce. Každý kandidátský klíč je kvalifikován, aby se stal primárním klíčem. Ze všech kandidátských klíčů se však nejdůležitější a speciální kandidátský klíč stane primárním klíčem tabulky a je nejlepší mezi kandidátními klíči.
Primární klíč je nejlepší kandidátský klíč tabulky, který se používá k jedinečné identifikaci záznamů které jsou uloženy v tabulce. Při vytváření nové tabulky v databázi jsme vyzváni k výběru primárního klíče. Proto je výběr primárního klíče pro tabulku nejdůležitějším rozhodnutím, které by měl učinit návrhář databáze. Nejdůležitějším omezením, které je třeba vzít v úvahu při rozhodování primárního klíče, je to, že vybraný sloupec tabulky by měl obsahovat pouze jedinečné hodnoty a neměl by obsahovat žádné hodnoty NULL. Některé z primárních klíčů, které se běžně používají při navrhování tabulek, jsou číslo sociálního zabezpečení (SSN), ID a číslo národní identifikační karty (NIC).
Programátor by si měl pamatovat, že si primární klíč vybere opatrně, protože je obtížné jej změnit. Podle programátorů je proto nejlepší praxí při vytváření primárního klíče používat interně generovaný primární klíč, jako je ID záznamu vytvořené datovým typem AutoNumber MS Access. Pokud se pokusíme vložit záznam do tabulky pomocí primárního klíče, který duplikuje existující záznam, vložení se nezdaří. Hodnota primárního klíče by se neměla neustále měnit, proto je důležité ponechat statický primární klíč.
Primární klíč je nejlepší kandidátský klíč.
• Kandidátský klíč je sloupec, který se kvalifikuje jako jedinečný, zatímco primární klíč je sloupec, který jedinečně identifikuje záznam.
• Tabulka bez kandidátních klíčů nepředstavuje žádný vztah.
• V databázi může být mnoho kandidátních klíčů, ale pro tabulku by měl existovat pouze jeden primární klíč.
• Přestože je primární klíč jedním z kandidátů, někdy je to pouze klíč kandidáta.
• Jakmile byl vybrán primární klíč, ostatní kandidátské klíče se stanou jedinečnými klíči.
• Prakticky kandidátský klíč může obsahovat hodnoty NULL, i když v současnosti neobsahuje žádnou hodnotu. Kandidátský klíč proto není kvalifikován pro primární klíč, protože primární klíč by neměl obsahovat žádné hodnoty NULL.
• Může být také možné, že kandidátské klíče, které jsou v tuto chvíli jedinečné, mohou obsahovat duplicitní hodnoty, které vylučují, aby se kandidátský klíč stal primárním klíčem..
Souhrn:
Kandidátský klíč a primární klíč jsou základní klíče, které se používají při navrhování databází, aby jedinečně identifikovaly data v záznamu a navázaly vztahy mezi tabulkami databáze. Tabulka by měla obsahovat pouze jeden primární klíč a může obsahovat více než jeden kandidátský klíč. Dnes je většina databází schopna automaticky generovat svůj vlastní primární klíč. Primární klíč a kandidátní klíče proto poskytují četnou podporu systémům správy databází.
Obrázky se svolením: