Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik

Ähnliche Präsentationen


Präsentation zum Thema: "Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik"—  Präsentation transkript:

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))


Herunterladen ppt "Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik"

Ähnliche Präsentationen


Google-Anzeigen