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!