Atributy a integrita
Atributy a integrita
2. Integrita
2.1. Integritní omezení
Integritní omezení je nástrojem, který brání ukládání nesprávných dat či ztrátě nebo poškození stávajících záznamů při práci s databází. Integritní omezení většinou vyplývají z matematické teorie nebo aplikační logiky. Obecně se rozlišuje několik typů integritních omezení.
- NOT NULL
- PRIMARY KEY
- UNIQUE
- FOREIGN KEY
CHECK
NOT NULL
Integritní omezení NOT NULL znamená, že sloupec nesmí obsahovat hodnotu NULL.
PRIMARY KEY
Primární klíč jednoznačně identifikuje každý záznam v tabulce.
Každá tabulka může mít maximálně jeden primární klíč, kterým může být
jeden sloupec nebo kombinace více sloupců. Primární klíč nesmí nabývat hodnoty NULL, z tohoto důvodu je mu implicitně přiřazeno omezení NOT NULL. Z důvodu jednoznačné identifikace má implicitně nastaveno také omezení UNIQUE.
UNIQUE
Toto
integritní omezení, stejně jako primární klíč, zajišťuje jedinečnost hodnoty ve
sloupci a může být samostatně použito na více sloupců tabulky.
FOREIGN KEY
Integritní omezení FOREIGN KEY představuje tzv. cizí klíč. Jedná se o atribut nebo skupinu atributů jedné relace, které jsou primárním klíčem v jiné relaci. Aplikuje se tedy na atributy nebo skupinu atributů relací, které jsou ve vzájemném vztahu. Pokud dojde k manipulaci se záznamy relací, které jsou v nějakém vztahu, toto integritní omezení kontroluje existenci záznamů, kterých se operace týká.
Podle způsobu aplikace integritního omezení FOREIGN KEY lze při vytváření tabulek definovat jeden ze tří možných vztahů 1:1, 1:N nebo N:M.
1:1
Vytvoření vztahu 1:1 mezi tabulkami vyžaduje následující kroky.
- Vytvořit dvě tabulky (tabulku A a tabulku B) s definovaným primárním klíčem (PRIMARY KEY) v obou tabulkách.
- Vytvořit cizí klíč (FOREIGN KEY) v tabulce B na atributu, který odkazuje (REFERENCES) na primární klíč tabulky A.
- Přiřadit cizímu klíči v tabulce B integritní omezení UNIQUE.
1:N
Vytvoření vztahu 1:N mezi tabulkami vyžaduje následující kroky.
- Vytvořit dvě tabulky (tabulku A a tabulku B) s definovaným primárním klíčem (PRIMARY KEY) v obou tabulkách.
- Vytvořit cizí klíč (FOREIGN KEY) v tabulce B na atributu, který odkazuje (REFERENCES) na primární klíč tabulky A.
N:M
Vytvoření vztahu N:M mezi tabulkami vyžaduje následující kroky.
- Vytvořit dvě tabulky (tabulku A a tabulku B) s definovaným primárním klíčem (PRIMARY KEY) v obou tabulkách.
- Vytvořit třetí tabulku C s dvěma cizími klíči, kde každý z nich odkazuje (REFERENCES) na primární klíč jedné z tabulek A a B.
CHECK
Pomocí integritního omezení CHECK lze definovat podmínku, kterou musí splňovat ukládaná hodnota, např. musí být v určitém rozsahu.