Kapitel 1 - Fachbereich Mathematik und Informatik

Werbung
'DWHQEDQNV\VWHPH
Bernhard Seeger
Fachbereich Mathematik und Informatik
Philipps-Universität Marburg
Dieses “Skript” ist nur als eine Orientierungshilfe zur Vorlesung Datenbanksysteme. Die Kopien
entsprechen zu einem großen Teil den Folien, die in den Vorlesungsstunden aufgelegt und erläutert
werden.
Seite 1
‰
‰
‰
‰
‰
‰
2UJDQLVDWLRQ
Vorlesung
– bis zum 9.12.2004: Mo 14-16, Di 11-13 und Do 14-16 im Hörsaal IV
– ab dem 12.12.2004: Mo 14-16 im Hörsaal IV
± %ORFNYHUDQVWDOWXQJDPLP+|UVDDO,9YRQ8KU
Übung
–
Übungsleiter: Martin Schneider
–
Keine Abgabe der Übungen, keine Korrektur der Aufgaben
–
Wunschtermin: mittwochs 12:45-14:15
– ab Januar 2005: “kleines” Datenbankpraktikum
benoteter Schein: Klausur, Termin: ?
Web-Seite: http://www.mathematik.uni-marburg.de/~maschn/vor04WSDBS1.shtml
Forum: http://dbs.mathematik.uni-marburg.de/forum/phpBB2/
Seminar “Dynamische Informationsfusion”
Seite 2
/LWHUDWXUOLVWH
Basisliteratur
‰
‰
‰
‰
‰
‰
A. Kemper, A. Eikler: “ Datenbanksysteme. Eine Einführung” , Oldenbourg, 2004 (5. Auflage).
G. Saake, A. Heuer: “ Datenbanken Konzepte und Sprachen” , mitp. 2000.
G. Vossen: “ Datenmodelle, Datenbanksprachen und Datenbankmanagement-Systeme” ,
Oldenbourg, 2000.
Jeffrey D. Ullman, Jennifer D. Widom: A First Course in Database Systems, Prentice Hall,
2001.
Ramez A. Elmasri, Shamkant B. Navathe: Fundamentals of Database Systems (4th Edition),
Addison-Wesley, 1999 (deutsche Fassung bei Pearson Studium erschienen)
Jim Melton, Alan R. Simon, Jim Gray: SQL: 1999 - Understanding Relational Language
Components, Morgan Kaufmann Publishers, 2001
Spezialliteratur
‰
‰
Gerhard Weikum, Gottfried Vossen: Transactional Information Systems: Theory, Algorithms,
and the Practice of Concurrency Control, Morgan Kaufmann, 2001.
Serge Abiteboul, Richard Hull, Victor Vianu: Foundations of Database Systems, AddisonWesley, 1995.
Seite 3
:LFKWLJH=HLWVFKULIWHQXQG.RQIHUHQ]HQ
Zeitschriften:
‰
‰
‰
‰
ACM Transactions on Database Systems (TODS)
IEEE Transactions on Knowledge and Database Engineering
Information Systems
The VLDB Journal
Diese Zeitschriften gibt es bei uns in der Bibliothek, oder stehen im
Internet bereit.
Wichtige Konferenzen:
‰
‰
‰
‰
‰
Int. Conf. on Very Large Data Bases (VLDB)
ACM SIGMOD Int. Conf. on Management of Data
ACM SIGACT-SIGMOD Principles of Database Systems
IEEE Int. Conf. on Data Engineering
Int. Conf. on International Conference on Extending Database Technology
Seite 4
9RUOlXILJHV,QKDOWVYHU]HLFKQLV
1. Einführung
2. Konzeptionelle Datenmodellierung
3. Relationales Datenmodell
relationale Algebra, Relationen-Kalkül, erweiterte Algebra
4. SQL: Die relationale Datenbanksprache
5. Anwendungsprogrammierung
statisches und dynamisches eSQL, JDBC, JDO
6. Integritätsbedingungen
7. Entwurfstheorie relationaler Datenbanken
8. Anfrageverarbeitung
9. Transaktionskonzepte u. Fehlerbehandlung
10.Objektrelationale Datenbanken (SQL:1999)
11.Data Warehousing
12.XML-Datenbanken
*
(2)*
(3)
(6)
(6)
(6)
(2)
(3)
(6)
(6)
(3)
(3)
(6)
Die Zahl in Klammern zeigt die Anzahl der Stunden, die für das jeweilige Kapitel eingeplant sind.
Seite 5
‰
‰
(LQIKUXQJ
(LQIKUXQJ
'DWHQEDQNV\VWHPH (DBS) werden genutzt zur rechnergestützten Verwaltung großer
Datenbestände, die auf nichtflüchtigen Speichermedien abgelegt werden.
Datenbanksystem besteht aus
– 'DWHQEDQNYHUZDOWXQJVV\VWHP (engl. database management system)
Dahinter verbirgt sich die Software zur Verwaltung von Daten.
– 'DWHQEDQN
Darunter versteht man die zu verwaltenden Daten und andere Hilfsdaten (z. B. Indexe und
Metadaten). Eine Datenbank stellt eine logische Einheit dar.
Typische Anwendungen von Datenbanksystemen:
‰
‰
‰
Bankinformationssystem: Verwaltung der Kunden, ihre Konten, …
Versicherungsinformationssystem: Verwaltung der Kunden, ihre Verträge, …
Neuerdings werden DBS auch in anderen Anwendungsbereichen eingesetzt:
– Biologie: Gen-Datenbanken
– Geographie: Kataster, Leitungsnetzwerken wie z. B. bei Energieversorger
– Text-Dokumente: Artikel, Zeitschriften, Bücher
– Multimedia: Bilder, Videos
Seite 6
(LQIKUXQJ
$OVHVQRFKNHLQH'DWHQEDQNV\VWHPHJDE«
‰
Entwicklung von DBS setzte erst in den frühen 60er Jahre ein. Zuvor wurden vornehmlich
einfache Dateisysteme benutzt
Beispiel für die Datenverarbeitung in einer Versicherung:
‰
‰
‰
Drei Kundenberater Alfred, Beatrice und Carlo, die je nach Art des
Versicherungstyps Kunden betreuen.
Jeder der Kundenberater benutzt für den Zugriff auf die
Kundendaten ein eigenentwickeltes Programm
Jeder Berater hat seine eigene Kundendatei
KB Alfred
Programm
KundenVonA
KB Beatrice
Programm
KundenVonB
KB Carlo
Programm
KundenVonC
Seite 7
(LQIKUXQJ
‰
‰
‰
‰
3UREOHPHGHUIUKHQ'DWHQYHUDUEHLWXQJ
Direkte Erzeugung und Verarbeitung der Daten durch Anwendungsprogramme ($:3) unter
Verwendung von Dateien
– kein standardisiertes Speicherungsformat
– hoher Aufwand bei der Verknüpfung von Daten aus mehreren Dateien
– hoher Aufwand beim Austausch von Daten verschiedener Benutzern
– mehrfache und unkoordinierte Verwaltung der Daten
– häufige Inkonsistenzen im Datenbestand
Zugriff auf Daten erfolgt explizit in den AWP
– hoher Aufwand für die Entwicklung einer großen Anzahl maßgeschneiderter, aber auch
unflexibler Programme
Dateninkonsistenzen bei gleichzeitigem Zugriff durch mehrere Benutzer
Datenschutz
Seite 8
(LQIKUXQJ
‰
‰
‰
‰
‰
$QIRUGHUXQJHQDQHLQ'DWHQEDQNV\VWHP
Gemeinsame persistente Datenbasis auf dem Externpseicher
– Zugriff der Benutzer und der AWP auf einen gemeinsam verwalteten Datenbestand
Kontrollierte Datenredundanz
– Vermeidung von Kopien derselben Daten durch integrierte Verwaltung aller Daten.
Mehrbenutzerbetrieb
– gleichzeitiger Zugriff mehrerer Benutzer auf ihre Daten
– Jeder Benutzer hat dabei den Eindruck der exklusiven Nutzung des Systems.
Datenunabhängigkeit (siehe auch unten)
– Unabhängigkeit der AWP von der Datenrepräsentation und -speicherung
Schneller Datenzugriff
– Mächtige Sammlung von Werkzeugen zur effizienten Speicherung und
Anfragevearbeitung externer Datenquellen.
– Indexstrukturen für Plattenspeicher
– effiziente Algorithmen zum externen Sortieren
Seite 9
(LQIKUXQJ
‰
‰
‰
‰
Datenintegrität
– Unterstützung von Integritätsbedingungen zur Gewährleistung der Korrektheit und
Vollständigkeit der Daten
– automatische Überprüfung der Bedingungen beim Einfügen, Ändern und Löschen der
Daten
Datenkonsistenz
– Sicherstellung der Datenkonsistenz auf Basis der Integritätsbedingungen
– Transaktionskonzept
Datensicherung
– Zugriffskontrolle durch Authentisierung und Verschlüsselung
– Schutz der Datenbank vor nicht-autorisierten Zugriff
Fehlerbehandlung
– Schutz vor den Auswirkungen von Systemfehlern
– Wiederanlauf des Systems (Recovery): automatisches Wiederherstellen des zuletzt
aktuellen, konsistenten Datenbankzustands mittels von Log-Dateien
– Anlegen von Sicherungskopien für den Fall der Zerstörung eines Speichermediums
Seite 10
(LQIKUXQJ
‰
‰
‰
‰
Bereitsstellung verschiedener Benutzerschnittstellen
– ad-hoc Anfragesprachen für interaktive Benutzer
– Programmierschnittstellen für die Erstellung von AWP
– menügesteuerte, einfach zu benutzende Schnittstelle (GUI)
– Spezieller Zugang für Administrator (z. B. zur Datendefinition)
Effektive Anfragebearbeitung
– Übersetzung und Optimierung von Anfragen
– Anfrageoptimierung mit dem Ziel eines hohen Durchsatzes (Anfragen/Sekunde)
Flexibilität
– Änderung der Datenbankstruktur ohne Änderung der AWP
(siehe auch Datenunabhängigkeit)
– einfache, aber mächtige Werkzeuge zur Verarbeitung von Daten
Schnelle Entwicklung von neuen Anwendungen
Seite 11
1DFKHLQHU8PVWUXNWXULHUXQJ
Alfred
Carlo
(LQIKUXQJ
Beatrice
DBMS
DB
‰
‰
Zugriff auf die Datenbank ist nur über ein DBMS möglich
es gibt HLQHQ zentralen Datenbestand
– (eigentlichen) Daten
– Metadaten (Daten über die Daten)
– Funktionen
Seite 12
(LQIKUXQJ
'DWHQDEVWUDNWLRQ
DBS besitzt mehrere Abstraktionsstufen:
‰
‰
‰
‰
‰
([WHUQH(EHQHQ: beschreiben den Teil der DB, der für
einen Benutzer (oder eine Benutzergruppe) relevant ist.
.RQ]HSWLRQHOOH(EHQH gibt an, welche Daten und
welche Beziehungen in der DB vorhanden sind
3K\VLVFKHV(EHQH beschreibt, wie die Daten
physisch abgelegt sind (physisches Datenmodell)
'DWHQEDQNVFKHPD bezeichnet den Entwurf der Datenbank
Entsprechend der drei oben genannten Ebenen gibt es:
– externe Schemata,
– ein konzeptionelles,
– und ein physisches Schema.
AWP greifen über ein externes
Schema auf die Daten eines DBS zu.
AWP
externe
Ebenen
konzeptionelle
Ebene
physische
Ebene
Datenbankzustand
‰
Konkrete Instanz, die einem Datenbankschema folgt.
Seite 13
‰
‰
‰
'DWHQXQDEKlQJLJNHLW
(LQIKUXQJ
bezeichnet die Eigenschaft, das Schema in einer Ebene zu ändern, ohne dabei das Schema der
Daten in der darüber liegenden Ebene zu beeinflussen.
logische Datenunabhängigkeit:
– Änderungen an der konzeptionellen Ebene haben keine Auswirkungen auf die externe
Ebene und damit auch nicht auf die AWP.
– Beispiel:
Daten bei der Kontoführung sollen um das Attribut “ Uhrzeit” erweitert werden.
physische Datenunabhängigkeit:
– Änderungen an der physischen Ebene haben keine Auswirkungen auf die konzeptionelle
Ebene und damit auch nicht auf die externe Ebenen und die AWP.
– Beispiele:
Der Datenbestand “ Kontoführung” soll statt in einer Datei auf mehrere Dateien verteilt
gespeichert werden.
Der Algorithmus für das externe Sortieren wird neu implementiert.
Ein Suchbaum soll aufgebaut werden, um schneller Anfragen zu beantworten.
Seite 14
‰
‰
‰
'DWHQPRGHOOH
(LQIKUXQJ
Ein Datenmodell ist ein Formalismus zur Beschreibung und Definition
– von Daten
– und von Operationen zur Datenmanipulation.
Dies beinhaltet nicht nur die Syntax, sondern insbesondere auch die Semantik!
Typischerweise besitzt ein DBS zumindest zwei Datenmodelle:
– physisches Datenmodell: zur speicher-orientierten Repräsentation der Daten
– logisches Datenmodell: zur benutzer-orientierten Repräsentation der Daten
logische Datenmodelle sind
– objekt-orientiert, z. B.
Entity-Relationship Modell
objekt-oientiertes Modell
– satz-orientiert, z. B.
relationales Datenmodell
Netzwerk-Datenmodel
hierarchisches Datenmodell
Seite 15
6SUDFKHQLQ'%6
(LQIKUXQJ
Datendefinitionssprache (DDL = data definition language)
‰
‰
‰
Sprache zur Manipulation des Datenbankschemas
Verwaltung von Meta-Daten zur Beschreibung des Schemas (data dictionary)
Spezifikation von “ lästigen” Implementierungsdetails
Datenmanipulationssprache (DML = data manipulation language)
‰
‰
‰
Funktionalität:
– Einfügen, Löschen und Ändern von Datenobjekten in (aus) der Datenbank
– Suche nach Datenobjekten in der Datenbank
Anfragesprachen sind i.a. deklarativ
– Benutzer spezifiziert nur, was für Daten gesucht werden, aber nicht wie die Daten
aufgefunden werden sollen.
Anfrage, die ein Benutzer mittels von Objekten in seiner externen Ebene formuliert hat, wird
in eine effiziente Anfrage übersetzt, die auf Objekten der physischen Ebene aufsetzt.
Seite 16
.RPSRQHQWHQHLQHV'%06
naiver
Benutzer
Anwendungsprogrammierer
Precompiler
der DML
ad-hoc
Anfrager
Compiler
der DML
Code des
Anwenderprogramms
(LQIKUXQJ
Datenbankadministrator
Compiler der
Datendefinitionssprache
Datenbank
Manager
Dateisystem
Dateien Dateien DatenDictionary
Seite 17
Herunterladen