Deduktive Deduktive Datenbanken Datenbanken SS 2007 Prof. Dr. Rainer Manthey Institut für Informatik III Universität Bonn © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 1 Kapitel Kapitel00 0 Deduktive Deduktive Datenbanken Datenbanken Organisatorisches Organisatorischesim imSS SS2007 2007 © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 2 Zeiten Zeitenim imSS SS07 07 Montag Dienstag Mittwoch Donnerstag Freitag 9 Übungen 10 11 12 Vorlesung Vorlesung 13 14 15 16 17 © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 3 Voraussetzungen üfungsmöglichkeiten Voraussetzungenund undPr Prüfungsmöglichkeiten 0 • "Deduktive Datenbanken" ist inzwischen ein „Bonner Klassiker“: • Sie wird jetzt zum 11. Mal gehalten: WS 92, SS 94, SS 96, WS 97, SS/WS 99, WS 00/01, SS 03, SS 04, SS 05, SS 06 • Sie wurde seit 1993 über 350 Mal im Hauptdiplom geprüft. • Über 80 Diplomarbeiten mit Themen aus diesem Gebiet wurden angefertigt. • DDB ist eine Vertiefungsvorlesung im Hauptstudium: • Teilnahme an bzw. Kenntnis des Inhalts von "Informationssysteme" ist unerlässliche Teilnahmevoraussetzung ! • Die Vorlesung ist nicht für "DB-Anfänger" geeignet ! • auch für Hörer, die die Voraussetzungen erfüllen: Wiederholen Sie Grundlagen aus Logik und Mengenlehre, zu relationalen Anfragesprachen (RA, TRC, DRC, SQL) und relationalen Datenbanken !! • Prüfungsmöglichkeiten . . . • . . . nach alter DPO (1998): geeignet nur für C-Prüfungen (in Kombination mit einer weiteren passenden Vorlesung) • . . . nach neuer DPO (2003): Modul im Bereich B mit Leistungspunkteprüfung (8 LP) © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 4 Leistungspunktepr üfung (neue Leistungspunkteprüfung (neueDPO) DPO) 0 • Für alle Vorlesungsteilnehmer, die auf nach DPO 2003 studieren, findet kurz nach Semesterende die Leistungspunkteprüfung zu dieser Vorlesung statt. • Teilnahmevoraussetzung: Teilnahmevoraussetzung • Zulassung zur HD-Prüfung nach neuer DPO (Prüfungsbüro!) • erfolgreiche Teilnahme an den Übungen zu dieser Vorlesungen (wird bei Anmeldung zur Prüfung vom Dozenten bestätigt) • Termine: Termine • Meldung zur Prüfung: wird in der Übungsstunde angenommen und an den PA weitergeleitet • Leistungspunkteprüfung: wahrscheinlich schon Mittwoch, der 11.7.2007 • Wiederholungsprüfung: letzte Woche der Semesterferien (8.- 12.10.2007) • Form der LP-Prüfung: fung Klausur (für beide Termine) © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 5 CC-Prüfung -Prüfung (alte (alteDPO) DPO)und undDiplomarbeiten Diplomarbeiten 0 • Themenkombinationen für C-Prüfungen bei Prof. Manthey: • für Hörer der Vorlesung im vergangenen Wintersemester am geeignetsten: Informationssysteme + Deduktive Datenbanken • ebenfalls von Prof. Manthey geprüft: Deskriptive Programmierung + Deduktive Datenbanken • alternativ: Kombination mit anderen Vertiefungsvorlesungen aus dem Gebiet "Datenbanken und Informationssysteme" nach Absprache (im Umfang von insgesamt mindestens weiteren 4 SWS) • Prüfungstermine werden im Prinzip kontinuierlich vergeben - bitte vor Anmeldung beim Prüfungsbüro Termin vereinbaren und Prüfungsfragebogen ausfüllen (→ Web). • Diplomarbeiten mit Bezug zu „Deduktiven Datenbanken“: • werden auch weiterhin kontinuierlich vergeben: Literaturarbeiten, Methodenimplementierung, Anwendungsmodellierung, Schnittstellen für Anwendungs-DB • aber: Nachfrage übersteigt Angebot bei weitem! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 6 Organisatorisches Organisatorisches • 0 Internetseiten zur Vorlesung dienen als Hauptkommunikationsmedium zwischen Dozent, Assistenten und Studierenden: . .. .. .und undals alskostenlose kostenloseDruckversion Druckversion • ständig aktualisierte Inhaltsübersicht ininSammelbestellung Sammelbestellung • Folien (als PDF-Dateien) zum Download • weiterführende Literaturangaben, Literaturangaben Links etc. zu DDB • ausgewählte Originalquellen als PDF-Dateien (soweit verfügbar) http://www.informatik.uni -bonn.de/III/lehre/vorlesungen/DeduktiveDatenbanken/SS07/ http://www.informatik.uni-bonn.de/III/lehre/vorlesungen/DeduktiveDatenbanken/SS07/ • Übungen: Mi Mi 99--11, 11, AA 207 207 (Beginn: (Beginn: 18.4.2007) 18.4.2007) • Durchführung: RM und Dipl.-Inform. Christian Dorau (A 210) • Kriterium für erfolgreiche Teilnahme: Teilnahme • regelmäßige, aktive Teilnahme (an mindestens 75 % der Termine) • bei Versäumen eines Termins: begründete Entschuldigung © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 7 „„Experimentelle“ Experimentelle“ Vorlesungsform Vorlesungsforminindiesem diesemJahr Jahr Damit für den Prof keine Routine aufkommt: Voraussichtlich deutlich geänderter Vorlesungsstil in diesem SS 2007 ! • selten (bis gar nicht): „Abarbeiten“ und „Vorlesen“ der Folien durch den Prof • stattdessen: • Folien-Erarbeiten (d.h. „Wissenserwerb“) weitgehend im Selbststudium • ergänzende Diskussionen der jeweiligen Themen „auf andere Art“ in der Vorlesung • Vorlesung ähnelt Globalübung, aber stets neue Themen • in den eigentlichen Übungen: Wiederholung, „Training“, Klausurvorbereitung © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 8 Semester übersicht Semesterübersicht 0 Mo Mi ------16.4. 16.4. 23.4. 23.4. 30.4. 30.4. 7.5. 7.5. 14.5. 14.5. 21.5. 21.5. 4.4. 4.4. 11.4. 11.4. 18.4. 18.4. 25.4. 25.4. 2.5. 2.5. 9.5. 9.5. 16.5. 16.5. 4.6. 4.6. 11.6. 11.6. 18.6. 18.6. 25.6. 25.6. 2.7. 2.7. 9.7. 9.7. 6.6. 6.6. 13.6. 13.6. 20.6. 20.6. 27.6. 27.6. 4.7. 4.7. Klausur Klausur in diesem Semester: 24 Vorlesungen 10 Übungen (Dies) (Dies) (Pfingstwoche vorlesungsfrei) (Pfingstwoche vorlesungsfrei) © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 9 Kapitel Kapitel11 1 Deduktive Deduktive Datenbanken Datenbanken SS 2007 1.1. Einf ührung und Einführung undMotivation Motivation © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 10 "Deductive " "Deductivedatabases databasesininaanutshell nutshell" 1 Deduktion (von lat. "deducere": wegführen, ableiten) "Die Ableitung von Aussagen (Thesen) oder Sätzen und Erkenntnissen aus anderen, meist angenommenen (Hypothesen), mit Hilfe logischer Schlussregeln . . ." (dtv-Lexikon Bd. 4, 1999) InIndieser dieserVorlesung Vorlesungerlernen erlernenSie Siedie dieWissenschaft Wissenschaft von vonder derHerleitung Herleitungvon vonAussagen Aussagenaus ausDatenbanken Datenbanken!! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 11 ""Deductive Deductive databases " (2) databasesininaanutshell nutshell" (2) 1 • "Schlussregeln" in Datenbanken sind Sichtdefinitionen und Integritätsbedingungen: SQL CREATE CREATEVIEW VIEW vv AS AS (SELECT (SELECT A, A,BB FROM FROM t t WHERE WHERE CC>>00)) CREATE CREATEASSERTION ASSERTION cc AS AS EXISTS EXISTS (SELECT (SELECT A, A,BB FROM FROM t t WHERE WHERE CC>>00)) • "Deduktive Datenbanken" ist also die "Wissenschaft von den Views und Constraints" Constraints ! • In dieser Vorlesung werden wir überwiegend nicht SQL "sprechen", sondern die viel elegantere Sprache Datalog verwenden - da sehen dieselben Regeln wie folgt aus: v(X, v(X,Y) Y) ← ← t(X, t(X,Y, Y,Z), Z),ZZ>>0.0. constraint constraintc.c. cc ← ← t(X, t(X,Y, Y,Z), Z),ZZ>>0.0. • aber: Nicht die Sprache ist entscheidend, sondern was man mit ihr ausdrücken kann ! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 12 „„Deduktive Deduktive Datenbanken “ als Datenbanken“ alsForschungsgebiet Forschungsgebiet?? 1 • Sichten und Integritätsbedingungen werden seit langem problemlos (?) in der DB-Praxis genutzt. Im SQL-Standard hat sich an der Ausgestaltung dieser Konzepte seit über zehn Jahren kaum mehr etwas geändert. Warum Warumgibt gibteses(immer (immernoch) noch)ein eineigenes eigenesForschungsgebiet Forschungsgebietzu zudiesen diesenThemen? Themen? • Heutige kommerzielle (SQL-)Datenbanksysteme beherrschen zufriedenstellend bis gut (nur) die effiziente Beantwortung von Anfragen über nicht-rekursiven Sichten. Sichten • Sowie Rekursion ins Spiel kommt, versagen die klassischen Methoden der Anfragebeantwortung völlig! • Selbst die Bedeutung (Semantik) vieler deduktiver Datenbanken mit Rekursion ist überhaupt nicht offensichtlich. Erst seit SQL:1999 sind rekursive Sichten unter starken Einschränkungen erlaubt. • Die adäquate Behandlung von Änderungen in DB mit Sichten (auch ohne Rekursion) wird immer noch nicht kommerziell gewährleistet: SQL-Systeme kennen keine Integritätsbedingungen über Sichten, können materialisierte Sichten nicht effizient anpassen und lassen Sichtenänderungen nur unter starken Einschänkungen zu. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 13 Was nützt“ mir Was„„nützt“ mirdiese dieseVorlesung? Vorlesung? 1 • „Deduktive Datenbanken“ ist eine reine „Forschungsvorlesung“, pure „science fiction“! • In „der Praxis“ – also im aktuellen beruflichen Alltag eines Informatikers – nützt Ihnen diese Vorlesung (momentan) so gut wie gar nichts. • im Gegenteil: Sie werden mit den Mängeln und Schwächen heutiger DB-Systeme wesentlich leichter „leben“ können, wenn Sie erst gar nicht „indoktriniert“ sind und gar nicht wissen, was möglich wäre (aber noch nicht existiert). • aber: Studium an der Universität ist mehr als einfach nur „Berufsausbildung für heute“! • Universitäten leben von ihren Forschungsaktivitäten, universitäre Lehre (zumindest in höheren Semestern) ist stets ganz eng an Forschung für die Zukunft gebunden. („Humboldtsches Ideal“) • Was hierbei „Zukunft“ bedeutet, ob jemals mit den Ergebnissen von Forschung Geld zu machen ist und wann das sein wird, ist völlig unerheblich: Für Füreinen einenForscher Forscherist istein einProblem Problemeinfach einfachschon schondeswegen deswegeninteressant, interessant,weil weiles esda daist! ist! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 14 Anwendungsgebiete r deduktive Anwendungsgebietefüfür deduktiveDatenbanken Datenbanken?? 1 • Es gibt Spezialgebiete der DB-Forschung, deren Ergebnisse für bestimmte Klassen von Anwendungen relevant sind, und nur für diese, z.B.: Geo-Informationssysteme, temporale Datenbanken, Multimedia-Datenbanken, Bilddatenbanken, verteilte Datenbanken, Bio-Datenbanken • Deduktive Datenbanken dagegen sind nicht „Datenbanken für spezielle Fälle“, sondern Datenbanken, die eine spezielle Technologie anbieten, die generisch ist, d.h. im Prinzip für beliebige Anwendungen geeignet und nützlich sind. • ähnlich generische Gebiete der DB-Forschung: aktive Datenbanken, objektorientierte Datenbanken, relationale Datenbanken • Trotzdem gibt es sicher Anwendungsgebiete, die mehr Potential für den Einsatz von Deduktion bieten als andere – aber welche Gebiete das sind, ist noch überhaupt nicht angemessen erforscht. Das Potential ist groß! • auf den folgenden beiden Folien: Ganz kurze Diskussion eines einzigen, derartigen potentiellen Anwendungsgebiets (noch nicht in der Praxis genutzt!), um durch Analogiebildung ein erstes Gefühl für die Perspektiven deduktiver Datenbanken zu vermitteln. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 15 Motivierendes MotivierendesBeispiel: Beispiel:Fahrplandaten Fahrplandatenininextensionaler extensionalerForm Form 1 Fahrpläne Fahrplänesind sindriesige riesigeFaktensammlungen, Faktensammlungen, wenn wennSie Sieininder derüblichen üblichen„Kursbuchform“ „Kursbuchform“ dargestellt werden ( extensionale dargestellt werden (extensionaleDarstellung): Darstellung): KK→ →BN BN→ →KO KOallein alleinumfasst umfasstpro proRichtung Richtung Fakten FaktenininForm Formeiner einer109 109××25−Tabelle 25−Tabelle © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 16 Motivierendes äne ininintensionaler MotivierendesBeispiel Beispiel(2): (2):Fahrpl Fahrpläne intensionalerForm Form 1 • Analysiert man allerdings z.B. die 129 Felder in der Spalte „Bonn Hbf ab“ genauer, stellt man fest, dass die Abfahrtszeiten nach festem Muster erfolgen, das sich stündlich wiederholt (intensionale Darstellung): Linie Abfahrt zwischen RE 5 RB 48 RE 26 IC RB 30 X:00 Uhr X:08 Uhr X:27 Uhr X:37 Uhr X:50 Uhr 7 ≤ X ≤ 21 7 ≤ X ≤ 22 0 ≤ X ≤ 23 8 ≤ X ≤ 20 7 ≤ X ≤ 21 • Dieses Muster in der Datenbank zu speichern (5 „Zeilen“) ist wesentlich ökonomischer, als alle 129 Spalten mit Einzelabfahrtszeiten, vorausgesetzt es gibt einen effizienten Mechanismus, um aus dem Muster die Einzelzeiten jederzeit rekonstruieren zu können. • Statt für jeden einzelnen Bahnhof ein eigenes Muster aufzustellen, läßt sich die ganze Tabelle in analoger Form regelbasiert darstellen. Basisdaten dafür sind: Fahrzeiten zwischen den Stationen, Haltezeiten in den Stationen, Abfahrtszeiten im Startbahnhof (hier Köln bzw. Koblenz) • Der gesamte Fahrplan der Deutschen Bahn funktioniert so (taktbasierter Fahrplan)! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 17 Literatur Literaturzur zurVorlesung Vorlesung 1 • Es gibt (noch) kein Buch zu dieser Vorlesung !! - Ist aber seit Jahren in Arbeit ... • Aber es gibt eine ganze Menge Bücher zum Thema DDB allgemein (s. folgende Folien). • Die Vorlesungsinhalte werden ausschließlich über Folien vermittelt, die Ihnen (diesmal bereits zu Vorlesungsbeginn) als PDF-Download zur Verfügung stehen. • Die Vorlesung stützt sich überwiegend auf Originalquellen aus der wissenschaftlichen Literatur, die (fast) alle in Englisch geschrieben wurden. Wichtige Quellen stellen wir Ihnen im Laufe des Semesters ebenfalls zum Herunterladen zur Verfügung. • Es gab bis vor kurzem auf dem Markt ein deutschsprachiges Buch zum Thema "Deduktive Datenbanken" - das zudem auch noch in Bonn entstanden ist: out of print A.B. A.B.Cremers, Cremers,U. U.Griefahn, Griefahn,R.R.Hinze: Hinze: "Deduktive Datenbanken ührung aus "Deduktive Datenbanken- -Eine EineEinf Einführung ausder derSicht Sicht der logischen Programmierung" der logischen Programmierung" Vieweg Verlag, Vieweg-Verlag,1994 1994 • Das ist ein gutes Buch, passt aber nicht zu dieser Vorlesung, Vorlesung weil es einen deutlich anderen Zugang zu Thematik wählt, der eher zur Vorlesung "Deskriptive Programmierung" passt. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 18 Literaturhinweise Literaturhinweise(2) (2) • 1 "klassische" Quelle, insbesondere zu deduktiven Datenbanken: J.D. J.D.Ullman: Ullman: "Principles "PrinciplesofofDatabase Databaseand andKnowledge KnowledgeBase BaseSystems" Systems" Computer ComputerScience SciencePress, Press,1988/89 1988/89 out of print Vol. 1: Kapitel 3, Vol. 2: Kapitel 12/13 Vol. 1: Kapitel 3, Vol. 2: Kapitel 12/13 • ein etwas älteres, aber immer noch nützliches englischsprachiges Lehrbuch (trotz des Titels ein "echtes" Datenbankbuch): S.S.Ceri, Ceri,G. G.Gottlob, Gottlob,L. L.Tanca Tanca "Logic "LogicProgramming Programmingand andDatabases" Databases" Springer, Springer,1990, 1990,284 284Seiten Seiten • out of print umfangreich, aber verhältnismäßig oberflächlich: S.K. S.K.Das: Das: "Deductive "DeductiveDatabases", Databases",Addison-Wesley, Addison-Wesley,1992 1992 • out of print ebenfalls von einem Bonner Autor, aber sehr theoretisch und einseitig: M. M.Dahr: Dahr:"Deductive "DeductiveDatabases", Databases",Thompson, Thompson,1997 1997 © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken out of print 19 Literaturhinweise Literaturhinweise(3) (3) • 1 erster Übersichtsartikel über theoretische Grundlagen des Gebietes: H. H.Gallaire, Gallaire,J.J.Minker, Minker,J.-M. J.-M.Nicolas Nicolas "Logic "Logicand andDatabases: Databases:AADeductive DeductiveApproach" Approach" ACM ACMComputing ComputingSurveys Surveys16(2) 16(2), ,Juni Juni1984, 1984,153-185 153-185 • persönlich gehaltener Überblick über die Geschichte der Forschung zu deduktiven Datenbanken aus der Sicht eines "Pioniers": J.J.Minker Minker "Perspectives "Perspectivesin inDeductive DeductiveDatabases" Databases" Journal Journalofof Logic LogicProgramming Programming5(1), 5(1),1988, 1988,33-60 33-60 • guter Abriss der theoretischen Grundlagen: J.J.Grant, Grant,J.J.Minker Minker "Deductive "Deductivedatabase databasetheories" theories" The TheKnowledge KnowledgeEngineering EngineeringReview Review4(4), 4(4),1989, 1989,267-304 267-304 © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 20 Literaturhinweise Literaturhinweise(4) (4) • 1 gute, relativ aktuelle Zusammenfassung der wichtigsten Methoden zur effizienten Anfragebeantwortung: J.J.Naughton, Naughton,R. R.Ramakrishnan: Ramakrishnan: "Bottom-up "Bottom-upEvaluation EvaluationofofLogic LogicPrograms" Programs" in: in:"Computational "ComputationalLogic Logic--Essays EssaysininHonor HonorofofAlan AlanRobinson", Robinson", J.L. J.L.Lassez/G. Lassez/G.Plotkin Plotkin(eds), (eds),MIT MITPress, Press,1991, 1991,640 640--700 700 • Übersicht über Implementierungsmethoden, Projekte und implementierte Systeme: R. R.Ramakrishnan, Ramakrishnan,J.D. J.D.Ullman: Ullman: "A "ASurvey SurveyofofDeductive DeductiveDatabase DatabaseSystems" Systems" Journal JournalofofLogic LogicProgramming, Programming,1995, 1995,125-149 125-149 © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 21 Literaturhinweise Literaturhinweise(5) (5) • 1 Sonderheft eines Journals mit umfangreichen Darstellungen wichtiger Prototypsysteme: K. K.Ramamohanarao Ramamohanarao(ed) (ed) Special SpecialIssue IssueOn OnPrototypes PrototypesofofDeductive DeductiveDatabase Database Systems Systems The TheVLDB VLDBJournal Journal3(2), 3(2),April April1994 1994 • Alle Übersichtsartikel stehen über die Vorlesungswebseite als Download bereit! • im Lehrbuch zur Vorlesung "Informationssysteme" (Kemper/Eickler: Datenbanksysteme): Kapitel 14 "Deduktive Datenbanken" (ca. 25 Seiten) relativ kurze, etwas einseitige Darstellung; sachlich nicht zu beanstanden, aber "ideologisch" etwas problematisch; nicht sehr hilfreich © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 22 Gliederung Gliederung(geplant) (geplant) 1 1. Einführung und Motivation 2. Datalog: eine deduktive DB-Sprache für relationale Datenbanken 3. Sichten und Integritätsbedingungen in anderen relationalen DB-Sprachen 4. Semantik deduktiver Datenbanken 5. Anfragegetriebene Inferenz 6. Änderungsgetriebene Inferenz 7. Disjunktive deduktive Datenbanken 8. Erweiterungskonzepte für deduktive Datenbanken © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 23 Datenbank Datenbankund undDatenbanksystem Datenbanksystem 1 DBMS DB .... Datenbanksystem Anwender und Anwendungsprogramme © 2007 Prof. Dr. R. Manthey DBMS: Datenbank-Management-System Schemaverwaltung, Anfrageoptimierung, Transaktionsverwaltung, Zugriffsschutz, Integritätssicherung, Synchronisation, Speicherverwaltung usw. Deduktive Datenbanken 24 Deduktive DeduktiveDatenbank Datenbank 1 "Regelbank" DBMS DB .... extrahiert aus Anwenderprogrammen © 2007 Prof. Dr. R. Manthey Zusätzliches anwendungsspezifisches Wissen wird in der Datenbank zentral gehalten: • deduktive Regeln • normative Regeln Deduktive Datenbanken ("views") ("constraints") 25 Deduktives DeduktivesDBMS DBMS 1 Inferenzkomponente DB DBMS .... weitere "Entlastung" der Anwenderprogramme Generische, anwendungsunabhängige Methoden zur Verwaltung und Anwendung von Regeln werden im DBMS zentral zur Verfügung gestellt: • • © 2007 Prof. Dr. R. Manthey Datenherleitung Konsistenzprüfung Deduktive Datenbanken 26 Spezifisch Spezifischvs. vs.generisch generischbei beideduktiven deduktivenDBS DBS 1 • Auf den beiden letzten Folien gab es eine ganz wichtige, aber nicht offensichtliche Unterscheidung: • Die Regeln in der erweiterten DB sind anwendungsspezifisch. anwendungsspezifisch • Die Inferenzmethoden im erweiterten DBMS sind anwendungsunabhängig (oder "generisch"). • Der erste Punkt ist naheliegend: Die Regeln stammen stets von den Gesetzmäßigkeiten eines bestimmten Anwendungsgebietes und müssen bei der Modellierung der Anwendung genauso wie Entities und Relationships durch Analyse gewonnen werden. (Ausnahme vielleicht: Allgemeinwissen, das von allen Anwendungen gebraucht wird) • Der zweite Punkt ist nicht naheliegend, aber entscheidend für den "Gewinn", den man bei Verwendung eines deduktiven DBMS erzielen kann: • Inferenzmethoden (zur Datenherleitung oder Integritätsprüfung) hängen nur von der Syntax und Semantik der jeweiligen Regelsprache ab. • Sie können für jede Anwendung identisch wieder verwendet werden, unabhängig davon, was die jeweiligen Anwendungsregeln gerade modellieren. ⇒ Inferenztechniken werden nur einmal entwickelt und implementiert. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 27 virtuell virtuellvs. vs.materialisiert materialisiert 1 virtuelle virtuelleSichten Sichten hergeleitet, nicht gespeichert ableitbare ableitbareDaten Daten ("Sichten") hergeleitet, gespeichert materialisierte materialisierteSichten Sichten Basisdaten Basisdaten ("Tabellen") gespeichert © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 28 virtuell virtuellvs. vs.materialisiert materialisiert(2) (2) • 1 Basisdaten: • permanent physisch gespeichert in der (Fakten-)Datenbank • individuell ("Fakt für Fakt") eingefügt bzw. modifiziert • ableitbare Daten: durch Ableitungsregel(n) definiert • virtuell: • nicht permanent physisch gespeichert • nur bei Bedarf (Anfrage) partiell, temporär hergeleitet "zeitkritisch" "zeitkritisch" ⇒ Inferenz/Deduktion bei jeder Anfrage • implizit eingefügt/modifiziert/gelöscht bei jeder Änderung der zugrundeliegenden Basisdaten • materialisiert: • permanent physisch gespeichert (wie Basisdaten) • stets direkt zugreifbar (wie Basisdaten) "platzkritisch" "platzkritisch" • explizit eingefügt/modifiziert/gelöscht bei jeder Änderung der Basisdaten ⇒ Inferenz/Deduktion bei jeder Änderung © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 29 Deduktive DeduktiveRegeln Regeln 1 • Ableitbare Information in einer Datenbank kann es nur geben, wenn das DBMS eine Definitionssprache für abgeleitete Daten/Sichten unterstützt. • Sichtdefinitionen gehören zum DB-Schema; Schema sie werden mittels der DDL des jeweiligen Datenmodells ausgedrückt (z.B. CREATE VIEW-Kommando in SQL). • "Sichtdefinition" und "deduktive Regel" sind Synonyme; Synonyme in dieser Vorlesung wird meist von deduktiven Regeln gesprochen, weil nur selten SQL verwendet wird. • prinzipieller Aufbau jeder deduktiven Regel: Muster Musterfür fürInformationseinheit Informationseinheit einer einerableitbaren ableitbarenDatenmenge Datenmenge ← Regelrumpf Regelkopf • definierende definierendeAnfrage Anfrage Deduktive Regeln sind - wie DB-Anfragen - deklarative Ausdrücke. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 30 Datenmodell Datenmodellund undRegelsprache Regelsprache 1 • Im Prinzip kann jedes Datenmodell (auf der Basis der zugehörigen Anfragesprache) um deduktive und normative Regeln erweitert werden. • In dieser Vorlesung wird vorwiegend das relationale Modell zugrundegelegt. (Erst im letzten Kapitel wird Deduktion für OO-Datenmodelle diskutiert). • Sichtdefinitionen können - je nach zugrundeliegender Anfragesprache - sehr unterschiedlich aussehen, z.B.: SQL CREATE CREATEVIEW VIEW pp AS AS ((SELECT SELECT q.A q.A FROM FROM q,q,rr WHERE WHERE q.B q.B==r.C r.C)) Verschiedene Syntax, aber identische Semantik ! p(X) p(X) ← ← q(X,Y), q(X,Y), r(Y,Z). r(Y,Z). Datalog pp == project(A, project(A,join(q, join(q,r,r,(B=C))) (B=C))) Relationenalgebra • Zu gewähltem Datenmodell kann also im Prinzip jede Anfragesprache zum Formulieren der deduktiven Regeln verwendet werden. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 31 Vorteile Vorteileregelbasierte regelbasierteDatendarstellung Datendarstellung 1 • Vorteile der Verwendung deduktiver Regeln (sowohl bei materialisierter als auch bei virtueller Datenhaltung): • • • • • selbstdokumentierend (deklarativ ⇒ "lesbar") änderungsfreundlich ⇒ flexibel modulare Wissensdarstellung, inkrementell erstellbar einfache, effiziente Darstellung nützlicher Terminologie ohne redundante Datenhaltung "Geschäftsregeln" der Anwendung werden explizit gemacht. • darüber hinaus Vorteile speziell bei virtueller Datenhaltung: • • zum Teil enorme Speicherplatzersparnis (oft aber erkauft durch Zeitverlust bei der Anfragebeantwortung) unmittelbare "Sichtbarkeit" auch größerer Mengen von impliziten Änderungen © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 32 Integrit ätsbedingungen: Prinzip Integritätsbedingungen: Prinzip 1 (Statische) (Statische)Integritätsbedingungen Integritätsbedingungen. .. .. . - • ... dienen zum Unterscheiden zwischen zulässigen/konsistenten/sinnvollen konsistenten und unzulässigen/inkonsistenten/sinnlosen inkonsistenten DB-Zuständen • ... sind Forderungen an das DBMS: Nur konsistente Zustände dürfen erzeugbar sein! • ... sind ausdrückbar als Ja/Nein-Bedingungen (ähnlich wie "Boolesche Anfragen"). • aber: "IB = Boolesche Anfrage + Forderung" ⇒ ⇒ IBs IBssind sindspezielle spezielleRegeln Regeln + © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 33 Integrit ätsbedingungen vs. Integritätsbedingungen vs."Boolesche "BoolescheSichten" Sichten" 1 • Integritätsbedingungen sind nicht dasselbe wie Boolesche Sichten (oder Anfragen), obwohl die Ähnlichkeit groß ist: Integritätsbedingung "simulierte" Boolesche Sicht SQL CREATE CREATEVIEW VIEW c'c' AS AS (SELECT (SELECT true true FROM FROM t t WHERE WHERE CC>>00)) liefert als Resultat (explizit): leere Tabelle (simuliert false) liefert als Resultat (implizit): true oder oder true CREATE CREATEASSERTION ASSERTION cc AS AS CHECK CHECK EXISTS EXISTS (SELECT (SELECT ∗∗ FROM FROM t t WHERE WHERE CC>>00)) false Wahrheitswert Tabelle • weiterer, ganz entscheidender Unterschied: Integritätsbedingungen sind immer verbunden mit einem Automatismus zur "Erzwingung" der Bedingung. © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 34 Deduktive Deduktivevs. vs.normative normativeRegeln Regeln 1 • Integritätsbedingungen sind (wie Herleitungsregeln für ableitbare Daten) allgemeine Gesetzmäßigkeiten, die in dem zu modellierenden Anwendungsgebiet gelten. • Integritätsbedingungen werden aber nicht konstruktiv zur Datenherleitung, sondern nur normativ (oder restriktiv) zum Verhindern unsinniger DB-Zustände bzw. sinnloser DB-Änderungen verwendet. • Manche Gesetzmäßigkeiten einer Anwendung sind "von Natur aus" nichtkonstruktiv und können nur als Integritätsbedingungen verwendet werden, z.B.: Jeder JederStudent Studenthat hatmindestens mindestensein einHauptHaupt-und undein einNebenfach! Nebenfach! (Welches? - Kann nicht zum Herleiten genutzt werden.) • Andere Regeln können wahlweise deduktiv oder normativ verwendet werden, z.B.: Jeder JederInformatikstudent Informatikstudentmuss mussMathematik Mathematikals alsNebenfach Nebenfachwählen! wählen! (Wenn Fach=Informatik, dann Nebenfach=Mathematik.) © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 35 Problem Problemder derBegriffsbestimmung Begriffsbestimmung 1 Der Beitrag im Kemper-Buch zeigt "prototypisch" die Schwierigkeit, das Konzept "Deduktive Datenbank" angemessen zu definieren: zu eng: beliebige Datenmodelle möglich zu eng: beliebige Anfragesprachen möglich zu unpräzise: Das DBMS wird erweitert, nicht das Datenmodell! "Bei "Beiden dendeduktiven deduktivenDatenbanksystemen Datenbanksystemenhandelt handeltesessich sich um eine Erweiterung des relationalen Datenmodells um eine Erweiterung des relationalen Datenmodellsum um eine einesogenannte sogenannteDeduktionskomponente. Deduktionskomponente. Die ädikatenDieDeduktionskomponente Deduktionskomponentebasiert basiertauf aufdem demPr Prädikatenkalk ül --also kalkül alsoder derLogik Logikerster ersterStufe. Stufe. Deshalb Deshalbkann kannman mandeduktive deduktiveDatenbanken Datenbankenauch auchals als "Verheiratung" der relationalen Datenmodellierung "Verheiratung" der relationalen Datenmodellierungmit mit der derLogikprogrammierung Logikprogrammierungsehen." sehen." Kemper/Eickler (1996) höchstens historisch begründet, keinesfalls sachlich © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 36 Begriffsbestimmung Begriffsbestimmung(2) (2) 1 Andere "Definitionsversuche" (auch von ausgewiesenen Experten) sind ebenfalls nicht glücklicher, da meist ebenfalls zu beschränkt auf zeitbedingte oder persönliche Sichtweisen, z.B.: Schema Integritätsbedingungen "A "Adeductive deductivedatabase databasemay maybe bedefined definedasasaatriple tripleDB DB==<<C, C,P,P,II>.>. CCisisaafinite finiteset setofofnonlogical nonlogicalsymbols symbolsthat thatdefine defineaaspecific specificfirstfirstorder orderlanguage. language.PPconsists consistsofofaafinite finiteset setofofaxioms axiomsininthe thelanguage language...... II isisaafinite finiteset setofofsentences sentencesininthe thelanguage, language,the theintegrity integrityconstraints, constraints, that thatmust mustbe besatisfied satisfiedby bythe thedatabase." database." Ableitungsregeln Grant, Minker (1989) ""Deduktive Deduktive Datenbanken Datenbankendienen dienendazu, dazu,logische logischeFormeln Formelnabzuspeichern. abzuspeichern. Die DieAnfragebehandlung Anfragebehandlunggeschieht geschiehtdann dannmit mitTechniken Technikendes desautomatischen automatischen Beweisens." Beweisens." Brass (1992) © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 37 Begriffsbestimmung Begriffsbestimmung(3) (3) 1 • Die meisten derartigen "Definitionen" sind stark in traditionellen Sichtweisen bestimmter Trends in der wissenschaftlichen Diskussion befangen und ignorieren andere Entwicklungen völlig (z.B. SQL oder deduktive Objektmodelle). • bisher: Es gibt keine allgemein akzeptierte, einheitliche Begriffsbestimmung! • für diese Vorlesung: eigene, sehr "liberale" Begriffsbestimmung von deduktivem DBMS (statt deduktiver DB) Ein EinDBMS DBMS(für (fürein einbeliebiges beliebigesDatenmodell) Datenmodell)heisst heisst"deduktiv", "deduktiv", wenn wenneseszusätzlich zusätzlichzu zuden denüblichen üblichenFunktionalitäten Funktionalitäteneines einesDBMS DBMS die dieSpezifikation, Spezifikation,Verwaltung Verwaltungund undAnwendung Anwendungvon vonSichten Sichtenund und Integritätsbedingungen Integritätsbedingungenerlaubt. erlaubt. nach dieser "Definition": Jedes SQL-DBMS ist ein deduktives DBMS !! aber kein vollständiges ! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 38 Warum ß "mehr Warummuss musses esdenn dennblo bloß "mehrals alsSQL" SQL"sein? sein? 1 • SQLs deduktive Ausdrucksmittel sind bereits ziemlich leistungsfähig, hig erreichen aber noch nicht ganz das Niveau, das die Forschung mittlerweile für angemessen hält. (Diese Aussage bezieht sich auf den Sprachumfang des SQL:1999-Standards!) Standards • Gründe (vermutlich): • Zwang zur "Aufwärtskompatibilität" mit alten Versionen von SQL • Zurückhaltung bei den Herstellern, neue Technologie in komplexe Produkte zu integrieren • Standardisierungsentscheidungen fallen in großen Komitees mit Mehrheit! • Was fehlt noch? • bei Sichten: • Einschränkungen bei rekursiven Definitionen • keine Booleschen Sichten • keine materialisierten Sichten • bei Integritätsbedingungen: • eingeschränkte Integritätsbedingungen für Sichten • Einschränkungen bei der Zulässigkeit von Sichtenänderungen • CHECK constraints/ASSERTIONs noch nicht implementiert © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 39 Deduktive DeduktiveDatenbanken: Datenbanken:SQL SQLoder oderDatalog Datalog?? 1 • weiteres Argument für die "Daseinsberechtigung" einer Vorlesung "Deduktive DB": Den SQL-Produkten fehlen noch diverse Implementierungstechniken, Implementierungstechniken um auch nur den Sprachumfang des SQL:1999-Standards zu bewältigen. • Schwächen insbesondere bei: • effiziente Anfragebeantwortung über rekursiven Sichten • effiziente Integritätsprüfung über Sichten • In dieser Vorlesung wird - wie bereits gesagt - im wesentlichen nicht SQL, sondern Datalog verwendet, obwohl diese Sprache kommerziell überhaupt keine Rolle spielt. • Gründe für diese Entscheidung: • Fast alle wissenschaftlichen Veröffentlichungen verwenden Datalog. • SQL wird schon für einfache Beispiele sehr schnell "unhandlich" (sowohl für didaktische Zwecke als auch für Forschungsarbeiten) • Verwendung einer ganz anderen Syntax erleichtert es Forschern, unkonventionell und "frei" von speziellen SQL-Sichtweisen und -gewohnheiten über Probleme ganz grundsätzlich nachzudenken. Let's Let'stalk talkDatalog Datalog!! © 2007 Prof. Dr. R. Manthey Deduktive Datenbanken 40