Referenční integrita

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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). +more 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á.

Externí odkazy

[url=http://krokodata.vse.cz/DM/RefInt]Krokodýlovy databáze[/url] o referenční integritě

Kategorie:Databáze

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top