Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

Ähnliche Dokumente
Vorlesung Datenbanksysteme vom

Wiederholung: Relationale Algebra

Deduktive Datenbanken

Grundlagen des relationalen Modells

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Fortsetzung: Projektion Selektion. NULL Werte

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells

Datenbanksysteme 2009

Grundlagen des relationalen Modells

Relationale Anfragesprachen

Grundlagen des relationalen Modells

Transaktionsverwaltung read write read write

Datenbanksysteme SS 2007

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Datenbanksysteme SS 2007

Das relationale Modell

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Grundlagen des relationalen Modells

Architektur eines DBMS Logische Optimierung

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Software-Engineering

Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator

Software-Engineering

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert:

Acknowledgments. Datenmodellierung VU , WS Das Relationale Modell: Begriffsklärung. Übersicht. Das relationale Modell

DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL UND DAS RELATIONALE MODELL

Wiederholung VU Datenmodellierung

Objektorientierte Datenbanken

Uni-Schema. Grundlagen des relationalen Modells N M. 1 Professoren. Bsp.: Telefonbuch string x string x integer

Das relationale Modell

Datenmodellierung. VU , SS 2015 Das relationale Modell. Sebastian Skritek. Institut für Informationssysteme Technische Universität Wien

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Informatik II Vorlesung am D-BAUG der ETH Zürich

Referentielle Integrität

Wie definieren wir das Relationen-

Grundlagen des relationalen l Modells

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Datalog. Moritz Kaufmann 1. Juni Technische Universität München

Referentielle Integrität

Das Relationale Modell

Termin 12: Datenbanksysteme (2) - Einführung in SQL

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek

Datenbanksysteme (1)

Diskussion: Personal (1)

Kapitel 8: Datenintegrität

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Relationale Abfragesprachen

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme 2013

Datenmodellierung. VU , SS 2016 Relationale Abfragesprachen SQL. Nysret Musliu, Sebastian Skritek

Relationales Datenmodell Relationale Algebra

Relationale Anfragesprachen

SQL. Man kann eigene Relationen anlegen und/oder die Uni-DB verwenden DB2 von IBM liegt dahinter

Datenintegrität. Bisherige Integritätsbedingungen

Das Relationale Modell

Datenmodellierung VU Einführung SS 2016

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell

www-db.in.tum.de/db2face/index.shtml

Das relationale Modell (Teil 1)

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Relationale Anfragesprachen

Für praktische Übungen steht eine Web-Seite zur Verfügung: www-db.in.tum.de/db2face/index.shtml



Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14

Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies

Kap. 5 Erweiterung der Relationenalgebra für Deduktive Datenbanken

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2017/18.

Datenbanksysteme (2) Einführung in SQL

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

Anfrageoptimierung Logische Optimierung

Spezifikation in Datalog:

Datenbanken Das Relationale Datenmodell. Ralf Möller Universität zu Lübeck Institut für Informationssysteme


Normalisierung I. Ziele

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanksysteme 2015

Einführung in Datenbanksysteme

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Objektorientierte Datenbanken

Schema: konkrete Beschreibung einer bestimmten. (unter Verwendung eines Datenmodells)

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Kapitel 11: Relationale Entwurfstheorie

Grundlagen: Datenbanken

Transkript:

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz Wintersemester 004/05

Deduktive Datenbanken Grundkonzepte einer deduktiven Datenbank IDB intensionale Datenbasis (hergeleitete Relationen) Regeln als Datalog Programm EDB extensionale Datenbasis (Basis-Relationen) Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05

Terminologie Die extensionale Datenbasis (EDB), die manchmal auch Faktenbasis genannt wird. Die EDB besteht aus einer Menge von Relationen(Ausprägungen) und entspricht einer ganz normalen relationalen Datenbasis. Die Deduktionskomponente, die aus einer Menge von (Herleitungs-)Regeln besteht. Die Regelsprache heißt Datalog abgeleitet von dem Wort Data und dem Namen der Logikprogrammiersprache Prolog. Die intensionale Datenbasis (IDB), die aus einer Menge von hergeleiteten Relationen(Ausprägungen) besteht. Die IDB wird durch Auswertung des Datalog-Programms aus der EDB generiert. Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 3

Datalog Regel: soklv(t,s) :-vorlesungen(v,t,s,p ), professoren(p, Sokrates,R,Z ), >(S,). Äquivalenter Domänenkalkül-Ausdruck: {[t,s] v,p ([v,t,s,p] Vorlesungen n,r,z ([p,n,r,z] Professoren n = Sokrates s > ))} Grundbausteine der Regeln sind atomare Formeln oder Literale: q(a 1,..., A m ). q ist dabei der Name einer Basisrelation, einer abgeleiteten Relation oder eines eingebauten Prädikats: <,=,>, Beispiel: professoren(s, Sokrates,R,Z ). Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 4

Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 5 Raum Rang Name PersNr 6 C4 Sokrates 15 7 C4 Kant 137 36 C4 Curie 136 309 C3 Augustinus 134 5 C3 Popper 133 310 C3 Kopernikus 17 3 C4 Russel 16 Professoren Semester Name MatrNr 18 Xenokrates 400 Feuerbach 9555 Theophrastos 910 3 Carnap 8106 6 Schopenhauer 7550 8 Aristoxenos 6830 10 Fichte 610 1 Jonas 5403 Studenten 137 4 Die 3 Kritiken 4630 134 Glaube und Wissen 50 133 Der Wiener Kreis 559 gelesenv on SWS Titel VorlNr 137 4 Grundzüge 16 Bioethik 516 16 3 Wissenschaftstheorie 505 15 4 Logik 405 15 Mäeutik 5049 16 3 Erkenntnistheorie 5043 15 4 Ethik 5041 Vorlesungen Nachfolger Vorgänger 5041 559 505 505 5041 505 5043 516 5041 5049 5043 voraussetzen 516 8106 50 5403 50 9555 5049 910 5041 910 VorlNr MatrNr 610 910 559 8106 505 8106 5041 8106 405 7550 7550 hören Boss Fachgebiet Name PerslNr 15 Ideenlehre Platon 300 16 Gott und Natur Spinoza 3007 17 Keplersche Gesetze Newton 3006 17 Planetenbewegung Rhetikus 3005 16 Sprachtheorie Wittgenstein 3004 15 Syllogistik Aristoteles 3003 Assistenten Note PersNr VorlNr MatrNr 1 16 8106 137 4630 7550 15 5041 5403 prüfen

Eine Datalog-Regel p( X,..., X m): - q1( A11,..., A1 m ),..., qn( An 1,..., A 1 1 nmn ). Jedes q j (...) ist eine atomare Formel. Die q j werden oft als Subgoals bezeichnet. X 1,...,X m sind Variablen, die mindestens einmal auch auf der rechten Seite des Zeichens :- vorkommen müssen. Logisch äquivalente Form obiger Regel: p(...) q 1 (...)... q n (...) Wir halten uns an folgende Notation: Prädikate beginnen mit einem Kleinbuchstaben. Die zugehörigen Relationen seien es EDB- oder IDB-Relationen werden mit gleichem Namen, aber mit einem Großbuchstaben beginnend, bezeichnet. Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 6

Beispiel Datalog-Programm Zur Bestimmung von (thematisch) verwandten Vorlesungspaaren geschwistervorl(n 1, N ) :- voraussetzen(v, N 1), voraussetzen(v, N )), N 1 < N. geschwisterthemen(t 1, T ) :- geschwistervorl(n 1, N ), vorlesungen(n 1, T 1, S 1, R 1), Vorlesungen(N, T, S, R ). aufbauen(v,n ) :- voraussetzen(v,n ) aufbauen(v,n ) :- aufbauen(v,m ), voraussetzen(m,n ). verwandt(n,m ) :- aufbauen(n,m ). verwandt(n,m ) :- aufbauen(m,n ). verwandt(n,m ) :- aufbauen(v,n ), aufbauen(v,m ). Voraussetzen: {[Vorgänger, Nachfolger]} Vorlesungen: {VorlNr, Titel, SWS, gelesenvon]} Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 7

Analogie zur EDB/IDB in rel. DBMS Basis-Relationen entsprechen der EDB. Sichten entsprechen der IDB: Aufbauen als Regeln in einem deduktiven DBMS: aufbauen(v,n ) :- voraussetzen(v,n ) aufbauen(v,n ) :- aufbauen(v,m ), voraussetzen(m,n ). Aufbauen als Sichtdefinition in DB: create view aufbauen(v,n) as (select Vorgaenger, Nachfolger from voraussetzen union all select a.v, v.nachfolger from aufbauen a, voraussetzen v where a.n = v.vorgaenger) select * from aufbauen Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 8

Der Wiener Kreis Wissenschaftstheorie Bioethik Erkenntnistheorie Ethik Mäeutik Grundzüge Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 9

Rekursion in DB/SQL99: gleiche Anfrage with TransVorl (Vorg, Nachf) as (select Vorgänger, Nachfolger from voraussetzen union all select t.vorg, v.nachfolger from TransVorl t, voraussetzen v where t.nachf= v.vorgänger) select Titel from Vorlesungen where VorlNr in (select Vorg from TransVorl where Nachf in (select VorlNr from Vorlesungen where Titel= `Der Wiener Kreis ) ) Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 10

Es gibt unsichere Regeln, wie z.b. Sicherheit von Datalog-Regeln ungleich(x, Y) :- X Y. Diese definieren unendliche Relationen. Eine Datalog-Regel ist sicher, wenn alle Variablen im Kopf beschränkt (range restricted) sind. Dies ist für eine Variable X dann der Fall, wenn: die Variable im Rumpf der Regel in mindestens einem normalen Prädikat also nicht nur in eingebauten Vergleichsprädikaten vorkommt oder ein Prädikat der Form X = c mit einer Konstante c im Rumpf der Regel existiert oder ein Prädikat der Form X = Y im Rumpf vorkommt, und man schon nachgewiesen hat, dass Y eingeschränkt ist. Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 11

Ausdruckskraft von Datalog Die Sprache Datalog, eingeschränkt auf nicht-rekursive Programme aber erweitert um Negation, wird in der Literatur manchmal als Datalog non-rec bezeichnet Diese Sprache Datalog non-rec hat genau die gleiche Ausdruckskraft wie die relationale Algebra und damit ist sie hinsichtlich Ausdruckskraft auch äquivalent zum relativen Tupel- und Domänenkalkül Datalog mit Negation und Rekursion geht natürlich über die Ausdruckskraft der relationalen Algebra hinaus man konnte in Datalog ja z.b. die transitive Hülle der Relation Voraussetzen definieren. Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 1

Datalog-Formulierung der relationalen Algebra- Operatoren Selektion query V query V σ Vorlesungen, SWS 3, T, S, R : vorlesungenv, T, S, R, S 3., S, R : vorlesungenv," Mäeutik ", S, R. Projektion query( Name, Rang) : professoren( PersNr, Name, Rang, Raum). Join Titel, Name Vorlesungen A gelesenvon PersNr Professoren query T, N : vorlesungen V, T, S, R, professoren R, N, Rg, Ra. Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 13

Datalog-Formulierung der relationalen Algebra- Operatoren Kreuzprodukt query( V1, V, V 3, V 4, P1, P, P3, P4) : vorlesungen( V1, V, V 3, V 4), professore n( P1, P, P3, P4). Professoren Vorlesungen Vereinigung PersNr, Name Assistente n Professoren PersNr,Name query( PersNr, query( PersNr, Name) : Name) : assistenten( PersNr, Name, F, B). professoren( PersNr, Name, Rg, Ra). Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 14

Datalog-Formulierung der relationalen Algebra- Operatoren Mengendifferenz VorlNr vorlnr query Vorlesungen Voraussetzen V : vorlesungen V, T, S, R. V : voraussetzen V, N. V : vorlnr V, grundlagen V. grundlagen Vorgänger Deduktive und objektorientierte Datenbanken, Kassel, WS 004/05 15