<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=193.158.248.56</id>
	<title>Wikipedia (Deutsch) – Lokale Kopie - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=193.158.248.56"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php/Spezial:Beitr%C3%A4ge/193.158.248.56"/>
	<updated>2026-06-26T18:00:22Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Referentielle_Integrit%C3%A4t&amp;diff=186007</id>
		<title>Referentielle Integrität</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Referentielle_Integrit%C3%A4t&amp;diff=186007"/>
		<updated>2025-02-05T13:23:29Z</updated>

		<summary type="html">&lt;p&gt;193.158.248.56: /* Nachteile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Referentielle Integrität&#039;&#039;&#039; (&#039;&#039;&#039;RI&#039;&#039;&#039;) ist ein Begriff aus der [[Informatik]]. Man versteht darunter Bedingungen, die zur Sicherung der [[Konsistenz (Datenspeicherung)#Konsistenz in klassischen relationalen Datenbanken|Datenintegrität]] bei Nutzung [[Relationale Datenbank|relationaler Datenbanken]] beitragen können. Nach der RI-Regel dürfen Datensätze (über ihre [[Fremdschlüssel]]) nur auf existierende Datensätze verweisen.&lt;br /&gt;
&lt;br /&gt;
Danach besteht die RI grundsätzlich aus zwei Teilen:&amp;lt;ref&amp;gt;Albrecht, Nicol: &#039;&#039;Access 2002 programmieren&#039;&#039;. ISBN 3-8273-1942-0&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Ein neuer Datensatz mit einem Fremdschlüssel kann nur dann in einer Tabelle eingefügt werden, wenn in der referenzierten Tabelle ein Datensatz mit entsprechendem Wert im [[Schlüssel (Datenbank)#Primärschlüssel und Alternativschlüssel|Primärschlüssel]] oder einem eindeutigen [[Schlüssel (Datenbank)#Primärschlüssel und Alternativschlüssel|Alternativschlüssel]] existiert.&lt;br /&gt;
# Eine Datensatzlöschung oder Änderung des [[Schlüssel (Datenbank)|Schlüssels]] in einem Primär-Datensatz ist nur möglich, wenn zu diesem Datensatz keine abhängigen Datensätze in Beziehung stehen.&lt;br /&gt;
&lt;br /&gt;
== Definitionen ==&lt;br /&gt;
„Die referentielle Integrität (auch &#039;&#039;&#039;Beziehungsintegrität&#039;&#039;&#039;) besagt, dass Attributwerte eines Fremdschlüssels auch als Attributwert des Primärschlüssels vorhanden sein müssen.“&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.wirtschaftsinformatik-24.de/datenbanken/referentielle-integritaet.php |titel=Referentielle Integrität |abruf=2020-12-04 |werk=Wirtschaftsinformatik-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
„Über die referentielle Integrität werden in einem [[Datenbank|DBMS]] die Beziehungen zwischen Datenobjekten kontrolliert.“&lt;br /&gt;
&lt;br /&gt;
== Begriffe und ihre Bedeutung ==&lt;br /&gt;
&#039;&#039;Ursprung/Hintergrund:&#039;&#039; Nach der [[Relationale Datenbank|Relationentheorie]] werden zu speichernde Daten i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. auf mehrere Tabellen aufgeteilt. Die Datensätze dieser Tabellen weisen untereinander meist logische Zusammenhänge (Beziehungen) auf. Siehe [[Relationale Datenbank#Beziehungen zwischen Tabellen|Beispiel „Bücherei“]]: Buch X ist entliehen von Büchereibenutzer Y. Daraus entstand die Anforderung, die Konsistenz dieser „Referenzen“ bei Bedarf durch ein besonderes und sicheres Konzept (die „RI“) schützen zu können.&lt;br /&gt;
&lt;br /&gt;
Nach der wörtlichen Bedeutung bezeichnet „RI“ einen gegebenen oder beabsichtigten &#039;&#039;Qualitätszustand&#039;&#039; von Daten: Integer (&#039;&#039;makellos, heil, „ganz“&#039;&#039;&amp;lt;ref&amp;gt;Duden &#039;&#039;Herkunftswörterbuch&#039;&#039;&amp;lt;/ref&amp;gt;) im Hinblick auf die darin enthaltenen gegenseitigen Referenzen. Gleichzeitig versteht man unter „RI“ jedoch auch die &#039;&#039;Integritätsregel&#039;&#039; bzw. die funktionale Unterstützung, durch die ein DBMS diese Qualität sichert.&lt;br /&gt;
&lt;br /&gt;
Die RI-Regel ist eine Erweiterung bei der &#039;&#039;[[Spezifikation]] von [[Entity-Relationship-Modell|Beziehungstypen]]&#039;&#039; – die meist eine [[Kardinalität (Datenbankmodellierung)|Kardinalität]] von &#039;&#039;1:n&#039;&#039; aufweisen. Die darin beteiligten [[Entity-Relationship-Modell|Entitätstypen]] (= [[Tabelle]]n) bezeichnet man –&amp;amp;nbsp;rollenspezifisch für genau einen Beziehungstyp, nicht generell für die Tabelle geltend&amp;amp;nbsp;– als &#039;&#039;Mastertabelle&#039;&#039; und &#039;&#039;Detailtabelle&#039;&#039;. Wirksam sind diese Festlegungen für die in konkreten Beziehungen stehenden Datensätze. Master- und Detailtabelle kann auch dieselbe Tabelle sein (rekursive Beziehungen).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Andere Bezeichnungen für Mastertabelle&#039;&#039; sind Primär-, Parent-, Eltern-&amp;lt;ref&amp;gt;Uni Frankfurt {{Webarchiv|url=http://www.dbis.informatik.uni-frankfurt.de/downloads/teaching/DB-Vorlesung/2007_2008_WS/07d_referentielle_integritaet_in_sql.pdf |wayback=20160225065405 |text=dbis.informatik.uni-frankfurt.de |archiv-bot=2024-04-24 00:34:08 InternetArchiveBot }} (PDF; 85&amp;amp;nbsp;kB)&amp;lt;/ref&amp;gt; oder referenzierte Tabelle. Die &#039;&#039;Detailtabelle&#039;&#039; wird auch verknüpfte*, Child/Kind-, abhängige, verwandte*, referenzierende, verweisende Tabelle&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Webarchiv |url=http://msdn.microsoft.com/de-de/library/aa292166%28v=vs.71%29.aspx |wayback=20120116105325 |text=msdn.microsoft.com Microsoft &#039;&#039;MSDN&#039;&#039;}}&amp;lt;/ref&amp;gt; oder „Tabelle mit dem Fremdschlüssel“ genannt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;(*) = begrifflich eher ungeeignet, weil das Abhängigkeitsverhältnis unklar bleibt.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein klassischer Fall für RI-Spezifikationen inkl. Löschweitergabe sind sog. &#039;&#039;Beziehungstabellen&#039;&#039;, die häufig nur die Fremdschlüssel der an einer [[Kardinalität (Datenbankmodellierung)#UmsetzungRelDM|n:m-Beziehung]] beteiligten Datensätze enthalten. Verweise auf nicht existente Primärdatensätze darf es hier nicht geben; wird einer der beiden Primärdatensätze gelöscht, so kann/muss auch der Datensatz in der Beziehungstabelle gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Abgekürzt&#039;&#039; wird der (etwas sperrige) Begriff „referentielle Integrität“ (im Englischen “referential Integrity”) häufig mit &#039;&#039;&#039;RI oder R.I.&#039;&#039;&#039;, auch wird verbreitet die neue deutsche Rechtschreibung (referenziell mit „z“) verwendet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abgrenzung:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Neben der referentiellen Integrität kennt man (als Teilaspekte von [[Datenqualität]] und -Konsistenz) weitere [[Integritätsbedingung]]en wie die &#039;&#039;Wertebereichsintegrität&#039;&#039; (gültige Werte auf Datenfeldebene), die &#039;&#039;[[Eindeutigkeit]] von [[Schlüssel (Datenbank)|Schlüsselbegriffen]]&#039;&#039;. Darüber hinaus sichern Datenbanksysteme vor allem im [[Mehrbenutzersystem|Mehrbenutzerbetrieb]] die Konsistenz von Daten auf &#039;&#039;[[Transaktion (Informatik)|Transaktionsebene]]&#039;&#039; (alle oder keine Updates, z.&amp;amp;nbsp;B. bei technischem Abbruch) sowie gegen Updates &#039;&#039;konkurrierender Benutzer/Transaktionen&#039;&#039;. &lt;br /&gt;
* RI-ähnliche Konsistenzbedingungen in nicht relational gespeicherten Datenbeständen fallen nicht unter den Begriff &#039;referentielle Integrität&#039;, sondern werden mit anderen Mitteln überprüft, z.&amp;amp;nbsp;B. individuell in der IT-Anwendung. Beispiel: Daten in Konfigurations und [[Registrierungsdatenbank|Registrydateien]], [[Hyperlink]]s in [[Wiki]]s etc.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen / Besonderheiten ==&lt;br /&gt;
Während die RI grundsätzlich vor inkonsistenten Datenaktionen schützt, bieten viele Datenbanksysteme Zusatzfunktionen an, die bei Updates von Master-Datensätzen nützlich sein können:&lt;br /&gt;
&lt;br /&gt;
; Änderungsweitergabe (ÄW)&lt;br /&gt;
: Wenn der eindeutige Schlüssel eines Datensatzes geändert wird, kann das DBMS die Fremdschlüssel in allen abhängigen Datensätzen anpassen – anstatt die Änderung abzulehnen. Änderungsweitergabe wird insbesondere dann benutzt, wenn [[Schlüssel (Datenbank)#Anderweitige Begriffsverwendungen|natürliche Schlüssel]] (die sich ändern können; Familienname bei Heirat) verwendet werden; denn [[Surrogatschlüssel|künstliche Schlüssel]] sind i.&amp;amp;nbsp;d.&amp;amp;nbsp;R. unveränderlich und eine Änderungsweitergabe nicht erforderlich. &lt;br /&gt;
; Löschweitergabe (LW)&lt;br /&gt;
: In bestimmten Fällen ergibt es einen Sinn, abhängige Datensätze bei Löschung des Masterdatensatzes mitzulöschen.&lt;br /&gt;
Diese Funktionen können in der RI-Spezifikation optional gesetzt und (je nach DBMS) durch zusätzliche Bedingungen (siehe [[Integritätsbedingung#Beispiele|Beispiel]]) erweitert/präzisiert werden. Sie wirken nur bei Updates von Masterdatensätzen, Detaildaten können jederzeit gelöscht oder anderen (vorhandenen) Mastersätzen zugeordnet werden.&lt;br /&gt;
&lt;br /&gt;
Weitere Besonderheiten im Zusammenhang mit der RI sind:&lt;br /&gt;
&lt;br /&gt;
; Rekursive Beziehungen&lt;br /&gt;
: Die RI kann sich auch auf Daten in nur einer Tabelle beziehen, etwa wenn sich in der Tabelle ABTEILUNG Unterabteilungen ihrer gemeinsamen Hauptabteilung zuordnen.&lt;br /&gt;
; Kaskadierung&lt;br /&gt;
: Wenn die abhängigen Datensätze aus einer RI-Beziehung selbst wiederum Primärdatensatz sind, kann sich die RI-Regel auch auf deren abhängige Sätze beziehen. Eine Lösch- oder Änderungsweitergabe kann also mehrstufig wirken.&lt;br /&gt;
; Beziehung auf sich selbst&lt;br /&gt;
: In bestimmten Situationen kann ein Detaildatensatz auch auf sich selbst verweisen. Beispiel: Die Beziehung „Ort gehört zu Kreisstadt“ in der Tabelle ORT: Der Datensatz des Ortes, der die Kreisstadt ist, verweist mit dem Fremdschlüssel „Kreisstadt“ auf sich selbst. In solchen Fällen wird jedoch häufig auch ein Nullwert verwendet – was als „ist selbst Kreisstadt“ interpretiert werden kann.&lt;br /&gt;
&lt;br /&gt;
== Handlungs- und Wirkungsebenen ==&lt;br /&gt;
[[Datei:RI-Spezifik Access.png|miniatur|RI-Einstellung bei MS Access (2003)]]&lt;br /&gt;
Die RI wird im Verlauf der &#039;&#039;[[Datenmodellierung]]&#039;&#039; als relevant erkannt, festgelegt und in der jeweiligen [[Syntax]] spezifiziert. Dies geschieht je &#039;&#039;Beziehungstyp&#039;&#039; (häufig vereinfachend nur „Beziehung“ genannt), an dem jeweils mehrere Entitätstypen (= Tabellen) beteiligt sind. Die Spezifikationen sind Teil des einmalig erstellten [[Datenbankschema]]s.&lt;br /&gt;
&lt;br /&gt;
Aufgrund dieser Angaben überprüft das DBMS bei der &#039;&#039;Ausführung&#039;&#039; von [[CRUD|ändernden]] Datenoperationen im laufenden Betrieb die Einhaltung der RI-Regeln. Solche Operationen werden von IT-Anwendungen (ggf. nach einer [[Eingabe und Ausgabe|Eingabe bzw. Erfassung]] von [[Benutzer]]n) ausgelöst und führen bei Einhaltung der Regeln zu Veränderungen im Datenbestand, ansonsten zu Fehlermeldungen bei unverändertem Bestand.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
[[Datei:Ref Integr Bsp.png|miniatur|Beispiele für RI-Einstellungen]]&lt;br /&gt;
Die nebenstehende Grafik zeigt am Beispiel eines einfachen [[Entity-Relationship-Diagramm|ER-Diagramms]], welche Überlegungen im Zusammenhang mit der Festlegung von RI-Regeln angestellt werden können:&lt;br /&gt;
* Wenn es möglich ist, dass sich der Primärschlüssel von „KUNDEN-Einträgen“ ändert, sollten auch die in BESTELLUNG enthaltenen Fremdschlüssel automatisch mitgeändert werden: RI mit Änderungsweitergabe.&lt;br /&gt;
* Wenn ADRESSEN immer nur zu genau einem KUNDEN gehören, ergibt es einen Sinn, diese bei Löschung des KUNDEN (d.&amp;amp;nbsp;h. der Daten über ihn) automatisch mitzulöschen: RI mit Löschweitergabe.&lt;br /&gt;
* Da sich BESTELLUNGEN immer auf ARTIKEL beziehen (über „Bestell-Position“), muss verhindert werden, dass ein ARTIKEL im Datenbestand gelöscht wird, wenn noch BESTELLUNGEN (mit Positionen) vorhanden sind. Umgekehrt dürfen nur solche Bestellpositionen angelegt werden, die sich auf einen (im Datenbestand) existenten ARTIKEL beziehen: Normale RI ohne LW/ÄW.&lt;br /&gt;
* Wenn Löschweitergabe in der Beziehung „KUNDE:BESTELLUNG“ nicht definiert ist, würde die Löschung eines KUNDEN bei Existenz von BESTELLUNGEN (dieses Kunden) abgelehnt werden. Wäre Löschweitergabe spezifiziert, so würde im Fall der Kundenlöschung ein „kaskadierendes Löschen“ (inkl. Bestellposition) eintreten.&lt;br /&gt;
* Ohne jegliche RI-Spezifikation müsste die [[Anwendungssoftware|Anwendung]] / der [[Benutzer]] selbst für die Konsistenz der Datenbeziehungen Sorge tragen; sonst könnten inkonsistente Daten entstehen, die zur Folge hätten, dass in der automatischen Verarbeitung dieser Daten z.&amp;amp;nbsp;B. keine Versand-ADRESSE und kein Rechnungsempfänger (Kunde) bekannt wäre.&lt;br /&gt;
&lt;br /&gt;
== DBMS-abhängige Unterschiede ==&lt;br /&gt;
Der Umfang an Unterstützung zur RI, den Datenbanksysteme leisten können, kann unterschiedlich sein. Neben der Grundfunktion, die RI überhaupt zu schützen, kann das zum Beispiel die folgenden Zusatzaspekte betreffen:&lt;br /&gt;
* Löschweitergabe, Änderungsweitergabe&lt;br /&gt;
* kaskadierende Lösch- oder Änderungsweitergabe&lt;br /&gt;
* zusätzliche Bedingungen, unter denen die Lösch- und Änderungsweitergabe erfolgen soll&lt;br /&gt;
* RI über die Daten mehrerer Datenbanken hinweg.&lt;br /&gt;
&lt;br /&gt;
== RI-Darstellung in Datenmodellen / Diagrammen ==&lt;br /&gt;
Zur Darstellung der referentiellen Integrität in Datenmodellgrafiken werden kaum einheitliche Regeln angewendet. In manchen Modell-Werkzeugen wird der Beziehungspfeil bei RI fett dargestellt. Zusatzfunktionen wie Löschweitergabe sind meist nur textuell in den spezifizierten Beziehungstypen bzw. im [[Quellcode]] des Datenbankschemas sichtbar.&lt;br /&gt;
&lt;br /&gt;
== Technische Umsetzung ==&lt;br /&gt;
Technisch wird die referentielle Integrität über einen so genannten Fremdschlüssel realisiert. Die beteiligten Relationen (= Tabellen) benötigen gleichartige Attribute, die in der abhängigen Tabelle als Fremdschlüssel und in der anderen Relation als Primärschlüssel verwendet werden. Beide Attribute müssen vom selben oder einem kompatiblen Datentyp sein. Die Datensätze verweisen („referenzieren“) mit dem Fremdschlüssel auf Datensätze mit identischem Wert in ihrem Primärschlüssel. Das DBMS stellt sicher, dass nur Verweise auf existierende Datensätze möglich sind und überprüft dies beim Anlegen oder Löschen von Datensätzen oder beim Ändern von Schlüsselfeldern.&lt;br /&gt;
&lt;br /&gt;
Bei Systemen, die nach dem [[Transaktion (Informatik)|Transaktionsprinzip]] arbeiten, werden bei Verletzung von RI-Regeln alle innerhalb der Transaktion getätigten Updates zurückgesetzt ([[Rollback]]).&lt;br /&gt;
&lt;br /&gt;
Primärschlüssel und Fremdschlüssel können auch aus mehreren Attributen/Tabellenspalten bestehen.&lt;br /&gt;
&lt;br /&gt;
Die Festlegung sinnvoller RI-Regeln, insbesondere der Lösch-Weitergabe, sind eine wichtige Aufgabenstellung beim Datendesign, um ungewollte Löschmengen oder nicht durchführbare Löschweitergaben zu verhindern.&lt;br /&gt;
&lt;br /&gt;
== Nachteile ==&lt;br /&gt;
Die Vorteile der referenziellen Integrität haben aber auch ihren Preis, denn jede Prüfung, die von einem RDBMS vorgenommen wird, kostet Rechnerressourcen, insbesondere Zeit.&lt;br /&gt;
&lt;br /&gt;
So könnte es beispielsweise bei einem regelmäßigen Import größerer Datenmengen zweckmäßig sein, im aufnehmenden System die RI-Regeln temporär außer Kraft zu setzen, insbesondere wenn im Liefersystem die Konsistenz der Daten gesichert ist.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Wikibooks|Einführung in SQL: Fremdschlüssel-Beziehungen#Einfüge- und Lösch-Reihenfolge bestimmen|Einfüge- und Lösch-Reihenfolge bestimmen}} Einführung in SQL&lt;br /&gt;
* [https://www.datenbanken-verstehen.de/datenmodellierung/referentielle-integritaet/ Referentielle Integrität ] (zusammengefasst)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenbanktheorie]]&lt;/div&gt;</summary>
		<author><name>193.158.248.56</name></author>
	</entry>
</feed>