Einführung

Werbung
Datenbanksysteme II
Montag, 7. September 2009
1
Montag, 7. September 2009
2
Datenbanksysteme II
• Vorlesung
•
•
Montag 10:15 Uhr - 11:45 Uhr (B6, A1.01)
Donnerstag 10:15 Uhr - 11:45 Uhr (A5, C0.15)
• Übungen
•
•
Aufgabenblätter ca. im 2-Wochen-Rhytmus
Bearbeitung freiwillig
• Dozent
•
•
•
Carl-Christian Kanne, B6, Büro C0.04
Tel 0621/181-2586
Email [email protected]
Montag, 7. September 2009
3
Literatur
• A. Kemper , A. Eickler
Datenbanksysteme – Eine Einführung
•
•
Oldenbourg Verlag, 2009, (7.Auflage)
insb. Kap. 15 u. 17
Montag, 7. September 2009
4
Weitere Literatur
• R. Elmasri, S.B. Navathe
Fundamentals of Database Systems
• A. Silberschatz, H. F. Korth und S. Sudarshan
Database System Concepts
• R. Ramakrishnan, J. Gehrke:
Database Management Systems
Montag, 7. September 2009
5
Weitere Literatur
•
Melton/Buxton: Querying XML
(Morgan Kaufmann)
•
Walmsley: Definitive XML Schema
(Prentice Hall)
•
•
Means/Harold: XML in a nutshell (O’Reilly)
Das Web...
Montag, 7. September 2009
6
noch mehr Literatur
• auf der Webseite zur Vorlesung
Montag, 7. September 2009
7
Thema der Vorlesung
• Nicht-relationale Datenmodelle und Anfragesprachen
Montag, 7. September 2009
8
Wozu DBMS?
• Ein Datenbankmanagementsystem (DBMS)
verwaltet Datenbanken.
• Warum nicht z.B. Textverarbeitungsprogramm
nehmen?
• Verwaltet auch Daten!
Montag, 7. September 2009
9
Probleme ohne DBMS
• Redundanz und Inkonsistenz
• Verschiedene Datenformate/Formatevolution
• Probleme beim Mehrbenutzerbetrieb
• Verlust von Daten
• Integritätsverletzungen
• Fehlende Sicherheit
• Fehlende Skalierbarkeit
• Hohe Entwicklungskosten für Anwendungsprogramme
Montag, 7. September 2009
10
Gründe für DBMS
• Datenunabhängigkeit
•
Deklarative Anfragesprachen
• Mehrbenutzersynchronisation
• Fehlerbehandlung
• Sicherstellung der Datenintegrität
• Effizienz und Skalierbarkeit
• Kostenersparnis bei Anwendungsentwicklung
Montag, 7. September 2009
11
Grobarchitektur
Anwendung
Anwendung
DBMS
Datenbanksystem
Datenbank
Montag, 7. September 2009
12
Datenunabhängigkeit
• DBMS entkoppelt Anwendungen von unteren
Ebenen
• Logische Datenunabhängigkeit:
•
Anwendungen robust gegen Veränderungen der logischen
Datenstruktur
• Physische Datenunabhängigkeit
•
Anwendungen robust gegen Änderungen des
Speicherformats
Montag, 7. September 2009
13
Deklative Anfragebearbeitung
• Nutzer beschreiben, welche Daten sie benötigen
• Nicht: Wie man auf diese Daten zugreift
• “Liste alle Kunden aus Zürich auf, die mehr als
1.000.000 CHF Umsatz gemacht haben”
• Erleichtert Anwendungsprogrammierung,
unterstützt Datenunabhängigkeit
Montag, 7. September 2009
14
Datenmodelle
• Beschreiben, welche Primitiven zur Verfügung stehen
•
•
um Daten zu beschreiben.
um Daten zu bearbeiten
• Beispiel: Relationales Datenmodell (Grundvorlesung)
•
•
“Alle Datensammlungen bestehen aus Relationen”
•
Operationen: Relationale Algebra/Tupelkalkül, SQL, Einfügen/
Löschen/Änderung von Tupeln
Ähnlich: “Alle Datensammlungen bestehen aus Tabellen mit
Zeilen und Spalten”
Montag, 7. September 2009
15
Sind alle Daten relational?
• Wann sind Relationen ungeeignet?
• Wann ist SQL ungeeignet?
Montag, 7. September 2009
16
Relational “geht immer”, aber...
• Entwicklerproduktivität
•
•
•
•
•
Design der Abbildung
Pflege der Abbildung
Fehlerquelle Abbildung
Anfragesprache
Datenunabhängigkeit?
• Performance
•
•
Konversion in Relationen und zurück
Fehlendes Wissen über Semantik in DBMS führt zu
Leistungsverlust
Montag, 7. September 2009
17
Datenmodelle
• Konzeptuelle Datenmodelle
•
•
Entity-Relationship-Model (“ER-Diagramme”)
•
•
•
•
•
Relationales Modell
Universal Modeling Language (UML)
• Logische Datenmodelle (vom DBMS realisiert)
Netzwerkmodell
Hierarchisches Modell
XML (Schema)
Objektorientiertes Modell
• Physische Datenmodelle
Montag, 7. September 2009
18
Schritte des DB-Entwurfs
Realwelt
Anforderungsanalyse
(Gedanken-) Modell
konzeptueller Entwurf
DB-Schema (konzeptuelles DM)
logischer Entwurf
für gegebenes
DB-Schema (logisches DM)
Datenmodell
physischer Entwurf
für gegebenes
DB-Schema (physisches DM)
DBMS
Montag, 7. September 2009
19
Inhalt der Vorlesung
• Nicht-relationale Datenmodelle und Anfragesprachen
•
•
•
Teil I: Deduktive Datenbanken
Teil II: Multidimensionale Daten (OLAP/Data Warehousing)
Teil III: XML
Montag, 7. September 2009
20
Herunterladen