Referentielle Integrität ist eine Einschränkung , die auf einer relationalen Datenbank - eine Datenbank, in der die Daten und die Beziehungen zwischen ihnen in den Tabellen von Zeilen und Spalten organisiert sind - so dass inkonsistente Daten ? ist nicht eingetragen. Die meisten relationalen Datenbank -Management-Systeme definieren Regeln der referentiellen Integrität gelten , dass Programmierer beim Erstellen einer Beziehung zwischen zwei Tabellen . Referentielle Integrität Regel
Wesentlichen referenzielle Integrität besagt, dass eine Datenbank nicht enthalten, können keine unübertroffene Fremdschlüsselwerte . Ein Fremdschlüssel ist eine Spalte in einer Datenbank-Tabelle , die Werte auch in der Primärschlüssel-Spalte gefunden enthält - eine eindeutige Kennung , die eine Zeile in der Tabelle markiert - in einer anderen Tabelle . Betrachten Sie zum Beispiel eine Datenbank-Tabelle mit dem Namen " Abteilung " , in dem eine Spalte namens " dept -no" ist der Primärschlüssel . Es bezieht sich auf eine andere Tabelle mit dem Namen " Mitarbeiter ", in dem " dept_no " ist ein Fremdschlüssel. Ein Mitarbeiter kann nicht auf eine bestimmte Warengruppe gehören, wenn das entsprechende " dept_no " nicht bereits in der " Abteilung " Tabelle vorhanden . Wenn das Programm den Mitarbeitern hinzufügen erzwingt die referenzielle Integrität, wird jeder Versuch, einen Mitarbeiter in eine unbekannte Abteilung einfügen nicht auftreten.
Vorteile
Abgesehen von der Sicherstellung , dass die Bezüge zwischen Daten sind intakt und gültig ist, definieren die referenzielle Integrität in einer Datenbank hat zahlreiche Vorteile. Referentielle Integrität nutzt bestehende Code in einer Datenbank-Engine anstatt dass Programmierer , um benutzerdefinierte Programmcode von Grund auf neu zu schreiben. Als Ergebnis ist ein Programm, Entwicklung schneller, weniger fehleranfällig und konsistent über mehrere Anwendungsprogramme, die auf eine Datenbank zugreifen .
Folgen
Leider Programmiersprachen Regel fehlt ein Mechanismus zur Durchsetzung der referenziellen Integrität , und selbst wenn ein relationales Datenbank- Management-System , einen solchen Mechanismus unterstützt , Programmierer oft nicht , es zu benutzen . Die Folge der Ignoranz der referenziellen Integrität ist Programmcode, Defekte oder Fehler enthält , führt schlecht und ist schwierig zu verlängern
Enforcement
Programmierer können referenzielle Integrität zu erzwingen . - und vermeiden "orphan " Datensätze in einer Datenbank - indem es für eine Beziehung zwischen zwei Tabellen . In Microsoft Access , zum Beispiel , der Durchsetzung der referenziellen Integrität verursacht jede Operation die referenzielle Integrität verletzen würde abgelehnt werden. Solche Operationen umfassen Aktualisierungen für eine Datenbank , die das Ziel eines Verweises oder Streichungen , die das Ziel eines Verweises entfernen ändern. Weiterhin Microsoft Access enthält auch eine Reihe von Optionen , die als " Kaskade "-Optionen bekannt. Diese Optionen ermöglichen referenzielle Updates und Löschungen in der gesamten Datenbank weitergegeben werden , so dass alle zugehörigen Zeilen entsprechend geändert werden.