Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik

Slides:



Advertisements
Ähnliche Präsentationen
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Advertisements

Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Kapitel 3: Logische Datenmodelle
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Datenbanken Einführung.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Vorlesung: Prof. Norbert Fuhr
Einführung in Informationssysteme
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
Kapitel 2: Konzeptuelle Modellierung
Fachbereich Mathematik/Informatik Universität Osnabrück
20:00.
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Datenbank-entwicklungsprozess
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #2 Datenbankentwurf
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Freiwillige Feuerwehr der Stadt Perg
Vorlesung #10 Physische Datenorganisation
Relationales Datenmodell und DDL
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Vorlesung #2 Das relationale Modell (Teil 1)
Einführung Dateisystem <-> Datenbanksystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #1 Einführung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Grundlagen Datenbanken (GDB)
Objektorientierte Datenbanken
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 7: Grundlagen des.
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #3 ER –Modellierung (Fortsetzung)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
Vorlesung #3 ER Modellierung
Grundlagen Datenbanken (GDB)
 Präsentation transkript:

Datenbanksysteme Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

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: http://www-lehre.inf.uos/~dbs

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

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

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)

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

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 .

physikalische Speicherung Datenabstraktion Sicht 1 Sicht 2 Sicht n externe Ebene Gesamtsicht konzeptuelle Ebene physikalische Speicherung interne Ebene

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

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

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

Modellierungskonzepte externes Schema internes Datenbanksystem reale Welt konzeptuelles Schema logisches Schema

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

ER-Diagramm Vorname Nachname Mat-Nr Studienfach PLZ Name Student wohnt in Ort

ER-Diagramm Vorname Nachname Mat-Nr Studienfach PLZ Name Studenten wohnt in Orte

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)

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

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

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

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

Beispiel für Schlüsselkandidaten Adresse PLZ Ort Hausnr Straße 49080 Osnabrück Altenburger Str. 14 49080 Osnabrück Altenburger Str. 16 49080 Osnabrück Blumenhaller Weg 52 49082 Osnabrück Hochstr. 10 33699 Bielefeld Altenburger Str. 14 Schlüsselkandidat: PLZ + Straße + Hausnummer

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

Charakterisierung von Beziehungstypen 1:1-Beziehung (one-one) 1:N-Beziehung (one-many) N:1-Beziehung (many-one) N:M-Beziehung (many-many)

Binäre Beziehungen 1:1 E 1 2 E 1:N 1 2 N:1 E 1 2 N:M E 1 2

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

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

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.

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

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

Generalisierung Name Uni-Mitglieder is-a MatrNr Studenten PersNr Angestellte is-a Fachgebiet Assistenten Professoren Raum Rang

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

Aggregation

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

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

Konsolidiertes Schema der Universitätsdatenbank

Logische Datenmodelle Hierarchisches Modell Netzwerkmodell Relationales Modell Objektorientiertes Modell

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

Schema im Hierarchischen Modell COURSE# TITLE DESCRIPN COURSE PREREQ OFFERING LOCATION DATE FORMAT EMP# NAME GRADE STUDENT TEACHER

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

Operationen im Hierarchischen Modell Welche Studenten sind im Kurs M23 am 13.08.1973 ? 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;

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

Netzwerk mit M:N-Beziehung Student SV Vorlesung ss vs Mustermann Wacker Java Stochastik Zahlentheorie

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

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

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

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 653467 Erika Mustermann 875462 Willi Wacker 432788 Peter Pan Student MatNr VorNr 875462 6.712 432788 6.712 875462 6.102 Hoert VorNr Titel Umfang 6.718 Java 4 6.174 Stochastik 2 6.108 Zahlentheorie 4 Vorlesung

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'

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.

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