5.9. Integritätsregeln und Löschweitergabe |
![]() |
![]() |
Letztmalig dran rumgefummelt: 23.01.18 18:48:12 |
![]() |
Tscha - also: Integrität heißt eigentlich streng genommen nichts weiter als "SICHER" - deshalb hab' ich auch mal das Grafitti an der Berliner Mauer gewählt, denn das versinnbildlicht schon eine wenig, was wir derzeit im Bezug auf Datenbanken ganz aktuell haben: wir sind ziemlich sicher - niemals ganz!!! | ||||||
![]() |
1. Datenintegrität - was ist das? 2. Stored Procedures 3. Trigger 4. Rules 5. Fehlererkennung und Fehlerbehebung in Datenbanken 6. Konsistenz durch Aktualisierungs- und Löschweitergabe 7. Problemkreis geschlossene ERM |
||||||
![]() |
|
||||||
![]() |
Quellen:
|
1. Datenintegrität - was ist das? | ![]() |
![]() |
![]() |
![]() |
... erst einmal die "Unversehrtheit" der Daten innerhalb der Datenbasis. Es ist somit sicher, dass die Daten sicher, echt sowie aktuell sind. Es muss ergo möglich sein, "Echtzeit-Informationen" abzurufen, wie dies große Handelsketten mit "Sendungsverfolgung" bereits tun! |
![]() |
|
![]() |
... und hier nun geht's zu den ACCESS-Datentabellen |
2. Stored Procedures | ![]() |
![]() |
![]() |
![]() |
damit ist Programmcode gemeint, der Daten in ganz
bestimmter Form verändern kann (besonders kritisch wären hier gesetzte
Key-Elemente). In der Welt der Großrechner und SQL-Datenbanken wird dies durch
die sogenannte SQL-Sprache erledigt. Eigentlich sollte die SQL-Sprache eine
Abfragesprache sein, die es auch der Oma von nebenan ermöglicht Ihre
Kuchenrezepte aus dem Datenhaufen herauszubekommen. Wer sich jedoch schon einmal
über die Sprache darüber gewagt hat, der wird bald erkennen, dass die „Oma“ wohl
eher das Kochbuch zur Hand nehmen wird, als sich aus einer Datenbank
Informationen zu holen. Ich persönlich bin froh, dass SQL ein etwas schwieriger Teil der EDV ist, ansonsten wäre ich ja arbeitslos. Vom Standpunkt eines Programmierers aus, schreibt man seine Programme lokal auf seinem Rechner und greift mit bestimmten Befehlen auf die Festplatte oder das Netzlaufwerk zu. Die Stored Procedures hingegen laufen sozusagen in der Datenbank ab und belasten somit nicht das eigene Programm. Dies hat besondere Vorteile. Als erstes ist das Schlagwort „Reuseable Code“ anzuführen. Wenn ich Programmcode zentral ablege, dann brauche ich ihn nur einmal schreiben und er steht jedem meiner Programme zur Verfügung. Außerdem muss ich dafür sorgen, dass der Code für alle Problemfälle gewappnet ist, dass heißt, dass man „ordentlich“ programmieren muss und sich keine Quick and Dirty´s leisten kann. |
![]() |
3. Trigger | ![]() |
![]() |
![]() |
![]() |
Die sinngemäße Übersetzung für Trigger wäre der
Abzugshebel einer Pistole. Genauso verhalten sich auch die Trigger, hinter denen
eine Stored Procedure stecken kann. Es bedeutet schlicht und einfach, dass ein
Ereignis eintritt und die Datenbank daraufhin einen Trigger „abfeuert“ der
wiederum mit einer Aktion auf das Ereignis reagiert. War das nicht ein toller
Satz ? Für den Laien erklärt bedeutet dieses, dass es drei verschiedene Ereignisse in der Datenbank gibt, die man abfangen kann. Datensatz Einfügen, Ändern und Löschen. Es wird alles auf diese drei Ereignisse zurückzuführen sein. Wenn nun eins dieser Ereignisse eintritt, dann kann die Datenbank automatisch weitere Aktionen starten. Als Beispiel wären da Löschoperationen oder ähnliches. |
![]() |
4. Rules | ![]() |
![]() |
![]() |
![]() |
In jeder Datenbank kann man ein Regelwerk
definieren, welches darauf achtet, dass keinerlei „Mülldaten“ in die
Tabellen gelangen. Wenn Sie definieren, dass ein bestimmtes Feld in einer Tabelle nicht geändert werden darf, dann wird sich die Datenbank mit Händen und Füßen wehren, dass Sie einen Datensatz eingeben, oder darauf ändern. Also das alte Verhalten des „Ich lege mal schnell 5 leere Datensätze an und schreibe die Daten später hinein“ können sie sich sofort aus dem Kopf schlagen. Wenn Sie eine Regel definiert haben, so müssen Sie die Regel zuerst löschen, wenn Sie diese brechen wollen. Und mal ehrlich, wer möchte sich vom Computer schon sagen lassen, was man tun darf und was nicht. Aber dazu später. |
![]() |
5. Defaults | ![]() |
![]() |
![]() |
![]() |
Wenn Sie zufällig in Deutschland wohnen und einen
Kundendatensatz eingeben, dann ist es wohl sinnvoll, wenn das
Länderkennzeichen mit einem „D“ vorbelegt ist. Wollten Sie dies bisher
erreichen, so mussten Sie dieses in jedem Programm hineinprogrammieren,
welches Datensätze in der Kundendatei anlegt. Defaults füllen die Felder bereits mit von Ihnen vorbestimmten Werten, wenn ein Datensatz neu angelegt wird und Sie diese Daten nicht explizit vorgeben. |
![]() |
6. Konsistenz durch Aktualisierungs- und Löschweitergabe | ![]() |
![]() |
![]() |
![]() |
Wenn Sie aus Ihrem Bibliotheksbestand ein Buch löschen, welches dummerweise gerade noch ausgeliehen ist, weil der Leser vergessen hat, es pünktlich zurückzugeben, dann darf dieser später keine Mahnung wegen eines überzogenen Rückgabetermins bekommen, da es dieses Buch logischerweise gar nicht mehr gibt. | ||||||
![]() |
|
7. Problemkreis geschlossene ERM | ![]() |
![]() |
![]() |
![]() |
In letzter Zeit sehr viel seltener geworden, noch vor wenigen Jahren eigentlich vorherrschend, aber selbst in der Fachliteratur vor allem von Wirtschaftswissenschaftlern auch heute noch vielfach anzutreffen. Ganz abgesehen davon, dass diese Modelle gar nicht notwendig sind, "verklemmen" sie eine vormals in sich konsistente Datenstruktur - die Unmöglichkeit, Tupel hinzufügen zu können ist auch eine Form der Inkonsistenz! | |||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 7. Januar 2010 um 14.37 Uhr |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |