Relationale und Objekt-relationale Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
Datenmodellierung.
Advertisements

Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Grundlagen des relationalen Modells
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Deduktive Datenbanken
XML-Datenmodellierung und Web-Services
Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Das Relationale Modell
Kapitel 3: Logische Datenmodelle
Grundlagen des relationalen Datenmodells
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
XML: Extensible Markup Language
Vorlesung: Prof. Norbert Fuhr
Einführung in Informationssysteme
SQL standardisierte Datendefinitions (DDL)- Datenmanipulations (DML)-
Ein Entity Relationship Diagramm zur ADB/NDB
Das Entity-Relationship-Modell
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenbanksysteme Schwerpunkte: Datenbanksystem (DBS): Datenbank (DB):
Franziska Schmidt Sarah Ahlheit
Datenbanken für Mathematiker
Daten- und Informationsmodellierung
Einführung in Datenbanken
Kapitel 5 SQL DDL + DML.
Kapitel 2 SQL Anfragen.
Daten- und Informationsmodellierung
Kapitel 2 SQL Anfragen.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Kapitel 4 SQL: Grundlagen.
Kapitel 2: Konzeptuelle Modellierung
Fachbereich Mathematik/Informatik Universität Osnabrück
Historische Entwicklung relationaler DBMS
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Standardisierte -Datendefinitions (DDL)- -Datenmanipulations (DML)- -Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale.
Historische Entwicklung relationaler DBMS
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
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.
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.
Vorlesung #4 SQL (Teil 1).
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)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Relationales Datenmodell und DDL
Relationale Datenbanken I
Grundlagen des Relationenmodells
Datenbanken und Informationssysteme
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Vorlesung #2 Das relationale Modell (Teil 1)
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Gerhard Röhner September 2012
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Vom Konzept zur Datenbank
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.
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 #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
Grundlagen Datenbanken (GDB)
 Präsentation transkript:

Relationale und Objekt-relationale Datenbanken Daten- und Informationsmodellierung Relationales Datenmodell SQL Objekt-relationale Datenbanken Vorlesung “Grundlagen der Datenbanken” von Prof. Dr. Staab und Dr. Sizov Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Daten- und Informationsmodellierung Kapitel 2 Daten- und Informationsmodellierung

Informationsmodellierung Objekte " Miniwelt " Zusammenhänge Attribute Gegenstände Sachverhalte Formalisierung Informationen Tatsachen Personen Beziehungen Vorgänge, Veränderungen.. Darstellungselemente + Regeln: Objekte und Beziehungen (Relationships) Klassen von Objekten / Beziehungen Eigenschaften (Attribute) Informationen über Objekte und Beziehungen nur wenn: relevant unterscheidbar und identifizierbar, selektiv beschreibbar Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Abstraktionskonzepte Informations- und Datenmodelle basieren auf drei grundlegenden Abstraktionskonzepten: Klassifikation: fasst Objekte (Entities, Instanzen) mit gemeinsamen Eigenschaften zu einem neuen (Mengen-) Objekt (Entity-Menge, Klasse, Objekttyp) zusammen. – Instanzen/Objekten einer Klasse unterliegen gleicher Struktur (Attribute), gleichen Integritätsbedingungen, gleichen Operationen – mathematisch: Mengenbildung Aggregation: Zusammenfassung potentiell unterschiedlicher Teilobjekte (Komponenten) zu neuem Objekt – mathematisch: Bildung von kartesischen Produkten Generalisierung: Teilmengenbeziehungen zwischen Elementen verschiedener Klassen – mathematisch: Bildung von Potenzmengen (bzw. Teilmengen) – wesentlich: Vererbung von Eigenschaften an Teilmengen Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Entity/Relationship-Modellierung (ERM) Konzepte: Entity-Mengen Beziehungsmengen (Relationship-Mengen) Attribute Wertebereiche Primärschlüssel unterstützt die Abstraktionskonzepte der Klassifikation und Aggregation graphische Darstellung durch Diagramme zahlreiche Erweiterungsvorschläge entwickelt von P. P. Chen (ACM Transactions on Database Systems 1976) MatrNr Name Semester Studenten Hörer hören Lehrveranstaltung Vorlesungen VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Minimale Menge von identifizierenden Attributen Schlüssel Minimale Menge von identifizierenden Attributen {Matrikelnummer} {Vorname, Nachname, Geburtsdatum, Geburtsort} Oft künstlicher Schlüssel bestehend aus einem Attribut (Vorlesungsnummer, Kundennummer, Personalausweißnummer,…) Mehrere Schlüssel möglich; dann Auswahl eines Primärschlüssel Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Grundlagen des relationalen Datenmodells Kapitel 3 Grundlagen des relationalen Datenmodells

Relationales Datenmodell Seien D1, D2, ..., Dn Domänen (~ Wertebereiche) Relation: R  D1 x ... x Dn Beispiel: Telefonbuch  string x string x integer Tupel: t  R Beispiel: t = („Mickey Mouse“, „Main Street“, 4711) Schema: legt die Struktur der gespeicherten Daten fest Beispiel: Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]} Darstellungsmöglichkeit für R: n-spaltige Tabelle (Grad der Relation: n) Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 Ausprägung: der aktuelle Zustand der Datenbasis Kardinalität: Anzahl der Sätze (Tupel) in der Datenbasis Schlüssel: minimale Menge von Attributen, deren Werte ein Tupel eindeutig identifizieren Primärschlüssel: wird unterstrichen Einer der Schlüsselkandidaten wird als Primärschlüssel ausgewählt Hat eine besondere Bedeutung bei der Referenzierung von Tupeln Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Die Ordnung der Zeilen ist ohne Bedeutung RM: Grundregeln Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt (Entity) der Miniwelt Die Ordnung der Zeilen ist ohne Bedeutung Die Ordnung der Spalten ist ohne Bedeutung, da sie eindeutigen Namen (Attributnamen) tragen Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement Alle für Benutzer relevanten Informationen sind ausschließlich durch Datenwerte ausgedrückt Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Verwendung von drei Relationen Assoziationen N:1 Professoren lesen Vorlesungen 1 * Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, PersNr ) Besser: Verwendung von zwei Relationen Vorlesungen ( VorlNr, Titel, SWS, PersNr ) Regel: Bei n:1 Assoziationen können Relationen mit gleichem Schlüssel zusammengefasst werden - aber nur diese und keine anderen! PersNr Name Rang Raum VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Ausprägung von Professoren und Vorlesungen VorlNr Titel SWS Gelesen Von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Professoren lesen Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Vorsicht: So geht es NICHT Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Professoren lesen Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Vorsicht: So geht es NICHT: FolgenAnomalien Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Update-Anomalie: Was passiert wenn Sokrates umzieht Lösch-Anomalie: Was passiert wenn „Glaube und Wissen“ wegfällt Einfügeanomalie: Curie ist neu und liest noch keine Vorlesungen Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Verwendung von drei Relationen N:M Assoziationen Studenten hören Vorlesungen Verwendung von drei Relationen Studenten ( MatrNr, Name, Semester ) Vorlesungen ( VorlNr, Titel, SWS ) hören ( VorlNr, MatrNr ) Regel: Eine n:m-Assoziation muss durch eine eigene Relation dargestellt werden. Die Primärschlüssel der zugehörigen Klassen treten als Fremdschlüssel auf. * * MatrNr Name Semester VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Ausprägung der Beziehung hören MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 Studenten MatrNr ... 26120 27550 Vorlesungen VorlNr ... 5001 4052 Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Eine Klasse mit N:M Assoziation * Darstellungsmöglichkeit: Vorlesung (VorlNr, Titel, SWS) Voraussetzungen (NeueVorlNr, AlteVorlNr, obligatorisch) Regel: Die n:m-Assoziation muss auch hier durch eine eigene Relation dargestellt werden. Primärschlüssel der zugehörigen Klasse soll auch als Fremdschlüssel auftreten. Voraussetzungen Vorlesung * obligatorisch VorlNr Titel SWS Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Eine Klasse mit 1:1 Assoziation Darstellungsmöglichkeit: Person (PNr, Name, Geburtsdatum) Ehe (PNr, Gatte, Seit) Verwendung von einer Relation: Person (PNr_Ehemann, Name_Ehemann, GD_Ehemann, PNr_Ehefrau, Name_Ehefrau, GD_Ehefrau, Seit) Alternative (wie bei N:1 Relationen): Person (PNr, Name, Geburtsdatum, PNr_Gatte, Seit) Ehe Person 1 Seit PNr Name Geburtsdatum Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

N-stellige Assoziationen Seminarthemen Professoren ( PersNr, Name, Rang, Raum ) Studenten ( MatrNr, Name, Semester ) Seminarthemen ( Titel ) Belegung ( MatrNr, PersNr, Titel, Vortragsdatum, Raum ) .. weitere Alternativen möglich Titel 0..1 Studenten 0..* 1 Professoren MatrNr Name Semester PersNr Name Rang Raum Belegung Vortragsdatum Raum Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Schwache Entitymengen Schwache Entitäten sind Entitäten, die von einer anderen, übergeordneten Entität abhängig sind. Sie sind oft nur in Kombination mit dem Schlüssel der übergeordneten Entität eindeutig identifizierbar. Beziehung zwischen "starkem" und schwachem Typ ist immer 1:* (oder 1:1 in seltenen Fällen) Warum kann das keine * : * Beziehung sein? RaumNr ist nur innerhalb eines Gebäudes eindeutig Schlüssel ist: GebNr und RaumNr Gebäude Räume GebNr Höhe RaumNr Größe Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

RM sieht keine Unterstützung der Abstraktionskonzepte vor Generalisierung RM sieht keine Unterstützung der Abstraktionskonzepte vor keine Maßnahmen zur Vererbung (von Struktur, Integritätsbedingungen, Operationen) „Simulation“ der Generalisierung und Aggregation eingeschränkt möglich Generalisierungsbeispiel: Uni-Angehörige ID Name Angestellte TV-L Gruppe Beamte Techniker Wiss. Mitarbeiter Erfahrung Diplom Spezialgebiet Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Lösungsmöglichkeit 1: vertikale Partitionierung Generalisierung in RA Lösungsmöglichkeit 1: vertikale Partitionierung jede Instanz wird entsprechend der Klassenattribute in der IS-A-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen (Relationen) gespeichert. nur das ID-Attribut wird dupliziert Uni-Angehörige (ID, Name) Angestellte (ID, TV_L_Gruppe) Techniker (ID, Erfahrung) WissMA (ID, Diplom, Spezialgebiet) Beamte (ID, … ) Eigenschaften geringfügig erhöhte Speicherungskosten, aber hohe Aufsuch- und Aktualisierungkosten Integritätsbedingungen: TECHNIKER.ID  ANGESTELLTE.ID, usw. Instanzenzugriff erfordert implizite oder explizite Verbundoperationen :: Problembeispiel: Finde alle TECHNIKER-Daten Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Generalisierung in RA (1) Lösungsmöglichkeit 2: horizontale Partitionierung jede Instanz ist genau einmal und vollständig in ihrer „Hausklasse“ gespeichert. keinerlei Redundanz Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften niedrige Speicherungskosten und keine Änderungsanomalien Eindeutigkeit von ID zwischen Relationen aufwendiger zu überwachen Retrieval kann rekursives Suchen in Unterklassen erfordern. :: Problembeispiel: Finde alle ANGESTELLTE Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Generalisierung in RA (3) Lösungsmöglichkeit 3: volle Redundanz eine Instanz wird wiederholt in jeder Klasse, zu der sie gehört, gespeichert. sie besitzt dabei die Werte der Attribute, die sie geerbt hat, zusammen mit den Werten der Attribute der Klasse Uni-Angehörige (ID, Name) Angestellte (ID, Name, BAT) Techniker (ID, Erfahrung, Name, BAT) WissMA (ID, Diplom, Spezialgebiet, Name, BAT) Beamte (ID, … ) Eigenschaften höherer Speicherplatzbedarf und Auftreten von Änderungsanomalien. einfaches Retrieval, da nur die Zielklasse (z. B. ANGESTELLTE) aufgesucht werden muss Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells

Folgendes Buch liegt der Vorlesung zugrunde: Alfons Kemper und Andre Eickler Oldenbourg Verlag, München, 2006 6. aktualisierte und erweiterte Auflage Die Folien wurden weitgehend von den Autoren übernommen. (Siehe auch http://www.db.fmi.uni-passau.de/publications/books/DBMSeinf )

Literatur A. Kemper , A. Eickler Datenbanksysteme – Eine Einführung, 6. aktualisierte und erweiterte Auflage. Oldenbourg Verlag, 2006. http://www.db.fmi.uni-passau.de/publications/books/DBMSeinf A. Silberschatz, H. F. Korth und S. Sudarshan Database System Concepts, 3. Auflage, McGraw-Hill Book Co., 1997. R. Elmasri, S.B. Navathe: Fundamentals of Database Systems, Benjamin Cummings, Redwool City, Ca, USA, 2. Auflage, 1994 G. Vossen : Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Addison Wesley, 1994.

D. Maier: The Theory of Relational Databases. Computer Science Press S. M. Lang, P.C. Lockemann: Datenbankeinsatz. Springer Verlage, 1995. C. Batini, S. Ceri, S.B. Navathe: Conceptual Database Design, Benjamin Cummings, Redwood City, Ca, USA, 1992. C. J. Date: An Introduction to Database Systems. McGraw-Hill, 6. Aufl., 1997. J.D. Ullmann, J. Widom: A First Course in Database Systems, McGraw Hill, 1997.

A. Kemper, G. Moerkotte: Object-Oriented Database Management: Applications in Engineering and Computer Science, Prentice Hall, 1994 E. Rahm: Mehrrechner-Datenbanksysteme. Addison-Wesley, 1994. P. Dadam: Verteilte Datenbanken und Client/Server Systeme. Springer Verlag, 1996

Grundlagen der Datenbanken, WS 08/09 Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Schwache, existenzabhängige Entities Höhe GebNr RaumNr Größe N 1 Gebäude liegt_in Räume Schwache Entitäten sind Entitäten, die von einer anderen, übergeordneten Entität abhängig sind. Sie sind oft nur in Kombination mit dem Schlüssel der übergeordneten Entität eindeutig identifizierbar. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Schwache, existenzabhängige Entities Höhe GebNr RaumNr Größe N 1 Gebäude liegt_in Räume Beziehung zwischen "starken" und schwachem Typ ist immer 1:N (oder 1:1 in seltenen Fällen) Warum kann das keine N:M-Beziehung sein? RaumNr ist nur innerhalb eines Gebäudes eindeutig Schlüssel ist: GebNr und RaumNr Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Relationale Modellierung schwacher Entitytypen Studenten ablegen Prüfungen 1 N Note PrüfTeil MatrNr Vorlesungen umfassen VorlNr abhalten Professoren PersNr M Prüfungen: {[MatrNr: integer, PrüfTeil: string, Note: integer]} umfassen: {[MatrNr: integer, PrüfTeil: string, VorlNr: integer]} abhalten: {[MatrNr: integer, PrüfTeil: string, PersNr: integer]} Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Fremdschlüssel auf ein schwaches Entity Man beachte, dass in diesem Fall der (global eindeutige) Schlüssel der Relation Prüfung nämlich MatrNr und PrüfTeil als Fremdschlüssel in die Relationen umfassen und abhalten übernommen werden muß. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

Relationale Modellierung der Generalisierung Fachgebiet Assistenten is_a Angestellte Professoren PersNr Name Raum Rang Angestellte: {[PersNr, Name]} Professoren: {[PersNr, Rang, Raum]} Assistenten: {[PersNr, Fachgebiet]} Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung