Title: Datenbanksysteme
1Datenbanksysteme
- Oliver Vornberger
- Fachbereich Mathematik/Informatik
- Universität Osnabrück
- 49069 Osnabrück
- oliver_at_uos.de
2Literatur
- Alfons Kemper, André EicklerDatenbanksysteme -
Eine EinführungOldenbourg Verlag, München, 3.
Auflage, 1999, 68 DM - Oliver VornbergerDatenbanksystemeVorlesungssk
ript Heft 92, SS 1999, 7 DM - Online-Material zur Vorlesunghttp//www-lehre.in
f.uos/dbs
3...mehr Literatur
- Date, C.J An Introduction to Database Systems,
Addison-Wesley, 1995. - Elmasri R. S. Navathe Fundamentals of
Database Systems , Addison Wesley, 2000 - Hamilton G., R. Cattell, M. Fisher JDBC
Datenbankzugriff mit Java , Addison-Wesley, 1998 - Heuer, A. G. Saake Datenbanken - Konzepte und
Sprachen , International Thompson Publishing,
2000. - Schlageter, G. W. Stucky Datenbanksysteme
Konzepte und Modelle Teubner 1983 - Silberschatz, A. H.F. Korth S. Sudarshan
Database System Concepts, Mc Graw-Hill, 1991. - Ullman, J. D. Principles of Data and
Knowledge-Base Systems, Computer Science Press,
1988. - Riordan, RSQL-Server 2000 Programmierung
Schritt für Schritt, Microsoft Press, 2001
4Gliederung
- Einführung
- Konzeptuelle Modellierung
- Logische Datenmodelle
- Physikalische Datenorganisation
- Mehrdimensionale Suchstrukturen
- Das Relationale Modell
- Relationale Abfragesprachen
- Datenintegrität
- Datenbankapplikationen
- Relationale Entwurfstheorie
- Transaktionsverwaltung
- Mehrbenutzersynchronisation
- Recovery
- Sicherheit
- Objektorientierte Datenbanken
- Data Warehouse
5Definition
Ein Datenbanksystem ist ein computergestütztes
System, bestehend aus
- Datenbasis zur Beschreibung eines Ausschnitts der
Realwelt - Programme zum geregelten Zugriff auf die
Datenbasis.
( auch genannt Datenbankverwaltungssystem,
DBMS data base management system)
6Motivation
Separate Abspeicherung von miteinander in
Beziehung stehenden Daten ?
- Redundanz
- Inkonsistenz
- Integritätsverletzung
- Verknüpfungseinschränkung
- Mehrbenutzerprobleme
- Verlust von Daten
- Sicherheitsprobleme
- Hohe Entwicklungskosten
7Isolierte Dateien versus zentrale Datenbasis
8Datenabstraktion
9Schema versus Ausprägung
Datenbankschema Struktur der abspeicherbaren
Daten Datenbankausprägung momentan gültiger
Zustand der Datenbasis
10Transformationsregeln
- Transformationsregeln für Verbindungen zwischen
den Ebenen - Bundesbahn
- konzeptuelles Schema Kursbuch
- externes Schema Städteverbindungen Osnabrück
- internes Schema Abbildung auf Dateisystem
- Personaldatei
- konzeptuelle Ebene Angestellte mit ihren
Namen,
Wohnorten und Geburtsdaten - externes Schema Geburtstagsliste mit
Name, Datum, Alter - internes Schema Abbildung auf Dateisystem
11Datenunabhängigkeit
- Physische Datenunabhängigkeit
- keine Änderung des externen Schemasbei Änderung
des internen Schemas - Logische Datenunabhängigkeit
- keine Änderung des externen Schemasbei
Änderungen des konzeptuellen Schemas
12Modellierungskonzepte
13Entity-Relationship-Modell
- entityGegenstand des Denkens und der Anschauung
- relationshipBeziehung zwischen den entities
14ER-Diagramm
15ER-Diagramm
16Logisches Schema
- Das hierarchische Modell (z. B. IMS von IBM)
- Das Netzwerkmodell (z. B. UDS von Siemens)
- Das relationale Modell (z. B. Access von
Microsoft) - Das objektorientierte Modell (z. B. O2 von O2
Technology)
17Architektur eines DBMS
18Das Entity-Relationship-Modell
19Schlüssel
Schlüsselkandidat minimale identifizierende
Menge von Attributen Primärschlüssel ein
ausgezeichneter (oft künstlicher) Schlüssel
20Das Entity-Relationship-Modell(Schlüssel
unterstrichen)
21Beispiel für Schlüsselkandidaten
49080 Osnabrück Altenburger Str. 1449080 Osnabrü
ck Altenburger Str. 1649080 Osnabrück Blumenhall
er Weg 5249082 Osnabrück Hochstr. 1033699 Biel
efeld Altenburger Str. 14
Schlüsselkandidat PLZ Straße Hausnummer
22Beispiel für Schlüsselkandidaten
XML Schreiner MO, 1200 31/322XML Schreiner DO,
1615 31/449aDBS Vornberger MO, 1415 31/449a
Schlüsselkandidaten Titel Termin Dozent
Termin Raum Termin
23Charakterisierung von Beziehungstypen
- 11-Beziehung (one-one)
- 1N-Beziehung (one-many)
- N1-Beziehung (many-one)
- NM-Beziehung (many-many)
24Binäre Beziehungen
25Modellierung einer Literaturliste
26Modellierung einer Fluggesellschaft
27Die (min, max)-Notation
- Für jeden an einem Beziehungstyp beteiligten
Entitytyp wird ein (min,max)-Wert festgelegt. - Der (min, max)-Wert gibt an, wie oft ein Entity
mindestens und wie oft es höchstens an einer
Beziehung beteiligt ist.
28ER-Diagramm für Begrenzungsflächen-darstellung
von Polyedern
29Existenzabhängige Entity-Typen
30Generalisierung
31Vorname
PersNr
Nachname
N
bedient_von
Angestellter
1
isa
1
Pilot
P_Info
M
Lizenz
N
Flugzeug
Modell
Hersteller
1
Modellierung einer Fluggesellschaft
Typ
N
Maschine
SerienNr
32Aggregation
33Konsolidierung
34Drei Sichten einer Universitätsdatenbank
35Konsolidiertes Schema der Universitätsdatenbank
36Logische Datenmodelle
- Hierarchisches Modell
- Netzwerkmodell
- Relationales Modell
- Objektorientiertes Modell
37Hierarchisches Modell
Schema
Ausprägung (S Student, V Vorlesung, D
Dozent)
38Schema im Hierarchischen Modell
39Ausprägung im Hierarchischen Modell
40Operationen im Hierarchischen Modell
Welche Studenten sind im Kurs M23 am 13.08.1973 ?
GU COURSE(COURSE'M23') OFFERING
(DATE'730813') if gefunden then begin GNP
STUDENT if gefunden then begin
write(STUDENT.NAME) GNP STUDENT end end
41Netzwerkmodell
schreibt
42Netzwerk mit MN-Beziehung
43Kettrecords mit Attribut im Netzwerkmodell
Ware
Nr
Bezeichnung
Wb
Bestellung
Anz
Pb
Person
Nr
Name
44Operationen im Netzwerk-Modell
Typische Operation Navigation durch die
verzeigerten Entities
FIND ANY Person FIND NEXT Bestellung WITHIN PB
FIND OWNER WITHIN WB
45Operationen im Netzwerkmodell
PERSON.NAME SCHULZ FIND ANY PERSON USING
NAME IF GEFUNDEN THEN BEGIN FIND FIRST
BESTELLUNG WITHIN PB WHILE GEFUNDEN
DO BEGIN FIND OWNER WITHIN WB GET
WARE WRITE(WARE.BEZEICHNUNG) FIND NEXT
BESTELLUNG WITHIN PB END END
46Relationales Datenmodell
- pro Entity-Typ gibt es eine Tabelle mit Spalten
benannt nach den Attributen.
- pro Relationshiptyp gibt es eine Tabelle mit
Spalten für die Schlüssel der beteiligten
Entity-Typen und ggf. weitere Spalten.
47Operationen im Relationalen Modell
- Selektion Suche alle Tupel einer Relation mit
gewissen Attributeigenschaften - Projektion filtere gewisse Spalten heraus
- Verbund Finde Tupel in mehreren Relationen,
die bzgl. gewisser Spalten übereinstimmen. - Query Welche Studenten hören die Vorlesung
Zahlentheorie?
SELECT Student.Nachname from Student, Hoert,
Vorlesung WHERE Student.MatNr
Hoert.MatNr AND Hoert.VorNr Vorlesung.VorNr AND
Vorlesung.Titel 'Zahlentheorie'
48Das Objektorientierte Datenmodell
- Eine Klasse repräsentiert einen Entity-Typ
zusammen mit seinen Beziehungen und mit darauf
erlaubten Operationen. - Attribute müssen nicht atomar sein, sondern
bestehen ggf. aus Tupeln, Listen und Mengen. - Die Struktur einer Klasse kann an eine
Unterklasse vererbt werden. - Binäre Beziehungen können durch mengenwertige
Attribute modelliert werden.
49Beispiel für objektorientierte Modellierung
class Person type tuple (name String,
geb_datum Date, kinder list(Person)) end
class Student inherit Person type tuple
(mat_nr Integer, hoert set
(Vorlesung)) end class Vorlesung type tuple
(titel String, gehoert_von set
(Student)) end