Primární klíč je pole nebo sada polí s hodnotami, které jsou v rámci tabulky jedinečné. Pomocí hodnot klíče můžete odkazovat na celé záznamy, protože každý záznam má pro klíč jinou hodnotu. Každá tabulka může mít jenom jeden primární klíč. Access může automaticky vytvořit pole primárního klíče při vytváření tabulky nebo můžete zadat pole, která chcete použít jako primární klíč. Tento článek vysvětluje, jak a proč primární klíče používat.
Pokud chcete nastavit primární klíč tabulky, otevřete tabulku v návrhovém zobrazení. Vyberte pole, které chcete použít, a pak na pásu karet vyberte Primární klíč.
V tomto článku
Přehled primárních klíčů v Access
Access používá pole primárního klíče k rychlému přidružení dat z více tabulek a jejich smysluplné kombinování. Pole primárního klíče můžete zahrnout do jiných tabulek jako odkaz na tabulku, která je zdrojem primárního klíče. V těchto tabulkách se tato pole nazývají cizí klíče. Například pole Kód zákazníka z tabulky Zákazníci může být použito v tabulce Objednávky. V tabulce Zákazníci je to primární klíč. V tabulce Objednávky se toto pole jmenuje cizí klíč. Cizí klíč je tedy vlastně primárním klíčem jiné tabulky. Další informace najdete v části Základy návrhu databáze.
1. Primární klíč
2. Cizí klíč
Pokud přesouváte existující data do databáze, možná už máte pole, které můžete použít jako primární klíč. Často jedinečné identifikační číslo, například ID, sériové číslo nebo kód slouží jako primární klíč. Můžete mít například tabulku Zákazníci, ve které každý zákazník má svoje jedinečné číselné ID. Pole ID zákazníka je primárním klíčem.
Access automaticky vytvoří index pro primární klíč, což pomáhá zrychlit dotazy a další operace. Access také zajišťuje, že každý záznam má hodnotu v poli primárního klíče a že je vždy jedinečný.
Když vytvoříte novou tabulku v zobrazení Datový list, Access automaticky vytvoří primární klíč a přiřadí mu název pole "ID" a datového typu Automatické číslo.
Jak vypadá vhodný primární klíč?
Aby pole mohlo sloužit jako primární klíč, mělo by splňovat několik následujících podmínek:
-
Jedinečným způsobem identifikuje každý řádek.
-
Nikdy není prázdný nebo null – vždy obsahuje hodnotu.
-
Hodnoty, které obsahuje, se zřídka (ideálně nikdy) nemění.
Pokud nemůžete identifikovat dobrý klíč, vytvořte pole automatického číslo, které se použije jako klíč. Pole typu Automatické číslo automaticky vygeneruje svoji hodnotu při prvním uložení každého záznamu. Pole Automatické číslo tedy splňuje všechny tři vlastnosti vhodného primárního klíče. Další informace o přidání pole s automatickým číslem najdete v tématu Přidání pole automatického číslo jako primárního klíče.
Vhodným primárním klíček je pole Automatické číslo.
Příklady nevhodného primárního klíče
Jakékoli pole, ve kterém chybí jedna nebo více zmíněných vlastností vhodného primárního klíče, není vhodné použít jako primární klíč. Následuje několik příkladů primárních klíčů nevhodných pro tabulku Kontakty, ve kterých je vysvětleno, proč daná pole nejsou vhodná.
|
Nevhodné primární klíče |
Důvod |
|---|---|
|
Jméno a příjmení |
Nemusí být zaručena jedinečnost pole a může také docházet ke změnám. |
|
Telefonní číslo |
Může se změnit. |
|
E-mailová adresa |
Může se změnit. |
|
PSČ |
PSČ může sdílet více osob. |
|
Kombinace faktů a čísel |
Část faktu se může změnit, což může vytvořit zatěžující údržbu. Pokud se část faktu opakuje jako samostatné pole, může to vést ke zmatkům. Například, zkombinování města a přírůstkového čísla (např. NEWYORK0579) by bylo špatnou volbou, pokud je dané město také uloženo jako pole. |
|
Čísla sociálního pojištění |
|
Složené klíče: kombinace více polí jako primárního klíče
Někdy se může stát, že jako primární klíč budete chtít použít dvě nebo více polí v tabulce. Například tabulka Podrobnosti objednávky, která obsahuje položky řádku pro objednávky, může jako svůj primární klíč použít dvě pole: ID objednávky a ID produktu. Klíči, který má více polí, říkáme složený klíč.
Nastavení primárního klíče pomocí polí, která už máte v Access
Aby primární klíč dobře fungoval, musí pole jednoznačně identifikovat každý řádek, pole nesmí být prázdné ani obsahovat hodnotu Null a mělo by se pouze zřídkakdy (v ideálním případě nikdy) měnit. Nastavení primárního klíče:
-
Otevřete databázi, kterou chcete změnit.
-
V navigačním podokně klikněte pravým tlačítkem myši na tabulku, ve které chcete nastavit primární klíč, a v místní nabídce vyberte Návrhové zobrazení.
Tip: Pokud není zobrazeno navigační podokno, zobrazte jej stisknutím klávesy F11.
-
Vyberte jedno nebo více polí, která chcete použít jako primární klíč.
Pokud chcete vybrat jedno pole, vyberte volič řádků pro požadované pole.
Pokud chcete vybrat více polí pro vytvoření složeného klíče, podržte stisknutou klávesu CTRL a pak vyberte volič řádků pro každé pole.
-
Na kartě Návrh tabulky ve skupině Nástroje vyberte Primární klíč.
Do levé části pole nebo polí, která byla určena jako primární klíč, se připojí indikátor klíče.
Odebrání primárního klíče v Access
Odeberete-li primární klíč, nebudou již pole, která dříve sloužila jako primární klíč, poskytovat primární prostředky k identifikaci záznamu.
Odebrání primárního klíče neodstraní pole z tabulky, ale odebere index vytvořený pro primární klíč.
-
Před odstraněním primárního klíče se přesvědčte, jestli primární klíč není součástí relací mezi tabulkami. Pokud se pokusíte odebrat primární klíč, který je součástí jedné nebo více relací, Access vás upozorní, že je nejprve nutné odstranit relace.Pokud chcete odstranit relace mezi tabulkami, proveďte tento postup:
-
Pokud jsou tabulky, které jsou součástí relace, otevřené, zavřete je. Relaci mezi otevřenými tabulkami nejdou odstranit.
-
Na kartě Databázové nástroje ve skupině Relace vyberte Relace.
-
Vyberte Přidat tabulky.
-
Vyberte čáru relace tabulky pro relaci tabulky, kterou chcete odstranit (čára se při výběru změní na tučné písmo) a stiskněte klávesu DELETE.
-
Na kartě Relationships Design (Návrh relací ) klikněte ve skupině Relace na Close (Zavřít).
-
-
Po odstranění relací klikněte v navigačním podokně pravým tlačítkem na tabulku, ze které chcete odebrat primární klíč, a pak vyberte Návrhové zobrazení.
Tip: Pokud není zobrazeno navigační podokno, zobrazte jej stisknutím klávesy F11.
-
Vyberte volič řádku pro aktuální primární klíč.
Pokud se primární klíč skládá z jednoho pole, vyberte pro toto pole volič řádků.
Pokud se primární klíč skládá z více polí, vyberte volič řádků pro libovolné pole v primárním klíči.
-
Na kartě Návrh tabulky ve skupině Nástroje vyberte Primární klíč.
Z pole nebo polí, která byla určená jako primární klíč, bude odstraněn indikátor klíče.
Poznámka: Když uložíte novou tabulku bez nastavení primárního klíče, Access vás vyzve k jeho vytvoření. Pokud zvolíte Ano, Access vytvoří pole ID, které používá datový typ Automatické číslo k poskytnutí jedinečné hodnoty pro každý záznam. Pokud tabulka již obsahuje pole automatického číslo, Access toto pole použije jako primární klíč.
Změna primárního klíče v Access
Pokud chcete změnit primární klíč tabulky, postupujte takto:
-
Existující primární klíč odstraňte pomocí pokynů v části Odstranění primárního klíče.
-
Nastavení primárního klíče proveďte podle pokynů v části Nastavení primárního klíče.
Další informace
Další informace o návrhu databáze a výběru vhodného primárního klíče najdete v článcích: