Datenbanken
Organisatorisches
Prof. Dr. Steffen Staab
Vorlesung
• Beginn: 31. Oktober 2005
• Montag, 12.15 – 13.45 Uhr, Raum MF 314
• Donnerstag, 16.15 – 17.45, Raum MF 414
Übungen
• Betreuer: Christoph Ringelstein, Bernhard Schüler
• Freitag 8.00-10.00, 10.00-12.00
• Beginn: außerordentlich 3. Nov 16.15, Einführung in die Übung;
ordentliche Übung 4. November 8.00-10.00 / 10.00-12.00
Institut für Informatik
ISWeb –
Information Systems & Semantic Web
2
1
Organisatorisches
Sprechstunden nach Absprache:
Prof. Dr. Steffen Staab:
[email protected]
0261/287-2761
Raum B110
Institut für Informatik, ISWeb – Information Systems and Semantic Web
Folgendes Buch liegt der Vorlesung zugrunde:
Alfons Kemper und Andre Eickler
Oldenbourg Verlag, München, 2004
5. aktualisierte und erweiterte Auflage
Informationen im Internet: http://www.uni-koblenz.de/~staab/lehre/ws0506/db1/
Die Folien wurden weitgehend von den
Autoren übernommen.
Hier ist u.a. folgendes zu finden:
• aktuelle Ankündigungen
• Folienkopien
• Literaturempfehlungen
• Termine
(Siehe auch http://www.db.fmi.unipassau.de/publications/books/DBMSeinf )
3
4
Literatur
D. Maier: The Theory of Relational Databases. Computer
Science Press. 1983.
A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung, 5. aktualisierte und erweiterte
Auflage. Oldenbourg Verlag, 2004.
http://www.db.fmi.uni-passau.de/publications/books/DBMSeinf
S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer
Verlage, 1995.
A. Silberschatz, H. F. Korth und S. Sudarshan
Database System Concepts, 3. Auflage, McGraw-Hill Book Co., 1997.
C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design,
Benjamin Cummings,
Redwood City, Ca, USA, 1992.
R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Benjamin
Cummings,
Redwool City, Ca, USA, 2. Auflage, 1994
C. J. Date: An Introduction to Database Systems. McGraw-Hill,
6. Aufl., 1997.
G. Vossen : Datenmodelle, Datenbanksprachen und DatenbankManagement-Systeme.
Addison Wesley, 1994.
J.D. Ullmann, J. Widom: A First Course in Database Systems,
McGraw Hill, 1997.
5
6
Wertvolle Daten
A. Kemper, G. Moerkotte: Object-Oriented Database
Management: Applications in Engineering and Computer
Science, Prentice Hall, 1994
Addressdaten
Personaldaten
Kundendaten (einer Bank…)
Umfragedaten
Warenbestandsdaten
Transaktionsdaten (Telefonanrufe, Einkäufe,…)
Konstruktionsdaten (Auto, Motor, Kugellager,…)
Geoinformationsdaten
(Straßen, Leitungen, Flüsse, Immissionen,…)
….
E. Rahm: Mehrrechner-Datenbanksysteme. Addison-Wesley,
1994.
P. Dadam: Verteilte Datenbanken und Client/Server Systeme.
Springer Verlag, 1996
7
8
Kosten / Wert
100
Handhabung der Daten (historisch)
Daten
10
Software
1
Hardware
Schwerpunkt
der Vorlesung
Postrelationale
Datenmodelle
90er
Relationale Datenmodelle
80er
Satzorientierte
Datenmodelle (Codasyl)
70er
Dateisysteme
60er
Bänder
50er
9
Motivation für den Einsatz eines
Datenbank-Verwaltungssystems
10
Datenbank vs DBMS
Typische Probleme bei Informationsverarbeitung ohne DBMS
Anwendung
Redundanz und Inkonsistenz (Herr Herrlein wird Herr Fiebig)
Beschränkte Zugriffsmöglichkeiten (alle 100 Eigenschaften von Herrn Müller
lesen, um seine Telefonnummer zu sehen?)
Probleme beim Mehrbenutzerbetrieb (zwei Überweisungen gleichzeitig?)
DBMS
(DB Managementsystem)
Verlust von Daten
(Absturz eines Programms zerstört Record, damit alle Daten?)
Integritätsverletzung (Sicherstellung von Dateneigenschaften!)
Ordner A
Sicherheitsprobleme (jeder Mitarbeiter darf jedes Gehalt sehen?)
Datenbank
hohe Entwicklungskosten für Anwendungsprogramme (k * 100 PersJahre)
Ordner B
11
File 1
File 2
12
Die Abstraktionsebenen des
Datenbankentwurfs
Gegenstand der Vorlesung
Konzeptuelle Ebene
Wie kann ich DBMS
einsetzen?
Logische Ebene
Wie funktioniert
DBMS?
Wie sieht die Welt aus?
Welche Strukturen
werden von der
Anwendung manipuliert?
Ordner A
Physische Ebene
Ordner B
File 1
Wie wird gespeichert?
File 2
13
Die Abstraktionsebenen des
Datenbankentwurfs
Konzeptuelle Ebene
14
Datenmodellierung
Ausschnitt der
Realen Miniwelt
„Autos sind Fahrzeuge
mit Seriennummer“
Logische Ebene
„1 Tabelle für Autos und
1 Tabelle für Fahrzeuge
mit Verbindungen“
Physische Ebene
„Seriennummer 123 wird
abgelegt auf Block 7“
15
Manuelle/intellektuelle
Modellierung
Konzeptuelles Schema
(ER-Schema)
Halbautomatische
Transformation
Relationales
Schema
Netzwerk
Schema
Objektorientiertes
Schema
16
Modellierung einer kleinen
Beispielanwendung
Die Abstraktionsebenen eines
DBMS
Sicht1
Sicht 2 ...
Studenten
Sicht 3
Professoren
Vorlesungen
Reale Welt: Universität
Logische Ebene
Konzeptuelle Modellierung
Datenunabhängigkeit:
MatrNr
Physische Ebene
Studenten
Professoren
PersNr
Name
Name
hören
• physische Unabhängigkeit
lesen
• logische Datenunabhängigkeit
VorlNr
Vorlesungen
17
Titel
18
Das relationale Datenmodell
Logische Datenmodelle
Studenten
MatrNr Name
26120 Fichte
25403 Jonas
...
...
Netzwerkmodell
Hierarchisches Datenmodell
hören
MatrNr VorlNr
25403 5022
26120 5001
...
...
Vorlesungen
Nr
Titel
5001 Grundzüge
5022 Glaube und Wissen
...
...
Select Name
From Studenten, hören, Vorlesungen
Where Studenten.MatrNr = hören.MatrNr and
hören.VorlNr = Vorlesungen.Nr and
Vorlesungen.Titel = `Grundzüge´;
Relationales Datenmodell
Objektorientiertes Datenmodell
Deduktives Datenmodell
update
set
where
19
Vorlesungen
Titel = `Grundzüge der Logik´
Nr = 5001;
20
Architekturübersicht eines DBMS
„Naive“
Benutzer
Anwendung
Fortgeschrittene
Benutzer
AnwendungsProgrammierer
Datenbankadministratoren
Interaktive
Anfrage
Präcompiler
Verwaltungswerkzeug
DML-Compiler
DDL-Compiler
Anfragebearbeitung
Mehrbenutzersynchr.
Fehlerbehandlung
Datenbankmanager
DBMS
Schemaverwaltung
Dateiverwaltung
Logdateien
Indexe
Datenbasis
Hintergrundspeicher
Datenwörterbuch
21