Deduktive Datenbanken - Institut für Informatik

Werbung
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
Herunterladen