Databáze používají k uspořádání informací, které obsahují, tabulky. Jsou podobné tabulkám, jako je Excel, ale mnohem více schopné pro pokročilé uživatele. Databáze fungují s použitím primárních klíčů a cizích klíčů, které udržují vztah mezi tabulkami.
Referenční integrita je databázová funkce v systémech řízení relačních databází. Zaručuje, že vztahy mezi tabulkami v databázi zůstávají přesné použitím omezení, která brání uživatelům nebo aplikacím zadávat nepřesné údaje nebo směřovat na data, která neexistují.
Primární klíč
Primární klíč databázové tabulky je jedinečný identifikátor přiřazený ke každému záznamu. Každá tabulka má jeden nebo více sloupců určených jako primární klíč. Číslo sociálního zabezpečení může být primárním klíčem pro seznam zaměstnanců v databázi, protože každé číslo sociálního zabezpečení je jedinečné.
Z důvodu obav o soukromí je však přiřazené identifikační číslo společnosti lepší volbou, aby sloužil jako primární klíč pro zaměstnance. Některý databázový software, například Microsoft Access, automaticky přiřadí primární klíč, ale náhodný klíč nemá žádný skutečný význam. Je lepší použít k záznamu klíč s významem.
Nejjednodušší způsob, jak prosadit referenční integritu, není povolit změny primárního klíče.
Cizí klíč
Cizí klíč je identifikátor v tabulce, která odpovídá primárnímu klíči jiné tabulky. Zahraniční klíč vytváří vztah s jinou tabulkou. Referenční integrita odkazuje na vztah mezi těmito tabulkami.
Pokud jedna tabulka obsahuje jiný klíč v cizím klíči, koncept referenční integrity uvádí, že do tabulky obsahující cizí klíč nelze přidat záznam, pokud v propojené tabulce neexistuje odpovídající záznam. Zahrnuje také techniky známé jako kaskádní aktualizace a kaskádní odstranění, které zajišťují, že změny provedené v propojené tabulce se odrážejí v primární tabulce.
Příklad referenčních pravidel integrity
Zvažte například situaci, kdy máte dvě tabulky: Zaměstnanci a Manažeři. Tabulka Zaměstnanci má atribut cizího klíče nazvaný ManagedBy, který ukazuje na záznam každého manažera zaměstnance v tabulce Manažeři. Referenční integrita prosazuje následující tři pravidla:
- Nelze přidat záznam do tabulky Zaměstnanci, pokud atribut ManagedBy neodkazuje na platný záznam v tabulce Manažeři. Referenční integrita zabraňuje vložení nesprávných detailů do tabulky. Jakákoli operace, která nesplňuje pravidlo referenční integrity, selže.
- Pokud se primární klíč pro záznam v tabulce Manažeři změní, všechny odpovídající záznamy v tabulce Zaměstnanci se upraví pomocí kaskádové aktualizace.
- Pokud je záznam v tabulce Manažeři odstraněn, všechny odpovídající záznamy v tabulce Zaměstnanci jsou smazány pomocí kaskádního odstranění.
Výhody omezení referenční integrity
Použití relačního systému správy databáze s referenční integritou nabízí několik výhod:
- Zabraňuje zadávání duplicitních dat
- Zabraňuje tomu, aby jedna tabulka směřovala k neexistujícímu poli v jiné tabulce
- Zaručuje konzistenci tabulek "partnerských"
- Zabraňuje odstranění záznamu obsahujícího hodnotu, na kterou odkazuje cizí klíč v jiné tabulce
- Zabraňuje přidání záznamu do tabulky obsahující cizí klíč, pokud v propojené tabulce není primární klíč