Informatikmaterialien 
von Tino Hempel

Startseite | Informatik | Physik | Mathematik | Sonstiges |
 


Richard-Wossidlo-Gymnasium Ribnitz-Damgarten
Fachbereich Informatik


Datenbasismodellierung mit PROLOG


Im relationalen Datenbankmodell werden die Daten in Form von bezeichneten Tabellen dargestellt. Eine Tabellenzeile entspricht dabei einer Entität, also einem durch Attribute beschriebenen Objekt.

Datenbasenmodellierung

Eine Tabelle wird in PROLOG durch Fakten modelliert. Der Tabellenname muss bei jeden Fakt mit angegeben werden, um eine eindeutige Zuordnung zu erzeugen. Die Attributwerte werden als Argumente aufgelistet. Dabei ist der Tabellenkopf, also die Benennung der Attribute nicht notwendig, sollte aber aus Gründen der Lesbarkeit in Form eines Kommentars mit angegeben werden.

Beispiel: 
Tabelle Schüler  Umsetzung in PROLOG
SNr Vorname NameJahrgang
4711 Paul Müller10
0815 Erich Schmidt10
7472 Sven Lehmann11
1234 Olaf Müller11
2313 Jürgen Paulsen11
% schueler(SNr, Vorname, Name, Jahrgang) - Kommentarzeile

schueler(4711, paul, mueller, 10).
schueler(0815, erich, schmidt, 10).
schueler(7472, sven, lehmann, 11).
schueler(1234, olaf, mueller, 11).
schueler(2313, juergen, paulsen, 11).

Datendefinition durch Fakten in PROLOG:
Jeder Fakt besteht aus einem Namen, dem Funktor. Er muss mit einem Kleinbuchstaben beginnen. Ihm folgt in Klammern die Liste der Argumente. Die Faktendefinition wird stets mit einem Punkt abgeschlossen. Ein Faktenargument ist stets eine Konstante oder ein aus Konstanten zusammengesetzter Term und beginnt ebenfalls mit einem Kleinbuchstaben.

funktor(argument1, argument2, ...).

Die Anzahl der Argumente gibt die Stelligkeit des Funktors an. So ist der Funktor schueler vierstellig. Dies drückt man  durch die Schreibweise schueler/4 aus.

Konstanten und Terme

Die Darstellung der Namen in der obigen Tabelle weicht von der üblichen Schreibweise ab, da in PROLOG Konstanten stets klein geschrieben werden müssen. Eine gültige Alternative ist die Darstellung in Hochkommas, die dann auch die Benutzung von Umlauten zulässt. Wichtig ist nur, dass man sich für genau eine Variante entscheidet und keine Mischform wählt.

Beispiel: 

schueler(2313, 'Jürgen', 'Paulsen', 11).

Soll in der obigen Tabelle das Geburtsdatum modelliert werden, so kann man drei weitere Spalten/Argumente für Tag, Monat und Jahr ergänzen. Die Implementation in einem DBMS lies aber bisher stets den Datentyp Datum zu, so dass eine solche Atomarisierung nicht notwendig war. PROLOG ermöglicht ebenfalls die Bündelung zusammengehöriger Attribute als sog. zusammengesetzte Terme. Der Aufbau entspricht dem eines Faktes.

Beispiel: 

schueler(2313, 'Jürgen', 'Paulsen', 11, geburtsdatum(12,04,1989)).

Verallgemeinerung

Die Interpretation der Fakten als Entität einer Datenbank stellt nur eine Möglichkeit in PROLOG dar. Im Allgemeinen  werden Fakten als Mittel zur Beschreibung von Eigenschaften eines Objektes oder von Beziehungen zwischen Objekten genutzt.

Beispiele: 

maennlich(ingo).         % Ingo ist männlich
vater_von(erich, ingo).  % Erich ist der Vater von Ingo

Ein Fakt beschreibt entweder eine Eigenschaft eines Objekts oder eine Beziehung zwischen mehreren Objekten.

Beispiele: 

Eigenschaftsbeschreibung: Ingo ist männlich.
Beziehungsbeschreibung: Erich ist Vater von Ingo.

Ein Prädikat ist die Menge aller Fakten mit ein und demselben Funktor.




zur Startseite
© Tino Hempel 1997 - 2006 Im Web vertreten seit 1994.
Eine Internet-Seite aus dem Angebot von Tino Hempel.