7.2. Entity-Types - Datenbank-Design history menue Letztmalig dran rumgefummelt: 02.01.19 12:54:11
Also kommen wir zurück zur Datenbank. Was zeichnet eine Datenbank nach dem heutigen Verständnis aus?
Also da wären unsere normalen Tabellen. Dann natürlich unsere Indizes. Bis zu diesem Punkt kann bereits FoxPro 2.x folgen. Nun kommen jedoch besondere Bestandteile dazu, die eine echte Datenbank ausmachen.
Stored Procedures oder auch „gespeicherte Prozeduren“. Damit ist Programmcode gemeint, der Daten in spezieller Form manipulieren kann. Weiters gibt es da die Trigger, Rules und Defaults. Außerdem sollten spezielle Datentypen vorhanden sein, die das Speichern von Daten etwas transparenter machen. Nicht zu vergessen, die Referentielle Integrität und die Nullwerte.
Auf alles obige mussten wir bisher verzichten, bzw. wussten bisher gar nicht, dass so etwas eventuell wichtig sein konnte. Von manchen Leuten wird gemunkelt, dass sie die Wörter nicht einmal kannten, bzw. aussprechen konnten. Aber um ehrlich zu sein. Bevor ich mit einer echten Datenbank zu tun hatte (und das ist nicht besonders lange her) konnte ich mit den Ausdrücken genauso wenig anfangen.
  1. CREAT DATABASE
 
2. Stored Procedures
 
3. Trigger
 
4. Rules
 
5. Fehlererkennung und Fehlerbehebung in Datenbanken

Datenbanken

Logo des Database-Designs

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Quellen:

1. CREAT DATABASE history menue scroll up
  WINDOWS-basierte DBMS bieten umfangreichen Komfort zum generieren der einzelnen möglichen Funktionen. Dabei ist im Funktionsumfang deutlich erkennbar jeweils nur ein Grundbestand garantiert. Immer geht es nach den Assistenten noch eine Script-Oberfläche. Mit dieser kann dann auf Basis standardisierter Konventionen, an welche sich die Programmierer mehr oder weniger gehalten haben, funktional in die Tiefe gegangen werden.
Vernetzte Database Modelling by ACCESS Hierarchische Database Modelling by FOXPRO Objektabhängige Database Modelling by My-SQL

Database-Design netzwerk- organisierter Datenbanken

... und hier nun geht's zu den ACCESS-Datentabellen als typischen Vertreter

Database-Design hierarchisch organisierter Datenbanken

... und hier nun geht's zu den FoxPro-Datentabellen als typischen Vertreter

 
 

2. Stored Procedures history menue scroll up
damit ist Programmcode gemeint, der Daten in ganz bestimmter Form verändern kann. 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 history menue scroll up
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, daß 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 history menue scroll up
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 history menue scroll up
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.


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 7. Januar 2010 um 13.18 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