Inhaltsverzeichnis:
- Definition - Was bedeutet Referentielle Integrität (RI)?
- Techopedia erklärt die referentielle Integrität (RI)
Definition - Was bedeutet Referentielle Integrität (RI)?
Referentielle Integrität (RI) ist ein relationales Datenbankkonzept, das besagt, dass Tabellenbeziehungen immer konsistent sein müssen. Mit anderen Worten, jedes Fremdschlüsselfeld muss mit dem Primärschlüssel übereinstimmen, auf den der Fremdschlüssel verweist. Daher müssen alle Änderungen an Primärschlüsselfeldern auf alle Fremdschlüssel oder gar nicht angewendet werden. Dieselbe Einschränkung gilt auch für Fremdschlüssel, da Aktualisierungen (aber nicht unbedingt Löschungen) an den primären übergeordneten Schlüssel weitergegeben werden müssen.
Techopedia erklärt die referentielle Integrität (RI)
Stellen Sie sich eine Bankdatenbank vor, die zwei Tabellen enthält:
- CUSTOMER_MASTER-Tabelle: Enthält grundlegende Kunden- / Kontoinhaberdaten wie Name, Sozialversicherungsnummer, Adresse und Geburtsdatum.
- ACCOUNTS_MASTER-Tabelle: In dieser Tabelle werden grundlegende Bankkontodaten wie Kontotyp, Kontoerstellungsdatum, Kontoinhaber und Auszahlungslimits gespeichert.
Um jeden Kunden / Kontoinhaber in der Tabelle CUSTOMER_MASTER eindeutig zu identifizieren, wird eine Primärschlüsselspalte mit dem Namen CUSTOMER_ID erstellt.
Um eine Kunden- und Bankkontobeziehung in der Tabelle ACCOUNTS_MASTER zu identifizieren, muss auf einen vorhandenen Kunden in der Tabelle CUSTOMER_MASTER verwiesen werden. Daher ist die Spalte CUSTOMER_ID - ebenfalls in der Tabelle ACCOUNTS_MASTER erstellt - ein Fremdschlüssel. Diese Spalte ist etwas Besonderes, da ihre Werte nicht neu erstellt werden. Vielmehr müssen diese Werte auf vorhandene und identische Werte in der Primärschlüsselspalte einer anderen Tabelle verweisen, bei der es sich um die Spalte CUSTOMER_ID der Tabelle CUSTOMER_MASTER handelt.
Die referenzielle Integrität ist ein Standard, der bedeutet, dass kein CUSTOMER_ID-Wert in der CUSTOMER_MASTER-Tabelle bearbeitet werden kann, ohne den entsprechenden Wert in der ACCOUNTS_MASTER-Tabelle zu bearbeiten. Wenn beispielsweise die Kunden-ID von Andrew Smith in der Tabelle CUSTOMER_MASTER geändert wird, muss diese Änderung auch auf die Tabelle ACCOUNTS_MASTER angewendet werden, damit die Kontoinformationen von Andrew Smith mit seiner Kunden-ID verknüpft werden können.
