'''Referenční integrita''' je nástroj [[databáze|databázového]] stroje, který pomáhá udržovat vztahy v [[Relační model|relačně]] propojených databázových tabulkách.
Referenční integrita se definuje [[cizí klíč|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 <code>[[NULL]]</code>.
== 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í klíč|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 ==
|