Primárny kľúč
Primárny kľúč je v relačnej databáze jedinečný atribút alebo skupina atribútov, ktorý jednoznačne identifikuje každý záznam v relácii (tabuľke). Žiadne dva záznamy v konzistentne navrhnutej tabuľke nemajú zhodný primárny kľúč. V tabuľke môže byť viacero atribútov, ktoré jednoznačne identifikujú záznam, pričom jeden z nich (alebo aj iná kombinácia atribútov) sa môže použiť ako primárny kľúč.
Príkladom primárneho kľúča môže byť napríklad rodné číslo v tabuľke so zoznamom osôb. V praxi sa však takýto identifikátor nepoužíva, nie je zaručené, že každá osoba má rodné číslo a taktiež nie je zaručené, že osoby z rôznych štátov majú jedinečné rodné čísla. Ako primárny kľúč sa teda často používa automaticky generované číslo databázovým systémom.
Vytvorenie primárneho kľúča
[upraviť | upraviť zdroj]Primárny kľúč je definovaný v štandarde ANSI SQL Standard, ako PRIMARY KEY. Zápis na pridanie primárneho kľúča v prípade existujúcej tabuľky je definovaný v SQL:2003 takto:
ALTER TABLE <označenie tabuľky>
ADD [ CONSTRAINT <označenie primárneho kľúča> ]
PRIMARY KEY ( <označenie stĺpca> {, <označenie stĺpca>}... )
Podľa štandardu môže primárny kľúč definovať aj viacero stĺpcov tabuľky, pričom každý takýto stĺpec zaradený do primárneho kľúča je štandardne definovaný ako nenulový (NOT NULL).
V prípade, ak je primárny kľúč navrhnutý v procese tvorby modelu databázy, je možné primárny kľúč tabuľky definovať priamo pri vytváraní danej tabuľky takto:
CREATE TABLE označenie_tabuľky (
id INT,
stĺpec1 CHARACTER VARYING(20),
stĺpec2 DATE,
...
CONSTRAINT označenie_primárneho_kľúča PRIMARY KEY(id),
...
)
V prípade, ak primárny kľúč tvorí iba jeden atribút tabuľky, používa sa na jeho definovanie nasledujúci zápis:
CREATE TABLE označenie_tabuľky (
id INT PRIMARY KEY,
stĺpec1 CHARACTER VARYING(20),
stĺpec2 DATE,
...
)