Obsah:
Definice - Co znamená referenční integrita (RI)?
Referenční integrita (RI) je koncept relační databáze, který uvádí, že vztahy tabulky musí být vždy konzistentní. Jinými slovy, jakékoli pole cizího klíče musí souhlasit s primárním klíčem, na který se cizí klíč odkazuje. Jakékoli změny pole primárního klíče tedy musí být aplikovány na všechny cizí klíče, nebo vůbec. Stejné omezení platí také pro cizí klíče v tom, že všechny aktualizace (ale ne nutně odstranění) musí být šířeny do primárního nadřazeného klíče.
Techopedia vysvětluje referenční integritu (RI)
Zvažte bankovní databázi, která obsahuje dvě tabulky:
- Tabulka CUSTOMER_MASTER: Obsahuje základní údaje o zákazníkovi / majiteli účtu, jako je jméno, číslo sociálního zabezpečení, adresa a datum narození.
- Tabulka ACCOUNTS_MASTER: Tato položka ukládá základní údaje o bankovním účtu, jako je typ účtu, datum vytvoření účtu, držitel účtu a limity výběru.
Pro jedinečnou identifikaci každého držitele zákazníka / účtu v tabulce CUSTOMER_MASTER se vytvoří sloupec primárního klíče s názvem CUSTOMER_ID.
K identifikaci vztahu zákazníka a bankovního účtu v tabulce ACCOUNTS_MASTER je nutné odkázat na existujícího zákazníka v tabulce CUSTOMER_MASTER. Sloupec CUSTOMER_ID - také vytvořený v tabulce ACCOUNTS_MASTER - je tedy cizím klíčem. Tento sloupec je speciální, protože jeho hodnoty nejsou nově vytvořeny. Tyto hodnoty musí odkazovat na existující a identické hodnoty ve sloupci primárního klíče jiné tabulky, což je sloupec CUSTOMER_ID tabulky CUSTOMER_MASTER.
Referenční integrita je standard, který znamená, že jakákoli hodnota CUSTOMER_ID v tabulce CUSTOMER_MASTER nesmí být editována bez úpravy odpovídající hodnoty v tabulce ACCOUNTS_MASTER. Například, pokud se změní zákaznické číslo Andrew Smith v tabulce CUSTOMER_MASTER, musí být tato změna použita také v tabulce ACCOUNTS_MASTER, což umožňuje propojit informace o účtu Andrew Smith s jeho zákaznickým ID.
