340 likes | 492 Vues
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. Kapitel 2. Daten- und Informationsmodellierung.
E N D
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
Kapitel 2 Daten- und Informationsmodellierung
Informationsmodellierung Objekte " Miniwelt " • 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 Zusammenhänge Attribute Gegenstände Sachverhalte Formalisierung Informationen Tatsachen Beziehungen Personen Vorgänge, Veränderungen.. 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
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
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
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
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
Assoziationen N:1 lesen Professoren Vorlesungen 1 * • Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, PersNr ) • 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! 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 lesen Professoren Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
Vorsicht: So geht es NICHT lesen Professoren Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung
Vorsicht: So geht es NICHT: FolgenAnomalien • 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
N:M Assoziationen hören Studenten 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 hören Studenten 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 1 • 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 • Professoren ( PersNr, Name, Rang, Raum ) • Studenten ( MatrNr, Name, Semester ) • Seminarthemen ( Titel ) • Belegung ( MatrNr, PersNr, Titel, Vortragsdatum, Raum ) • .. weitere Alternativen möglich Seminarthemen Titel 0..1 0..* 1 Studenten 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
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 Beamte TV-L Gruppe Techniker Wiss. Mitarbeiter Erfahrung Diplom Spezialgebiet Grundlagen der Datenbanken, WS 08/09 Kapitel 3: Grundlagen des Relationalen Modells
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. 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.
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 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 Note N Studenten 1 ablegen Prüfungen PrüfTeil N N MatrNr umfassen abhalten PersNr VorlNr M M Vorlesungen 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]} 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