- Integrita dat je klíčový koncept v relačních databázích, který zajistí správnost a konzistenci dat.
- Základními mechanismy pro udržení integrity dat jsou primární a cizí klíče.
Primární klíč (Primary Key)
- Primární klíč je sloupec nebo skupina sloupců v relační databázové tabulce, které jednoznačně identifikují každý řádek tabulky.
- Pravidla pro primární klíče:
- Hodnota primárního klíče musí být unikátní pro každý řádek.
- Primární klíč nesmí obsahovat
NULL
hodnoty. - V jedné tabulce může být pouze jeden primární klíč, ale může obsahovat více sloupců (složený primární klíč).
Cizí klíč (Foreign Key)
- Cizí klíč je sloupec nebo skupina sloupců v jedné tabulce, která odkazuje na primární klíč jiné tabulky.
- Role cizího klíče:
- Umožňuje vytvoření relace (vazby) mezi tabulkami.
- Zajišťuje referenční integritu mezi daty dvou tabulek.
- Hodnota cizího klíče musí odpovídat hodnotě existujícího primárního klíče v jiné tabulce, nebo musí být
NULL
, pokud je to povoleno.
- Když se pokusíte vložit data do tabulky s cizím klíčem, databázový systém zkontroluje, zda existují odpovídající hodnoty v referenční tabulce. Pokud ne, operace vložení nebo aktualizace selže.
Ukázka
Vysvětlení kódu:
- Tabulka
Filmy
má primární klíčid
, který se automaticky zvyšuje pro každý nový záznam. - Tabulka
Herci
má vlastní primární klíčid
a cizí klíčfilm_id
. - Cizí klíč
film_id
v tabulceHerci
odkazuje na sloupecid
v tabulceFilmy
. ON DELETE SET NULL
znamená, že pokud je film odstraněn, hodnotafilm_id
u herce, který se na tento film odkazoval, bude nastavena naNULL
.ON UPDATE CASCADE
zajistí, že pokud dojde k aktualizaciid
filmu, změní se automaticky i hodnotyfilm_id
v tabulceHerci
, aby odpovídaly nové hodnotě.
Navigace
Předchozí: Relační operace - sjednocení, průnik, rozdíl, restrikce, projekce, přirozené spojení, přejmenování atributů Následující: Dokumentový model databáze - dokumenty, kolekce, atomické hodnoty, pole Celý okruh: 2. Informační technologie