www.wikidata.de-de.nina.az
Der Begriff Integritatsbedingung bezeichnet in der Informatik Bedingungen die an den Zustand eines Prozesses oder einer Datenstruktur gestellt werden In Bezug auf Datenbanken werden Zustande als konsistent bezeichnet wenn sie die Integritatsbedingungen erfullen Inhaltsverzeichnis 1 Definition 2 Beispiele 2 1 Datenbanken 2 1 1 Benutzerrechte 2 1 2 Optimierung 2 2 Dokumente 3 Siehe auch 4 Literatur 5 WeblinksDefinition BearbeitenIntegritatsbedingungen beschreiben Annahmen die uber die Daten bzw den Zustand getroffen werden beispielsweise ein bestimmter Datentyp ein Wertebereich oder eine Abhangigkeitsbeziehung zwischen zwei Objekten Basierend auf diesen Annahmen kann ein Programmierer Verarbeitungsprozesse beschreiben und gegebenenfalls den Zustand eines Prozesses verandern Die Einhaltung der Integritatsbedingungen sollte nicht dem Programmierer uberlassen werden sondern vom System gepruft werden Inkonsistente Zustande das heisst Zustande die die Integritatsbedingungen verletzen oder ungenau definierte Integritatsbedingungen sind haufige Ursachen fur Programmierfehler da die einzelnen Unterprogramme Funktionen sich auf deren Einhaltung verlassen Beispiele BearbeitenDatenbanken Bearbeiten Relationale Datenbanksysteme bieten die Moglichkeit bei der Definition eines relationalen Schemas Integritatsbedingungen zu formulieren deren Einhaltung von dem System garantiert wird Ein typisches Beispiel fur Integritatsbedingungen sind Schlussel und Fremdschlusselbeziehungen Es lasst sich spezifizieren auf welche Art die Einhaltung gewahrleistet bzw wie auf Anderungen reagiert werden soll Eine Anderung die eine Integritatsbedingung verletzt kann entweder ganz unterbunden werden oder aber weitere Anderungen zur Wiederherstellung der Integritat nach sich ziehen siehe hierzu Datenbanktrigger Das nachfolgende SQL Beispiel modelliert auf stark vereinfachte Weise einen Zusammenhang zwischen Professoren Studenten Vorlesungen und Prufungen Das Augenmerk soll hier auf die Fremdschlusselbeziehungen gelegt werden create table Professor ID integer primary key create table Student MatrNr varchar 16 primary key create table Vorlesung ID integer primary key Name varchar 32 Prof integer references Professor ID on delete set null create table Prufung Datum date Vorlesung integer not null references Vorlesung ID on delete no action Stud varchar 16 not null references Student MatrNr on delete cascade Folgende Integritatsbedingungen werden in diesem Beispiel definiert Hauptartikel Referentielle Integritat Eine Vorlesung referenziert einen Professor Falls der Professor emeritiert und der entspr Datensatz geloscht wird bleibt die Vorlesung erhalten Der Zusatz on delete set null loscht die Referenz auf den Professor falls der referenzierte Datensatz geloscht wird Integritatsbedingung der referenzierte Professor halt die Vorlesung Jede Prufung referenziert eine Vorlesung Solange noch eine Prufung fur eine Vorlesung existiert darf diese Vorlesung nicht aus der Datenbank geloscht werden Der Zusatz on delete no action verhindert dass ein referenzierter Datensatz aus der Tabelle Vorlesung geloscht wird Integritatsbedingung Zu jeder Prufung gibt es auch eine Vorlesung Jede Prufung referenziert einen Studenten der die Prufung abgibt Falls der Student exmatrikuliert und der entspr Datensatz geloscht wird findet auch die Prufung nicht statt Der Zusatz on delete cascade fuhrt dazu dass eine Prufung geloscht wird falls der referenzierte Student geloscht wird Integritatsbedingung Ohne Student gibt es auch keine Prufung Die Einhaltung dieser Bedingung gewahrleistet die Datenbank Benutzerrechte Bearbeiten Naturgemass schrankt die Spezifikation von Integritatsbedingungen die Zahl der erlaubten Operationen ein Da sich in einer relationalen Datenbank diese Einschrankungen auch auf andere Tabellen auswirken konnen als auf die konkrete Tabelle innerhalb derer die Bedingung spezifiziert wurden gibt es in manchen Datenbanken eine spezielle Berechtigung die es erlaubt eine erstellte Tabelle zu referenzieren Im obigen Beispiel verhindert der Zusatz on delete no action das Loschen von Eintragen der Tabelle Vorlesung Entsprechend muss der Besitzer der Tabelle Prufung die Berechtigung besitzen die Tabelle Vorlesung zu referenzieren Optimierung Bearbeiten Da die Einhaltung von Integritatsbedingungen innerhalb der Datenbank aufwandige Prufungen zur Folge haben kann wird zur Verbesserung der Laufzeiten in den meisten Fallen auf deren explizite Spezifikation verzichtet Die Folge davon sind Datenschiefstande innerhalb der Datenbank Die dazugehorende Software muss je nach Anwendungsszenario die verbliebenen inkonsistenten Daten innerhalb der Datenbank erkennen und berucksichtigen konnen Wenn die Einhaltung der Bedingungen durch die Anwendung selbst nicht gewahrleistet ist und der resultierende Datenschiefstand nicht umgangen werden kann lauft die Software nicht fehlerfrei Dokumente Bearbeiten Eine Vielzahl von Integritatsbedingungen lassen sich auch im Kontext der Text oder Dokumentenverarbeitung finden Es leuchtet intuitiv ein dass die Integritat eines Dokumentes verletzt ist wenn das Inhaltsverzeichnis falsche Seitenzahlen beinhaltet oder Hyperlinks in HTML Seiten ins Leere zeigen In formalisierter Form lassen sich Integritatsbedingungen fur XML Dokumente zum Beispiel durch XML Schema beschreiben Die folgende XML Element Definition konnte zum Beispiel dazu dienen einen neuen Element Typ zu definieren der ausschliesslich die Angaben der Korpertemperatur von Menschen zulasst In diesem Fall 3 Dezimalstellen 1 Nachkommastelle sowie Minimal und Maximalwerte lt simpleType name celsiusKorperTemp gt lt restriction base xsd decimal gt lt totalDigits value 3 gt lt fractionDigits value 1 gt lt minInclusive value 30 0 gt lt maxInclusive value 42 5 gt lt restriction gt lt simpleType gt Siehe auch BearbeitenConstraintLiteratur BearbeitenAlfons Kemper Andre Eickler Datenbanksysteme Eine Einfuhrung 5 aktualisierte und erweiterte Auflage Oldenbourg Munchen u a 2004 ISBN 3 486 27392 2 Victor M Markowitz Safe Referential Structures in Relational Databases In Guy M Lohman Amilcar Sernadas Rafael Camps Hrsg Very large Data Bases Proceedings of the Seventeenth International Conference on Very Large Data Bases September 3 6 1991 Barcelona Catalonia Spain Kaufmann San Mateo CA u a 1991 ISBN 1 55860 150 3 S 123 132 Weblinks BearbeitenFremdschlussel in MySQL 5 1 Beispiele zu MySQL 5 1 Klassifizierung von Integritatsbedingungen und weitere Beispiele Abgerufen von https de wikipedia org w index php title Integritatsbedingung amp oldid 233453104