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 1 Kapitel 2 Prof. Dr. Steffen Staab Dr. Dr. Sergej Sizov Daten- und Informationsmodellierung ISWeb – Information Systems & Semantic Web Informationsmodellierung Objekte " Miniwelt " Zusammenhänge Sachverhalte Informationen Personen Attribute Gegenstände Formalisierung Tatsachen 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 3 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 4 Entity/Relationship-Modellierung (ERM) Konzepte: MatrNr Name Semester • Entity-Mengen • Beziehungsmengen Studenten (Relationship-Mengen) • Attribute Hörer • Wertebereiche • Primärschlüssel hören • unterstützt die Abstraktionskonzepte der Klassifikation und Aggregation Lehrveranstaltung • graphische Darstellung durch Diagramme Vorlesungen • zahlreiche Erweiterungsvorschläge entwickelt von P. P. Chen (ACM Transactions on Database Systems 1976) Grundlagen der Datenbanken, WS 08/09 VorlNr Titel Kapitel 2: Daten- und Informationsmodellierung SWS 5 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 6 Kapitel 3 Prof. Dr. Steffen Staab Dr. Dr. Sergej Sizov Grundlagen des relationalen Datenmodells ISWeb – Information Systems & Semantic Web 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 8 Telefonbuch Name Straße Mickey Mouse Main Street Minnie Mouse Broadway Donald Duck Broadway Telefon# 4711 94725 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 9 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 10 Assoziationen N:1 Professoren lesen 1 PersNr Name Rang Raum * Vorlesungen VorlNr Titel SWS 1. Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, PersNr ) 2. Besser: Verwendung von zwei Relationen Professoren ( PersNr, Name, Rang, Raum ) 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! Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells 11 Ausprägung von Professoren und Vorlesungen PersNr 2125 2126 2127 2133 2134 2136 2137 Vorlesungen VorlNr Titel SWS Gelesen Professoren Von Name Rang Raum 5001 Grundzüge 4 2137 Sokrates C4 226 5041 Ethik 4 2125 Russel C4 232 5043 Erkenntnistheorie 3 2126 Kopernikus C3 310 5049 Mäeutik 2 2125 Popper C3 52 4052 Logik 4 2125 Augustinus C3 309 5052 Wissenschaftstheorie 3 2126 Curie C4 36 5216 Bioethik 2 2126 Kant C4 7 5259 Der Wiener Kreis 2 2133 5022 Glaube und Wissen 2 2134 4630 Die 3 Kritiken 4 2137 Professoren Grundlagen der Datenbanken, WS 08/09 lesen 1 * Vorlesungen Kapitel 2: Daten- und Informationsmodellierung 12 Vorsicht: So geht es NICHT Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2125 Sokrates C4 226 2125 Sokrates C4 226 ... ... ... ... 2134 Augustinus C3 309 2136 Curie C4 36 Professoren Grundlagen der Datenbanken, WS 08/09 liest 5041 5049 4052 ... 5022 ?? Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 4 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 4 5052 Wissenschaftstheorie 3 5216 Bioethik 2 5259 Der Wiener Kreis 2 5022 Glaube und Wissen 2 4630 Die 3 Kritiken 4 lesen 1 * Vorlesungen Kapitel 2: Daten- und Informationsmodellierung 13 Vorsicht: So geht es NICHT: FolgenAnomalien Professoren PersNr Name Rang 2125 Sokrates C4 2125 Sokrates C4 2125 Sokrates C4 ... ... ... 2134 Augustinus C3 2136 Curie C4 Raum 226 226 226 ... 309 36 liest 5041 5049 4052 ... 5022 ?? Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 4 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 4 5052 Wissenschaftstheorie 3 5216 Bioethik 2 5259 Der Wiener Kreis 2 5022 Glaube und Wissen 2 4630 Die 3 Kritiken 4 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 14 N:M Assoziationen Studenten MatrNr Name Semester hören * * Vorlesungen VorlNr Titel SWS 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. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung 15 Ausprägung der Beziehung hören hören MatrNr VorlNr 26120 5001 27550 5001 27550 4052 28106 5041 28106 5052 28106 5216 Studenten MatrNr ... 26120 ... 27550 ... ... ... Studenten MatrNr Name Semester Grundlagen der Datenbanken, WS 08/09 hören * * Vorlesungen VorlNr ... 5001 ... 4052 ... ... ... Vorlesungen VorlNr Titel SWS Kapitel 2: Daten- und Informationsmodellierung 16 Eine Klasse mit N:M Assoziation * Voraussetzungen * Vorlesung obligatorisch VorlNr Titel SWS 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. Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung 17 Eine Klasse mit 1:1 Assoziation 1 Ehe Seit Person 1 PNr Name Geburtsdatum 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) Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells 18 N-stellige Assoziationen Seminarthemen Titel 0..1 Studenten 0..* MatrNr Name Semester 1 Belegung Vortragsdatum Raum Professoren PersNr Name Rang Raum Professoren ( PersNr, Name, Rang, Raum ) Studenten ( MatrNr, Name, Semester ) Seminarthemen ( Titel ) Belegung ( MatrNr, PersNr, Titel, Vortragsdatum, Raum ) .. weitere Alternativen möglich Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells 19 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. Gebäude Räume GebNr Höhe RaumNr Größe 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 Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells 20 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 21 Generalisierung in RA Lösungsmöglichkeit 1: vertikale Partitionierung jede Instanz wird entsprechend der Klassenattribute in der IS-AHierarchie 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 22 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 23 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 24 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 ) 25 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-ManagementSysteme. Addison Wesley, 1994. 26 D. Maier: The Theory of Relational Databases. Computer Science Press. 1983. 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. 27 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 28 Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung 29 Schwache, existenzabhängige Entities Höhe GebNr Gebäude RaumNr Größe N 1 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 30 Schwache, existenzabhängige Entities Höhe GebNr Gebäude RaumNr Größe N 1 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 31 Relationale Modellierung schwacher Entitytypen Studenten 1 ablegen N Note Prüfungen PrüfTeil N MatrNr umfassen VorlNr M Vorlesungen N abhalten M PersNr Professoren 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]}32 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 33 Relationale Modellierung der Generalisierung Fachgebiet Assistenten is_a Professoren Raum Rang Angestellte PersNr Name Angestellte: {[PersNr, Name]} Professoren: {[PersNr, Rang, Raum]} Assistenten: {[PersNr, Fachgebiet]} Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung 34