Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück

Ähnliche Präsentationen


Präsentation zum Thema: "1 Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück"—  Präsentation transkript:

1 1 Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück

2 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 3...mehr Literatur Date, C.J: An Introduction to Database Systems, Addison-Wesley, 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, Schlageter, G. & W. Stucky: Datenbanksysteme: Konzepte und Modelle Teubner 1983 Silberschatz, A. & H.F. Korth & S. Sudarshan: Database System Concepts, Mc Graw-Hill, Ullman, J. D.: Principles of Data and Knowledge-Base Systems, Computer Science Press, Riordan, R: SQL-Server 2000 Programmierung Schritt für Schritt, Microsoft Press, 2001

4 4 Gliederung 1.Einführung 2.Konzeptuelle Modellierung 3.Logische Datenmodelle 4.Physikalische Datenorganisation 5.Mehrdimensionale Suchstrukturen 6.Das Relationale Modell 7.Relationale Abfragesprachen 8.Datenintegrität 9.Datenbankapplikationen 10.Relationale Entwurfstheorie 11.Transaktionsverwaltung 12.Mehrbenutzersynchronisation 13.Recovery 14.Sicherheit 15.Objektorientierte Datenbanken 16.Data Warehouse

5 5 Definition Datenbasis zur Beschreibung eines Ausschnitts der Realwelt Programme zum geregelten Zugriff auf die Datenbasis. Ein Datenbanksystem ist ein computergestütztes System, bestehend aus ( auch genannt: Datenbankverwaltungssystem, DBMS = data base management system)

6 6 Motivation Redundanz Inkonsistenz Integritätsverletzung Verknüpfungseinschränkung Mehrbenutzerprobleme Verlust von Daten Sicherheitsprobleme Hohe Entwicklungskosten Separate Abspeicherung von miteinander in Beziehung stehenden Daten

7 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 8 Datenabstraktion Gesamtsicht konzeptuelle Ebene Sicht 1 Sicht 2Sicht n externe Ebene physikalische Speicherung interne Ebene

9 9 Schema versus Ausprägung Datenbankschema = Struktur der abspeicherbaren Daten Datenbankausprägung = momentan gültiger Zustand der Datenbasis

10 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 internes Schema= Abbildung auf Dateisystem

11 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 12 Modellierungskonzepte konzeptuelles Schema externes Schema internes Schema Datenbanksystem reale Welt logisches Schema

13 13 Entity-Relationship-Modell entity: Gegenstand des Denkens und der Anschauung relationship: Beziehung zwischen den entities

14 14 ER-Diagramm Student VornameNachname PLZMat-NrStudienfachName Ortwohnt in

15 15 ER-Diagramm Studenten VornameNachname PLZMat-NrStudienfachName Ortewohnt in

16 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. O 2 von O 2 Technology)

17 17 Architektur eines DBMS "Naive" Benutzer Fortgeschrittene Benutzer Anwendungs- programmierer Datenbank- administratoren Anwendung interaktive Anfrage Präcompiler Verwaltungs- werkzeug DML- CompilerDDL-Compiler Anfragebearbeitung DatenbankmanagerSchemaverwaltung Mehrbenutzersynchr. Fehlerbehandlung DBMS LogdateienIndexeDatenwörterbuchDatenbasis Filemanager Hintergrundspeicher

18 18 Das Entity-Relationship-Modell VorlNr SWS Titel voraussetzen NachfolgerVorgänger MatrNr Name Sem hören Note StudentenVorlesungen lesen Assistenten Fachgebiet Name PersNr Rang Raum Name PersNr prüfen Professoren arbeitenFür

19 19 Schlüssel Schlüsselkandidat= minimale identifizierende Menge von Attributen Primärschlüssel = ein ausgezeichneter (oft künstlicher) Schlüssel

20 20 Das Entity-Relationship-Modell (Schlüssel unterstrichen) VorlNr SWS Titel voraussetzen NachfolgerVorgänger MatrNr Name Sem hören Note StudentenVorlesungen lesen Assistenten Fachgebiet Name PersNr Rang Raum Name PersNr prüfen ProfessorenarbeitenFür

21 21 Beispiel für Schlüsselkandidaten 49080OsnabrückAltenburger Str OsnabrückAltenburger Str OsnabrückBlumenhaller Weg OsnabrückHochstr BielefeldAltenburger Str.14 Adresse PLZOrtHausnrStraße Schlüsselkandidat: PLZ + Straße + Hausnummer

22 22 Beispiel für Schlüsselkandidaten XMLSchreinerMO, 12:0031/322 XMLSchreinerDO, 16:1531/449a DBSVornbergerMO, 14:1531/449a Vorlesungsverzeichnis TitelDozentRaumTermin Schlüsselkandidaten: Titel + Termin Dozent + Termin Raum + Termin

23 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 24 1:1 E 1 E 2 EE 1:N 12 N:1 E 1 E 2 N:M E 1 E 2 Binäre Beziehungen

25 25 Modellierung einer Literaturliste Buch AuflageTitelISBNJahr M N N 1 Autor Verlag verfaßt_von erscheint_bei IDVornameNachname ID NameOrt AutorVerlag

26 26 Modellierung einer Fluggesellschaft Instanz_von gebucht_auf Passagier Nachname VornameKdn-Nr Adresse Abflug Datum Flug Nr StartZielAbflugzeitAnkunftszeit N M N 1

27 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 28 ER-Diagramm für Begrenzungsflächen- darstellung von Polyedern PolyederFlächenKantenPunkte PolyID FlächenIDKantenID Begrenzung StartEnde 1 N (4,*) (1,1) N M (3,*) (2,2) N M (3,*) Hülle Y Z X

29 29 Existenzabhängige Entity-Typen GebNr Höhe Gebäude liegt_in N1 Größe RaumNr Räume

30 30 Generalisierung Name Uni-Mitglieder is-a MatrNr Studenten PersNr Angestellte is-a Fachgebiet AssistentenProfessoren Raum Rang

31 31 Modellierung einer Fluggesellschaft bedient_von Instanz_von gebucht_auf Passagier Nachname VornameKdn-Nr Adresse N Abflug Datum M M N Flug Nr StartZielAbflugzeitAnkunftszeit 1 Angestellter Vorname PersNr Nachname Pilot Lizenz Flugzeug 1 1 M N 1 Typ N Maschine isa P_Info Modell SerienNr Hersteller N

32 32 Aggregation

33 33 Konsolidierung globales Schema redundanzfrei widerspruchsfrei Synonyme bereinigt Homonyme bereinigt Sicht 1 Sicht 2 Sicht 3

34 34 Drei Sichten einer Universitätsdatenbank Studenten Assistenten Professoren erstellen Diplomarbeiten Titel Dissertationen verfassen betreuen bewerten Titel Sicht 1: Erstellung von Dokumenten als Prüfungsleistung 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 35 Konsolidiertes Schema der Universitätsdatenbank

36 36 Logische Datenmodelle Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell

37 37 Hierarchisches Modell Vorlesung VorlNrTitelSWS Student MatrNrNameSemester Dozent PersNrNameRangRaum MustermannStochastikVJavaVStadjeDVogtD SchreinerDWackerSZahlentheorieVVogtD S Ausprägung (S = Student, V = Vorlesung, D = Dozent): Schema:

38 38 COURSE#TITLEDESCRIPN COURSE COURSE#TITLE PREREQ OFFERING LOCATIONDATEFORMAT EMP#NAMEEMP#NAMEGRADE STUDENTTEACHER Schema im Hierarchischen Modell

39 39 M 23 COURSE Dynamics CalculusM 19 TrigonometryM 16 PREREQ Oslo750106F 2 OFFERING Dublin F 3 OFFERING Madrid730813F 3 OFFERING Sharp, R Tallis, T B STUDENT Gibbons, O A STUDENT Byrd, W B STUDENT TEACHER Ausprägung im Hierarchischen Modell

40 40 COURSE#TITLEDESCRIPN COURSE COURSE#TITLE PREREQ OFFERING LOCATIONDATEFORMAT EMP#NAMEEMP#NAMEGRADE STUDENTTEACHER Operationen im Hierarchischen Modell GU COURSE(COURSE#='M23') OFFERING (DATE='730813') if gefunden then begin GNP STUDENT if gefunden then begin write(STUDENT.NAME) GNP STUDENT end end; Welche Studenten sind im Kurs M23 am ?

41 41 Netzwerkmodell Autor Buch Simmel Der Henker Selber atmen Richtig streiken owner - Typ set - Typ member - Typ schreibt

42 42 Netzwerk mit M:N-Beziehung Student SV Vorlesung ss vs Mustermann WackerJavaStochastik Zahlentheorie

43 43 Ware NrBezeichnung Bestellung Anz Nr Person Name Wb Pb ApfelBirneTomate LehmannSchulzMeier Kettrecords mit Attribut im Netzwerkmodell

44 44 Operationen im Netzwerk-Modell FIND ANY Person FIND NEXT Bestellung WITHIN PB FIND OWNER WITHIN WB Typische Operation : Navigation durch die verzeigerten Entities

45 45 Operationen 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; ApfelBirneTomate LehmannSchulzMeier Wb Pb

46 46 Relationales Datenmodell 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 Zahlentheorie 4 Vorlesung pro Entity-Typ gibt es eine Tabelle mit Spalten benannt nach den Attributen.

47 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 ANDHoert.VorNr= Vorlesung.VorNr ANDVorlesung.Titel= 'Zahlentheorie'

48 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 49 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; Beispiel für objektorientierte Modellierung


Herunterladen ppt "1 Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück"

Ähnliche Präsentationen


Google-Anzeigen