laden - LS1 - Logik in der Informatik

Werbung
Datenbanktheorie
Sommersemester 2012 - Thomas Schwentick
0: Einleitung
Version von: 17. April 2012 (08:03)
Inhalt
0.1 Zum Inhalt der Vorlesung
0.1.1 Hintergrund
0.1.2 Inhalte
0.2 Organisatorisches
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 1
Operationell vs. Deklarativ
Pfeffernüsse: operationell
Pfeffernüsse: deklarativ
Zutaten: 500 g Honig, 300 g Zucker, 3 Eier, 15 g Hirschhornsalz, 1
Pfeffernüsse: Weihnachtsgebäck in Form von kleinen, runden Lebkuchen, die mit einer
weißen Zuckerglasur überzogen sind.
Lebkuchen: Dauerbackware
aus Mehl, Honig und einer Lebkuchengewürzmischung aus
Nelken, Muskat sowie ... Koriander, Kardamom, Anis, Zimt,
Ingwer
TL gemahlener Zimt, 1/2 TL gemahlene Gewürznelken, je 1 Messerspitze Muskatnuss, Koriander, Ingwerpulver, Piment und Kardamom oder 2 Päckchen gemischtes Lebkuchengewürz , 1 TL weisser
Pfeffer, 1 kg Mehl, 100 g Puderzucker, Butter oder Margarine
Zubereitung:
• Ein oder zwei Backbleche mit Fett bestreichen. Den Honig
•
•
•
•
•
•
bei milder Hitze dünnflüssig werden lassen.
Den Zucker, die Eier, das Hirschhornsalz und sämtliche
Gewürze gut mit dem Honig verrühren.
Das gesiebte Mehl nach und nach zuerst unterrühren,
später unterkneten. Den Backofen auf 190 ◦ C vorheizen.
Aus dem Teig kleine Kugeln von etwa 2 cm Durchmesser
formen und in genügendem Abstand voneinander auf das
Backblech legen.
Die Pfeffernüsse auf der mittleren Schiebeleiste 15-20
min. backen, bis sie goldgelb sind.
Auf einem Kuchengitter abkühlen lassen.
Den Puderzucker mit wenig Wasser verrühren, unter Rühren aufkochen lassen und die Pfeffernüsse mit dieser Glasur bestreichen.
DBT / Schwentick / SoSe 12
0. Einleitung
(aus: Meyers großes Taschenlexikon)
. Folie 2
Datenbanken und der große Traum der Informatik
• Operationelle Vorgehensweise: Beschreiben, wie
das gewünschte Ergebnis erzeugt wird
• Deklarative Vorgehensweise: Beschreiben der Eigenschaften des gewünschten Ergebnisses: was
• Traum der Informatik: Möglichst wenig „wie“, möglichst viel „was“
➞ Automatische Generierung eines Ergebnisses
aus seiner Spezifikation
• Im Kontext von Datenbanken ist dieser Traum Wirklichkeit:
– Die deklarative Anfragesprache SQL ist Industriestandard
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 3
„Vorrelationale“ Datenbankanfragen
• Bis in die 80er Jahre hinein mussten Anfragen an eine Datenbank
operationell spezifiziert werden
Beispielanfrage im Netzwerk-Modell
• Anfrage: Finde alle Mitarbeiter des Projektes „Ruhr2010“,
die Vollzeit (40 Stunden pro Woche) arbeiten
• Anfrage-Programm:
PROJECT.NAME := „Ruhr2010“
$FIND ANY PROJECT USING NAME
if DB_STATUS=0 then begin
WORKS_ON.HOURS := „40“
$FIND FIRST WORKS_ON WITHIN P_WORKSON USING
HOURS
while DB_STATUS=0 do begin
$GET WORKS_ON
$FIND OWNER WITHIN E_WORKSON
$GET EMPLOYEE
writeln(EMPLOYEE.FNAME,EMPLOYEE.LNAME)
$FIND NEXT WORKS_ON WITHIN P_WORKSON
USING HOURS
(Aus: Elmasri/Navathe)
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 4
Relationale Datenbankanfragen
Beispielanfrage in SQL
SELECT
EMPLOYEE.FNAME, EMPLOYEE.LNAME
FROM
EMPLOYEE, WORKS_ON, PROJECT
WHERE
PROJECT.NAME = „Ruhr2010“ AND
PROJECT.NUMBER = WORKS_ON.PNUMBER AND
EMPLOYEE.SSN = WORKS_ON.ESSN AND
WORKS_ON.HOURS = 40
• Prinzipieller Unterschied:
– Anfrage im Netzwerkmodell beschreibt, wie das
Ergebnis zu erzeugen ist: operationell
– Anfrage in SQL beschreibt, welche Eigenschaften
das Ergebnis haben soll: deklarativ
• SQL ist die „praktische“ Anfragesprache des relationalen Datenbank-Modells
• Details der Datenorganisation und der Implementierung für Anfragen unwichtig
➞ physische Datenunabhängigkeit
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 5
Konsequenzen deklarativer Anfragen
• Deklarative Anfragesprachen:
– Spezifikation von Anfragen durch Beschreibung
der Eigenschaften des erwünschten Ergebnisses
∗ Nicht durch Beschreibung, wie das Ergebnis
erzeugt werden soll
∗ Kein Bezug auf die physische Sicht
• Der Preis der Bequemlichkeit:
– Deklarative Anfragen verschieben Arbeit vom Benutzer zum System
∗ Das System muss Anfragen automatisch in eine Folge von Operationen umwandeln
∗ Diese automatische Übersetzung darf nicht zu
ineffizienter Anfrageauswertung führen
• Andererseits hat das System große Freiheit in der
Umsetzung, da kein Lösungsweg vorgeschrieben ist
➞ Potenzial für Optimierung
• Einige der auftretenden Fragen betreffen die Datenbanktheorie
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 6
Datenbanktheorie (1/2)
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 7
Datenbanktheorie (2/2)
• Datenbanktheorie
– untersucht die theoretischen Grundlagen
von „allem, was mit Datenbanken zu tun
hat“
– verwendet mathematische Methoden,
insbesondere
∗ mathematische Modelle
∗ mathematische Aussagen
∗ Beweise
• Diese Vorlesung konzentriert sich auf zwei
Teilbereiche:
– Anfragesprachen und Komplexität der
Anfrageauswertung
– Informationsintegration
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 8
Inhalt
0.1 Zum Inhalt der Vorlesung
0.1.1 Hintergrund
0.1.2 Inhalte
0.2 Organisatorisches
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 9
Erstes Hauptthema: Anfragen und Anfragesprachen
• In dieser Vorlesung konzentrieren wir uns auf das relationale Datenmodell
• Erstes Hauptthema: Grundlegende Eigenschaften von Anfragesprachen für relationale Datenbanken
• Typische Fragestellungen:
– Wie lassen sich deklarative Anfragen in ausführbare Operationen umsetzen?
→ Äquivalenz von Relationenkalkül und relationaler Algebra
– Welche Anfragen können in einer Anfragesprache gestellt werden? Welche nicht?
→ Ausdrucksstärke von Anfragesprachen
– Wie aufwändig ist die Auswertung von Anfragen prinzipiell?
→ Komplexität von Anfragen
– Wie lässt sich eine gegebene Anfrage möglichst effizient auswerten?
→ Optimierung von Anfragen
→ Statische Analyse
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 10
Zweites Hauptthema: Informationsintegration
Integritätsbedingungen
• Abhängigkeiten und Normalformen
• Algorithmen
Unvollständige Informationen
• Modellierung fehlender Informationen
• Anfragebeantwortung im Kontext fehlender Informationen
Datenintegration & Datenaustausch
• Wie kann für eine verteilte Datenbank eine einheitliche Benutzersicht erreicht werden?
• Wie lassen sich Daten von einer Datenbank in eine Datenbank
mit einem anderen Schema übersetzen?
• Wie lassen sich in solchen Kontexten Anfragen stellen und beantworten?
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 11
Vorläufige Inhaltsübersicht
I. Einleitung
• Einleitung
• Grundbegriffe
II. Anfragen und Anfragesprachen für relationale Datenbanken
• Und-Anfragen
• Relationale Algebra
• Relationenkalkül
• Relational vollständige Sprachen
• Und-Anfragen II
• Anfragen mit Rekursion
III. DB-Design und Informationsintegration
• Abhängigkeiten und Normalformen
• Unvollständige Information
• Datenintegration
• Datenaustausch
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 12
Literatur
• Abiteboul, Hull, Vianu: Foundations of Databases, Addison-Wesley,
1995
• Levene, Loizou: A Guided Tour of Relational Databases and
Beyond, Springer, 1999
• Atzeni, de Antonellis: Relational Database Theory, Benjamin Cummings, 1992
• Kandzia, Klein: Theoretische Grundlagen Relationaler Datenbanksysteme, BI / Spektrum, 1993
• Ullman, Widom: A First Course in Database Systems, PrenticeHall, 2002
• Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, Oldenbourg, 2000
• Heuer, Saake: Datenbanken - Konzepte und Sprachen, International Thomson Publishing, 2000
• Biskup: Gundlagen von Informationssystemen, Vieweg, 1995
• Ullman: Principles of Database and Knowledge-base systems,
Computer Science Press 1988
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 13
Inhalt
0.1 Zum Inhalt der Vorlesung
0.2 Organisatorisches
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 14
Vorlesung
• Termine:
– Dienstags, 14:15 - 16:00 Uhr, OH16, Raum 205
– Mittwochs, 10:15 - 12:00 Uhr, OH16, Raum 205
– Nicht: 24.4., 25.4., 1.5. (Feiertag), 15.5., 16.5., 5.6., 6.6., 19.6.
• Zweck der Vorlesung:
– Vermittlung aller wesentlichen Inhalte
• Medien:
– Hauptsächlich Folien mit Erläuterungen an der Tafel
– Die Folien können von der Logbuch-Webseite geladen werden
• Gebrauchsanleitung für die Vorlesung:
– Denken Sie mit
– Stellen Sie Fragen
– Schreiben Sie nur das Nötigste mit
• Nachbereitung:
– Arbeiten Sie die Vorlesung nach
– Geben Sie sich dabei erst zufrieden, wenn Sie jedes Detail jeder Folie (mindestens einmal!) verstanden haben
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 15
Übungsaufgaben
• Gruppenarbeit:
– Sie können die Übungsaufgaben zusammen mit anderen bearbeiten und gemeinsam Lösungswege suchen
– Das Aufschreiben der Lösung erfolgt
aber individuell oder in Zweier-Gruppen
– Zu Beginn des Semesters: nur Einzelabgabe!
– Wenn mehrere Gruppen/Personen wortgleiche Lösungen abgeben, erhalten sie
alle 0 Punkte
• Zweck der Übungsaufgaben:
– Wiederholung der Inhalte der Vorlesung
– Erkennen, wo es mit dem Verständnis
noch hapert
– Entwicklung der Fähigkeit, die in der Vorlesung gelernten Techniken anzuwenden
• Anforderung an Lösungen:
• Anzahl und Art der Übungsblätter:
– 1 Blatt mit Präsenzaufgaben (erste
Übungsstunde)
– 6 Übungsblätter zur Bearbeitung und Abgabe
DBT / Schwentick / SoSe 12
0. Einleitung
– Lösungen sind nur vollständig, wenn sie
begründet und erklärt werden
– Falls Beweise erwartet werden, wird dies
in der Aufgabenstellung ausdrücklich erwähnt
. Folie 16
Übung und Prüfungen
• Prüfungen und Scheine:
– Modulprüfung (MPO):
∗ Mündliche Prüfung, 20 Minuten
– Studienleistung (MPO) und Leistungsnachweis (DPO):
∗ Aktive Teilnahme
(maximal einmal Fehlen)
∗ Mindestens 40 Punkte aus 120 erreichbaren Punkten
∗ Das Erbringen der Studienleistung ist
Voraussetzung für die Teilnahme an
der Modulprüfung
– Fachprüfung (DPO):
∗ Mündliche Prüfung, 20 Minuten
∗ (Empfehlung: + Leistungsnachweis)
• Termine:
–
–
–
–
Montag, 14:15-15:45 Uhr
OH16, Raum 205
16.4., 7.5., 21.5.,
11.6., 25.6., 9.7., 16.7.
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 17
Zu guter Letzt...
Viel Erfolg!
DBT / Schwentick / SoSe 12
0. Einleitung
. Folie 18
Herunterladen