Einführung
Einführung
Einführung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Datenbanksysteme II<br />
Prof. Dr. Carl-Christian Kanne<br />
Mittwoch, 15. September 2010<br />
1
Mittwoch, 15. September 2010<br />
2
Datenbanksysteme II<br />
• Vorlesung<br />
• Montag 10:15 Uhr - 11:45 Uhr (B6, A1.01)<br />
• Donnerstag 10:15 Uhr - 11:45 Uhr (A5, C0.15)<br />
• bis 21. Oktober<br />
• Übungen<br />
• ab 28. Oktober<br />
• Donnerstag 10:15 Uhr - 11:45 Uhr (A5, C0.15)<br />
• Dozent<br />
• Carl-Christian Kanne, B6, Büro C0.04<br />
• Tel 0621/181-2586<br />
• Email kanne@informatik.uni-mannheim.de<br />
Mittwoch, 15. September 2010<br />
3
Literatur<br />
• A. Kemper , A. Eickler: Datenbanksysteme – Eine Einführung<br />
• Oldenbourg Verlag, 2009, (7.Auflage)<br />
• insb. Kapitel 16<br />
• Özsu/Valduriez: Principles of Distributed Database Management Systems,<br />
Prentice Hall, 1999.<br />
• Rahm: Mehrrechner-Datenbanksysteme, Oldenbourg.<br />
Mittwoch, 15. September 2010<br />
4
Weitere Literatur<br />
• R. Elmasri, S.B. Navathe<br />
of Database Systems<br />
Fundamentals<br />
• A. Silberschatz, H. F. Korth und S. Sudarshan<br />
Database System Concepts<br />
• R. Ramakrishnan, J. Gehrke:<br />
Management Systems<br />
Database<br />
Mittwoch, 15. September 2010<br />
5
Weitere Literatur<br />
• Melton/Buxton: Querying XML<br />
(Morgan<br />
Kaufmann)<br />
• Walmsley: Definitive XML Schema (Prentice<br />
Hall)<br />
• Means/Harold: XML in a nutshell (O’Reilly)<br />
• Das Web...<br />
Mittwoch, 15. September 2010<br />
6
noch mehr Literatur<br />
• auf der Webseite zur Vorlesung<br />
Mittwoch, 15. September 2010<br />
7
Thema der Vorlesung<br />
• Jenseits von relationalen Einrechner-Datenbankservern<br />
Mittwoch, 15. September 2010<br />
8
Wozu DBMS<br />
• Ein Datenbankmanagementsystem (DBMS) verwaltet<br />
Datenbanken.<br />
• Warum nicht z.B. Textverarbeitungsprogramm nehmen<br />
• Verwaltet auch Daten!<br />
Mittwoch, 15. September 2010<br />
9
Probleme ohne DBMS<br />
• Redundanz und Inkonsistenz<br />
• Verschiedene Datenformate/Formatevolution<br />
• Probleme beim Mehrbenutzerbetrieb<br />
• Verlust von Daten<br />
• Integritätsverletzungen<br />
• Fehlende Sicherheit<br />
• Fehlende Skalierbarkeit<br />
• Hohe Entwicklungskosten für Anwendungsprogramme<br />
Mittwoch, 15. September 2010<br />
10
Gründe für DBMS<br />
• Datenunabhängigkeit<br />
• Deklarative Anfragesprachen<br />
• Mehrbenutzersynchronisation<br />
• Fehlerbehandlung<br />
• Sicherstellung der Datenintegrität<br />
• Effizienz und Skalierbarkeit<br />
• Kostenersparnis bei Anwendungsentwicklung<br />
Mittwoch, 15. September 2010<br />
11
Grobarchitektur<br />
Anwendung<br />
Anwendung<br />
DBMS<br />
Datenbanksystem<br />
Datenbank<br />
Mittwoch, 15. September 2010<br />
12
Datenunabhängigkeit<br />
• DBMS entkoppelt Anwendungen von unteren Ebenen<br />
• Logische Datenunabhängigkeit:<br />
• Anwendungen robust gegen Veränderungen der logischen Datenstruktur<br />
• Physische Datenunabhängigkeit<br />
• Anwendungen robust gegen Änderungen des Speicherformats<br />
• Unabhängigkeit von Verteilung<br />
Mittwoch, 15. September 2010<br />
13
Deklative<br />
Anfragebearbeitung<br />
• Nutzer beschreiben, welche Daten sie benötigen<br />
• Nicht: Wie man auf diese Daten zugreift<br />
•<br />
“Liste alle Kunden aus Mannheim auf, die mehr als<br />
1.000.000 EUR Umsatz gemacht haben”<br />
• Erleichtert Anwendungsprogrammierung, unterstützt<br />
Datenunabhängigkeit<br />
Mittwoch, 15. September 2010<br />
14
Datenmodelle<br />
• Beschreiben, welche Primitiven zur Verfügung stehen<br />
• um Daten zu beschreiben.<br />
• um Daten zu bearbeiten<br />
• Beispiel: Relationales Datenmodell (Grundvorlesung)<br />
• “Alle Datensammlungen bestehen aus Relationen”<br />
• Ähnlich: “Alle Datensammlungen bestehen aus Tabellen mit Zeilen und Spalten”<br />
• Operationen: Relationale Algebra/Tupelkalkül, SQL, Einfügen/Löschen/Änderung von Tupeln<br />
Mittwoch, 15. September 2010<br />
15
Sind alle Daten relational<br />
• Wann sind Relationen ungeeignet<br />
• Wann ist SQL ungeeignet<br />
Mittwoch, 15. September 2010<br />
16
Dokument<br />
<br />
<br />
A1<br />
A2<br />
<br />
<br />
A3<br />
A4<br />
<br />
<br />
Mittwoch, 15. September 2010<br />
17
Relational “geht immer”,<br />
aber...<br />
• Entwicklerproduktivität<br />
• Design der Abbildung<br />
• Pflege der Abbildung<br />
• Fehlerquelle Abbildung<br />
• Anfragesprache<br />
• Datenunabhängigkeit<br />
• Performance<br />
• Konversion in Relationen und zurück<br />
• Fehlendes Wissen über Semantik in DBMS führt zu Leistungsverlust<br />
Mittwoch, 15. September 2010<br />
18
Datenmodelle<br />
• Konzeptuelle Datenmodelle<br />
• Entity-Relationship-Model (“ER-Diagramme”)<br />
• Universal Modeling Language (UML)<br />
• Logische Datenmodelle (vom DBMS realisiert)<br />
• Relationales Modell<br />
• Netzwerkmodell<br />
• Hierarchisches Modell<br />
• XML (Schema)<br />
• Objektorientiertes Modell<br />
• Physische Datenmodelle<br />
Mittwoch, 15. September 2010<br />
19
Schritte des DB-Entwurfs<br />
Realwelt<br />
Anforderungsanalyse<br />
(Gedanken-) Modell<br />
konzeptueller Entwurf<br />
DB-Schema (konzeptuelles DM)<br />
logischer Entwurf<br />
DB-Schema (logisches DM)<br />
für gegebenes<br />
Datenmodell<br />
physischer Entwurf<br />
DB-Schema (physisches DM)<br />
für gegebenes<br />
DBMS<br />
Mittwoch, 15. September 2010<br />
20
Inhalt der Vorlesung<br />
• Teil I: Verteilte Datenbanksysteme<br />
• Teil II: XML<br />
Mittwoch, 15. September 2010<br />
21