Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lothur Lazer Geändert vor über 10 Jahren
1
Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik
Universität Osnabrück 49069 Osnabrück
2
Literatur Alfons Kemper, André Eickler: „Datenbanksysteme - Eine Einführung“ Oldenbourg Verlag, München, 3. Auflage, 1999, 68 DM Oliver Vornberger: „Datenbanksysteme“ Vorlesungsskript Heft 92, SS 1999, 7 DM Online-Material zur Vorlesung:
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, R: SQL-Server 2000 Programmierung Schritt für Schritt, Microsoft Press, 2001
4
Gliederung 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
5
Definition 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)
6
Motivation Separate Abspeicherung von miteinander in Beziehung stehenden Daten Redundanz Inkonsistenz Integritätsverletzung Verknüpfungseinschränkung Mehrbenutzerprobleme Verlust von Daten Sicherheitsprobleme Hohe Entwicklungskosten
7
Isolierte Dateien versus zentrale Datenbasis
Programm 1 Physikalische Datei n Physikalische Datei 1 Programm n . Logische Datei n Logische Datei 1 Programm n Programm 1 DBMS Daten basis .
8
physikalische Speicherung
Datenabstraktion Sicht 1 Sicht 2 Sicht n externe Ebene Gesamtsicht konzeptuelle Ebene physikalische Speicherung interne Ebene
9
Schema versus Ausprägung
Datenbankschema = Struktur der abspeicherbaren Daten Datenbankausprägung = momentan gültiger Zustand der Datenbasis
10
Transformationsregeln
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
11
Datenunabhängigkeit Physische Datenunabhängigkeit:
keine Änderung des externen Schemas bei Änderung des internen Schemas Logische Datenunabhängigkeit: keine Änderung des externen Schemas bei Änderungen des konzeptuellen Schemas
12
Modellierungskonzepte
externes Schema internes Datenbanksystem reale Welt konzeptuelles Schema logisches Schema
13
Entity-Relationship-Modell
entity: Gegenstand des Denkens und der Anschauung relationship: Beziehung zwischen den entities
14
ER-Diagramm Vorname Nachname Mat-Nr Studienfach PLZ Name Student
wohnt in Ort
15
ER-Diagramm Vorname Nachname Mat-Nr Studienfach PLZ Name Studenten
wohnt in Orte
16
Logisches 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)
17
Architektur eines DBMS
"Naive" Benutzer Fortgeschrittene Anwendungs- programmierer Datenbank- administratoren Anwendung interaktive Anfrage Präcompiler Verwaltungs- werkzeug DML- Compiler DDL-Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchr. Fehlerbehandlung DBMS Architektur eines DBMS Logdateien Indexe Datenwörterbuch Datenbasis Filemanager Hintergrundspeicher
18
Das Entity-Relationship-Modell
voraussetzen Nachfolger Vorgänger MatrNr Name Sem VorlNr SWS Titel hören Studenten Vorlesungen prüfen lesen Note Fachgebiet Name PersNr Rang Raum Name PersNr arbeitenFür Assistenten Professoren
19
Schlüssel Schlüsselkandidat = minimale identifizierende Menge von Attributen Primärschlüssel = ein ausgezeichneter (oft künstlicher) Schlüssel
20
Das Entity-Relationship-Modell (Schlüssel unterstrichen)
VorlNr SWS Titel voraussetzen Nachfolger Vorgänger MatrNr Name Sem hören Note Studenten Vorlesungen lesen Assistenten Fachgebiet PersNr Rang Raum prüfen Professoren arbeitenFür
21
Beispiel für Schlüsselkandidaten
Adresse PLZ Ort Hausnr Straße 49080 Osnabrück Altenburger Str Osnabrück Altenburger Str Osnabrück Blumenhaller Weg Osnabrück Hochstr Bielefeld Altenburger Str. 14 Schlüsselkandidat: PLZ + Straße + Hausnummer
22
Beispiel für Schlüsselkandidaten
Vorlesungsverzeichnis Titel Dozent Raum Termin XML Schreiner MO, 12:00 31/322 XML Schreiner DO, 16:15 31/449a DBS Vornberger MO, 14:15 31/449a Schlüsselkandidaten: Titel + Termin Dozent + Termin Raum + Termin
23
Charakterisierung von Beziehungstypen
1:1-Beziehung (one-one) 1:N-Beziehung (one-many) N:1-Beziehung (many-one) N:M-Beziehung (many-many)
24
Binäre Beziehungen 1:1 E 1 2 E 1:N 1 2 N:1 E 1 2 N:M E 1 2
25
Modellierung einer Literaturliste
ISBN Titel Auflage Jahr Autor Verlag Buch verfaßt_von erscheint_bei M N N 1 Autor Verlag ID Vorname Nachname ID Name Ort
26
Modellierung einer Fluggesellschaft
Passagier Nachname Vorname Kdn-Nr Adresse gebucht_auf N M Abflug Datum Instanz_von N 1 Flug Nr Start Ziel Abflugzeit Ankunftszeit
27
Die (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.
28
ER-Diagramm für Begrenzungsflächen-darstellung von Polyedern
PolyID Hülle 1 N (4,*) (1,1) Flächen FlächenID Begrenzung N M (3,*) (2,2) ER-Diagramm für Begrenzungsflächen-darstellung von Polyedern Kanten KantenID StartEnde N M (2,2) (3,*) Y Z X Punkte
29
Existenzabhängige Entity-Typen
Größe RaumNr Räume GebNr Höhe Gebäude liegt_in N 1
30
Generalisierung Name Uni-Mitglieder is-a MatrNr Studenten PersNr
Angestellte is-a Fachgebiet Assistenten Professoren Raum Rang
31
Modellierung einer Fluggesellschaft
Passagier Nachname Vorname Kdn-Nr Adresse N gebucht_auf PersNr Vorname Nachname Abflug Datum M N N bedient_von Angestellter Instanz_von 1 isa Flug Nr Start Ziel Abflugzeit Ankunftszeit 1 1 Pilot P_Info M Lizenz N Hersteller Flugzeug Modell Modellierung einer Fluggesellschaft 1 Typ N Maschine SerienNr
32
Aggregation
33
Konsolidierung Sicht 2 Sicht 1 Sicht 3 globales Schema Konsolidierung
redundanzfrei widerspruchsfrei Synonyme bereinigt Homonyme bereinigt Sicht 3 Konsolidierung
34
Drei Sichten einer Universitätsdatenbank
Studenten Assistenten Professoren erstellen Diplomarbeiten Titel Dissertationen verfassen betreuen bewerten Sicht 1: Erstellung von Dokumenten als Prüfungsleistung Drei Sichten einer Universitätsdatenbank Bibliotheken leiten UniMitglieder Fakultät besitzen Dokumente entleihen Datum Signatur Autoren Titel Jahr Sicht 2: Bibliotheksverwaltung Vorlesungen Dozenten empfehlen Bücher Autoren Titel Jahr Verlag Sicht 3: Buchempfehlungen für Vorlesungen
35
Konsolidiertes Schema der Universitätsdatenbank
36
Logische Datenmodelle
Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell
37
Hierarchisches Modell
Schema: Vorlesung VorlNr Titel SWS Student MatrNr Name Semester Dozent PersNr Rang Raum Ausprägung (S = Student, V = Vorlesung, D = Dozent): Mustermann Stochastik V Java Stadje D Vogt Schreiner Wacker S Zahlentheorie
38
Schema im Hierarchischen Modell
COURSE# TITLE DESCRIPN COURSE PREREQ OFFERING LOCATION DATE FORMAT EMP# NAME GRADE STUDENT TEACHER
39
Ausprägung im Hierarchischen Modell
23 COURSE Dynamics Calculus 19 Trigonometry 16 PREREQ Oslo 750106 F 2 OFFERING Dublin 741104 3 Madrid 730813 Sharp, R. 421633 Tallis, T. 761620 B STUDENT Gibbons, O. 183009 A Byrd, W. 102141 TEACHER
40
Operationen im Hierarchischen Modell
Welche Studenten sind im Kurs M23 am ? COURSE# TITLE DESCRIPN COURSE PREREQ OFFERING LOCATION DATE FORMAT EMP# NAME GRADE STUDENT TEACHER GU COURSE(COURSE#='M23') OFFERING (DATE='730813') if gefunden then begin GNP STUDENT write(STUDENT.NAME) end end;
41
Netzwerkmodell Autor Buch Simmel owner - Typ set - Typ member - Typ
schreibt Der Henker Selber atmen Richtig streiken
42
Netzwerk mit M:N-Beziehung
Student SV Vorlesung ss vs Mustermann Wacker Java Stochastik Zahlentheorie
43
Kettrecords mit Attribut im Netzwerkmodell
Ware Apfel Birne Tomate Lehmann Schulz Meier 30 12 18 24 22 Nr Bezeichnung Wb Bestellung Anz Pb Person Nr Name
44
Operationen im Netzwerk-Modell
Typische Operation : Navigation durch die verzeigerten Entities FIND ANY Person FIND NEXT Bestellung WITHIN PB FIND OWNER WITHIN WB
45
Operationen im Netzwerkmodell
PERSON.NAME := ’SCHULZ’; FIND ANY PERSON USING NAME; IF GEFUNDEN THEN BEGIN FIND FIRST BESTELLUNG WITHIN PB; WHILE GEFUNDEN DO FIND OWNER WITHIN WB; GET WARE; WRITE(WARE.BEZEICHNUNG); FIND NEXT BESTELLUNG WITHIN PB; END END; Apfel Birne Tomate Lehmann Schulz Meier 30 12 18 24 22 Wb Pb
46
Relationales 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. MatNr Vorname Nachname Erika Mustermann Willi Wacker Peter Pan Student MatNr VorNr Hoert VorNr Titel Umfang Java Stochastik 2 Zahlentheorie 4 Vorlesung
47
Operationen 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'
48
Das 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.
49
Beispiel 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)) class Vorlesung type tuple (titel : String, gehoert_von : set (Student))
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.