Referenční integrita
Referenční integrita je nástroj databázového stroje, který pomáhá udržovat vztahy v relačně propojených databázových tabulkách.
Referenční integrita se definuje cizím klíčem, a to pro dvojici tabulek, nebo nad jednou tabulkou, která obsahuje na sobě závislá data (například stromové struktury). Tabulka, v níž je pravidlo uvedeno, se nazývá podřízená tabulka (používá se také anglický termín slave). Tabulka, jejíž jméno je v omezení uvedeno, je nadřízená tabulka (master). Pravidlo referenční integrity vyžaduje, aby pro každý záznam v podřízené tabulce, pokud tento obsahuje data vztahující se k nadřízené tabulce, odpovídající záznam v nadřízené tabulce existoval. To znamená, že každý záznam v podřízené tabulce musí v cizím klíči obsahovat hodnoty odpovídající primárnímu klíči nějakého záznamu v nadřízené tabulce, nebo NULL
.
Jak se projevuje referenční integrita
- Při přidání či změně záznamu v podřízené tabulce se kontroluje, zda stejná hodnota klíče existuje v nadřízené tabulce – porušení pravidla vyvolá chybu.
- Při mazání nebo úpravě záznamů v nadřízené tabulce se kontroluje, zda v podřízené tabulce není záznam se stejnou hodnotou klíče – porušení pravidla může vyvolat chybu nebo úpravu dat v podřízené tabulky v souladu s definovanými akcemi.
Příklad
- Při vkládání záznamu do tabulky, která obsahuje adresy podniků, se kontroluje, zda vložené poštovní směrovací číslo existuje v tabulce poštovních směrovacích čísel (směrovací číslo je v tabulce směrovacích čísel primárním klíčem).
- Z tabulky poštovních směrovacích čísel nelze odstranit záznam s konkrétním poštovním směrovacím číslem, pokud existuje alespoň jeden podnik, který toto poštovní směrovací číslo používá.
Související články
Externí odkazy
- Krokodýlovy databáze o referenční integritě