Bonn, den 5.8.1994 (aktualisiert am 16.6.1998) Das im Buch `Deduktive Datenbanken, eine Einf"uhrung aus der Sicht der logischen Programmierung' beschriebene deduktive Datenbanksystem kann nunmehr "uber das WWW bezogen werden. Ein Wort der Warnung im voraus: die Implementierung l"a"st in vielerlei Hinsicht noch zu w"unschen "ubrig. Die im Buch dargestellten Konzepte sind noch nicht in toto realisiert (die Moduspr"ufung fehlt, die Integrit"atspr"ufung wird nur naiv durchgef"uhrt und Update-Prozeduren werden ignoriert), die Benutzungsschnittstelle ist noch sehr rudiment"ar und vieles andere mehr. Wir haben uns trotzdem entschlossen, den Prototypen zu ver"offentlichen, da wir in absehbarer Zeit nicht dazu kommen werden, die Defizite aufzuarbeiten. Wir hoffen, da"s das System ungeachtet dessen geeignet ist, die im Buch dargestellte Theorie mit etwas Praxis zu unterlegen. In diesem Sinne viel Spa"s beim Experimentieren. Dar"uber hinaus ist nat"urlich jeder frei die Prolog-Quellen nach seinen Vorstellungen zu modifizieren. Die Autoren w"urden sich freuen, von Verbesserungen in der einen oder anderen Richtung in Kenntnis gesetzt zu werden. [Nicht zuletzt, um diese an andere Interessenten weitergeben zu k"onnen.] ------------------------------------- FTP ------------------------------------- Das Datenbanksystem ist "uber das WWW http://www.cs.uni-bonn.de/~ralf/ddbb/ zug"anglich (man sollte zumindest die Dateien `README', `makefile' und `ddbs.tar.gz' kopieren). Das Datenbanksystem liegt ge`tar't und ge`gzip't vor. Mit Hilfe des Kommandos make install wird das System `installiert'. ------------------------------- VORAUSSETZUNGEN ------------------------------- Das System ist mit Hilfe von Quintus Prolog Release 3.1.1 (Sun-4, SunOS 4.1) erstellt worden. Es sollte aber auch unter (allen) anderen Quintus-kompatiblen Varianten laufen. Da zum Teil Quintus-spezifische Pr"adikate verwendet werden, ist die "Ubertragung auf nicht Quintus-kompatible Prolog-Systeme wahrscheinlich nicht so einfach. [Falls jemand eine Portierung vornimmt, sind wir f"ur eine (Erfolgs-) Meldung dankbar.] ----------------------------------- DATEIEN ----------------------------------- Folgende Dateien findet man nach der Installation vor. README bicycle.ddb Beispiel-DB: Fahrradgro"shandel (Regeln etc.) bicycle.que Beispiel-DB: Fahrradgro"shandel (Anfragen) bicycle.upd Beispiel-DB: Fahrradgro"shandel (Updates) closure.ddb Verschiede Pr"adikate, um die transitive H"ulle einer zweistelligen Basisrelation zu berechnen ddbb.ddb Sammlung der im Buch aufgef"uhrten Beispiele ddbs.pl Prolog-Quelltext des Datenbanksystems graph.ddb Beispiel-DB: Graphen (Regeln etc.) graph.que Beispiel-DB: Graphen (Anfragen) graph.upd Beispiel-DB: Graphen (Updates) makefile math.ddb Bibliothek: mathematische Funktionen sets.ddb Bibliothek: Mengenverarbeitung stdenv.ddb Standardumgebung ------------------------------------ START ------------------------------------ Das Datenbanksystem wird wie folgt gestartet (Kommentare folgen nach dem Prozentzeichen `%'). > prolog % Aufruf des Prolog-Systems (alternativ: `qui') ... | ?- [ddbs]. % "Ubersetzung des Datenbanksystems ... | ?- ddbs. % Start des Datenbanksystems ... : % Prompt des Datenbanksystems --------------------------- BENUTZUNGSSCHNITTSTELLE --------------------------- ^D: Verlassen des Systems compile . "Ubersetzung einer deduktiven Datenbank []. ... dito ... listing. Ausgabe der Deklarationen count. Ausgabe der Rechenzeit nach jeder Anfrage nocount. Keine Ausgabe der Rechenzeit icc. Ausl"osung der Integrit"atspr"ufung [Beachte: es wird nur eine naive Integrit"atspr"ufung durchgef"uhrt.] {}. Ausf"uhrung einer "Anderungsanweisung [Beachte: "Anderungsanweisungen werden zur Zeit *ignoriert*.] <= . Listenwertige Anfrage <= . Listenwertige Anfrage mit Antwortterm <- . Mengenwertige Anfrage <- . Mengenwertige Anfrage mit Antwortterm . Anfrage ------------------------ ERZEUGUNG EINES SAVED STATES ------------------------- Ausgangspunkt: Das Datenbanksystem ist gestartet worden. : ^D % zur"uck zu Quintus Prolog ... | ?- ddbs:save. % Erzeugung eines `saved state' Auf diese Weise wird ein ausf"uhrbares Programm mit dem Namen `ddbs' erzeugt. Ulrike Griefahn und Ralf Hinze