You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Informationssystem (Konsistenz und Integrität von Daten)

Aus EverybodyWiki Bios & Wiki
Wechseln zu:Navigation, Suche



QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)


Begründung: Die allgemeine QS ist überfordert, die Problembeschreibung findet ihr unter Wikipedia:Qualitätssicherung/25. April 2022#Informationssystem (Konsistenz und Integrität von Daten).

Die Aspekte „Konsistenz“ und „Integrität“ beziehen sich im Kontext von Informationssystemen (IS) auf zwei verschiedene Aspekte der „Korrektheit“ von Daten. Der Begriff der “Konsistenz“ fand durch die Publikation „Granularity of Locks and Degrees of Consistency in a Shared Data Base“  von Jim Gray et al.[1] in der Informatik-Fachwelt eine starke Verbreitung. Konsistenz wird dort, in Anlehnung an den Konsistenzbegriff der mathematischen Logik, als Widerspruchsfreiheit der Daten im Informationssystem verstanden, und zwar im Kern in dem Sinne, dass eine gegebene und geforderte Widerspruchsfreiheit (Konsistenz) der Daten eines Informationssystem, durch die Ausführung der dort implementierten Änderungssoperationen nicht verletzt werden darf.

Die Begriff Integrität hat insgesamt viele Bedeutungen und wird in der Informatik oft auch als Synonym oder Oberbegriff für "Konsistenz" im obigen Sinn verstanden. Man kann Integrität aber auch als semantische Integrität dergestalt verstehen, dass die Daten eines IS den im System abgebildeten Ausschnitt der Realwelt inhaltlich korrekt darstellen. Die Möglichkeiten die Integrität in diesem Sinne systemseitig zu bewahren, sind allerdings erheblich eingeschränkter als bei der Konsistenz im obigen Sinn.

Zu beiden Begriffen nachstehend einige Beispiele und weitere Erläuterungen:

Konsistenzsicherung:

Wenn die Vorgabe besteht, dass

  • die Personalnummer (PerNr) einen Mitarbeiter eindeutig identifiziert, dann muss das IS per Implementierung sicherstellen, dass keine zwei (oder gar mehr) Mitarbeiter-Datensätze im Feld PersNr denselben Wert aufweisen können
  • jeder Mitarbeiter stets mindestens einer Abteilung zugeordnet ist und wenn diese Zuordnung durch Eintrag der Abteilungsnummer (AbtNr) im MItarbeiter-Datensatz erfolgt , dann muss jeder Mitarbeiter-Datensatz die AbtNr einer existierenden Abteilung enthalten (bei mehreren Abteilungen muss dies für alle AbtNr-Einträge gelten)
  • jeder Mitarbeiter genau einer Abteilung zugeordnet ist, dann muss im Mitarbeiter-Datensatz genau eine AbtNr stehen und für die Listen der den Abteilungen zugeordneten Mitarbeitern muss gelten, dass diese disjunkt sind, d.h. es gibt keine zwei oder mehrere Listen, welche dieselbe Personalnummer enthalten

Das letzte Beispiel beschreibt eine eine sog. 1:n-Beziehung und ist in Bezug auf die Bewahrung der Konsistenz implementierungstechnisch noch relativ harmlos. Ganz erheblich aufwendiger wird die Bewahrung der Konsistenz bei sog. n:m-Beziehungen, wie z. B. Lieferant – Teile, wo ein Lieferant meist verschiedene Teile liefert und ein Teil evtl. von mehreren Lieferanten bezogen werden kann. Andere typische n:m-Beziehungen sind etwa Mitarbeiter – Projekte, Kunde – Produkte und Produkte – Spedition.

Die Herausforderung ist, dass die Konsistenz des IS natürlich auch bei jeder Art von Änderungen an ihren Datensätzen, wie Einfügungen, Löschungen und Änderungen (z. B. Übergang von 4-stelligen auf 5-stellige Abteilungs-, Projekt- oder Produktnummern) bewahrt werden muss. Eine nicht-triviale, aber beherrschbare Aufgabe bei der Implementierung dieser Systeme.

Moderne relationale Datenbanksysteme verfügen über eine Reihe von Mechanismen, um die oben beschriebene Konsistenz quasi "per Konstruktion" zu erzwingen. Hierzu gehört z. B. die Erzwingung der Eindeutigkeit von Tupeln in Relationen mittels der Deklaration von Primärschlüsseln (primary key) oder die Verwendung von Unique-Klauseln. Die Gültigkeit der Beziehungen zwischen Objekten wird, dort referentielle Integrität (referential integrity) genannt, kann bereits bei der Deklaration einer Relation mittels entsprechender Klauseln sichergestellt werden.

Integrität:

Wenn jeder Mitarbeiter-Datensatz im dritten der obigen Beispiele die AbtNr einer existierenden Abteilung aufweist, ist der Konsistenz (im obigen Sinn) Genüge getan. Nicht sichergestellt hingegen ist, dass dies jeweils auch die AbtNr der richtigen Abteilung ist. Integrität in diesem Sinn kann das Informationssystem in der Regel von sich aus nicht garantieren. Dafür ist letztlich diejenige Person verantwortlich, welche ein solche Zuordnung im Informationssystem veranlasst. Ähnliches gilt natürlich für alle möglichen Einträge, wie z.B. Gehalt, Körpergröße, Anschrift etc.

Hier kann ein IS allenfalls unterstützend wirken. Moderne relationale Datenbanksysteme bieten hierfür Plausibiltätsprüfungenan, etwa in Form von Wertebereichseinschränkungen für Feldwerte von Datensätzen [2] (dort Attributwerte genannt) oder auf Relationsebene in Form von CHECK-Klauseln [2] und Triggern. Mit beiden, insbesondere jedoch mit Triggern, können Regeln implementiert werden, die bei Einfügungen, Löschungen oder Änderungen an der Relation überprüft und ggf. Operationen, die gegen diese verstoßen, an der Ausführung gehindert werden. Eine einfache Regel dieser Art wäre, dass einem Mitarbeiter nur dann ein Dienstwagen zugeordnet werden kann, wenn für ihn eine gültige Fahrerlaubnis im IS hinterlegt ist. Eine etwas komplexere Regel wäre, dass einem Kunden nur noch dann die kostenlose Rücksendung von Artikeln angeboten wird, wenn bei seinen Bestellungen der letzten 12 Monate die Rücksendungen hinsichtlich Anzahl und Warenwerten bestimmte Schwellwerte nicht überschritten haben.

Einzelnachweise[Bearbeiten]

  1. Jim Gray, Raymond A. Lorie, Gianfranco R. Putzolu, Irving L. Traiger: Granularity of Locks and Degrees of Consistency in a Shared Data Base. In: Proceedings IFIP Working Conference on Modelling in Data Base Management Systems 1976. 1976, S. 365–394.
  2. 2,0 2,1 SQL CHECK Constraint. In: W3 schools SQL. W3 schools, abgerufen am 27. April 2022 (englisch).


Diese artikel "Informationssystem (Konsistenz und Integrität von Daten)" ist von Wikipedia The list of its authors can be seen in its historical and/or the page Edithistory:Informationssystem (Konsistenz und Integrität von Daten).



Read or create/edit this page in another language[Bearbeiten]