Einführung in Deduktive Datenbanken

Werbung
Einführung in Deduktive Datenbanken
Institut für Historisch-Kulturwissenschaftliche
Informationsverarbeitung
Hauptseminar: Datenbanken vs. Markup
Dozent: Prof. Dr. M. Thaller
WS 2009/2010
Referentin: Melanie Dederichs
Einführung in Deduktive Datenbanken
Einleitung:
-
-
Erweiterung des relationalen Datenmodells um eine sog.
Deduktionskomponente
Schnittmenge aus den Bereichen:
Datenbanken
Logik
Künstliche Intelligenz
Methoden aus diesen drei Bereichen werden genutzt
theoretisches Fundament:
mathematische Logik => „Logische Datenbanken“
durch Auswertung von (deduktiven) Regeln wird zusätzliche
Information aus den in einer Datenbasis gespeicherten
Fakten gewonnen
man beschreibt in den Regeln WELCHE Ausgabe man
erreichen möchte ( weniger WIE man die Ausgabe erreicht)
Einführung in Deduktive Datenbanken
Logik erster Stufe:
Domäne
Objekt
Beziehung
Objekte,
Beziehungen,
Funktionen (die auf Objekte u
Relationen angewendet werden)
Objekt
Beziehung
Objekt
Zusammengefaßt
in Termen = log.
Ausdrücken [f(t)]
Einführung in Deduktive Datenbanken
Grundstruktur Deduktiver Datenbanken:
IDB = intensionale Datenbasis
Regeln als Datalog-Programm
EDB = Extensionale
Datenbasis
Einführung in Deduktive Datenbanken
Grundlage Prolog:
Fakten:
supervise(franklin, john).
supervise(franklin,ramesh).
supervise(franklin,joyce).
supervise(jennifer,alicia).
supervise(jennifer,ahmad).
supervise(james,franklin).
supervise(james,jennifer).
...
james
franklin
john
ramesh
Regeln:
superior(X,Y):- supervise(X,Y).
superior(X,Y):- supervise(X,Z),superior(Z,Y).
subordinate(X,Y):- supervise(Y,X).
Anfragen:
superior(james,Y)?
superior(james,joyce)?
jennifer
joyce
alicia
ahmad
Einführung in Deduktive Datenbanken
Datalog- Notation:
-
Weiterentwicklung von Prolog
endliche Anzahl von Regeln
existierende Relationen werden als Buchstaben angesprochen
Variablen/ Konstanten beginnen mit Großbuchstaben
Prädikate beginnen mit Kleinbuchstaben
Quantoren: ∀ ∃
Einführung in Deduktive Datenbanken
Datalog- Beispiele:
Bsp für atomare Formel:
professoren (P, „Thaller“, R, Z)
Bsp für Regel:
thaLV( T,S) :- vorlesungen (V,T,S,P), professoren( P, „Thaller“, R, Z),
>(S,2)
abstrakt:
p(x1,...,xm):- q1(A11, ... A1M1), qn (An1, ... , Anmn)
Einführung in Deduktive Datenbanken
Variablen müssen eingeschränkt werden, da sie sonst unendliche
Relationen liefern
eine Variable X ist in einer Regel eingeschränkt, falls:
- die Variable im Rumpf der Regel in mindestens einem normalen
Prädikat vorkommt
- ein Prädikat der Form X=C mit einer Konstanten C im Rumpf der
Regel existiert
- ein Prädikat der Form X=Y im Rumpf vorkommt und man schon
nachgewiesen hat, dass Y eingeschränkt ist
Eine Regel ist sicher, wenn alle Variablen eingeschränkt sind.
Einführung in Deduktive Datenbanken
Codebeispiel:
koeln ist mit duesseldorf verbunden
verbunden(koeln,duesseldorf).
duesseldorf ist mit dortmund verbunden
verbunden(duesseldorf,dortmund).
hannover ist mit dortmund verbunden
verbunden(hannover,dortmund).
wenn X mit Y verbunden ist, dann auch Y mit X
verbunden(Y,X) :- verbunden(X,Y).
X ist mit Z verbunden, wenn X mit einem beliebigen Y verbunden ist, das
wiederum mit Z verbunden ist
verbunden(X,Z) :- verbunden(X,Y),verbunden(Y,Z).
Anfrage: Ist koeln mit hannover verbunden?
?- verbunden(koeln,hannover)
Einführung in Deduktive Datenbanken
Literatur:
Elmasri, R.; Navathe, S.B.: Fundamentals of Database Systems,
4. Edition, 2004, Pearson Education, Boston
Cremers, A.B.; Griefhahn, U.; Hinze, R.: Deduktive Datenbanken,
Eine Einführung aus der Sicht der logischen Programmierung,
1994, Wiesbaden
Kemper, A.; Eickler, A.: Datenbanksysteme, Eine Einführung,
6.Auflage, 2006, München
Russell, S.; Norvig, P.: Künstliche Intelligenz, Ein moderner
Ansatz, 2. Auflage, 2004, München
Einführung in Deduktive Datenbanken
Vielen Dank für Ihre Aufmerksamkeit!
Herunterladen