1 / 34

Relationale und Objekt-relationale Datenbanken

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.

Download Presentation

Relationale und Objekt-relationale Datenbanken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Kapitel 2 Daten- und Informationsmodellierung

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

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

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

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

  7. Kapitel 3 Grundlagen des relationalen Datenmodells

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

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

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

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

  12. Ausprägung von Professoren und Vorlesungen lesen Professoren Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

  13. Vorsicht: So geht es NICHT lesen Professoren Vorlesungen 1 * Grundlagen der Datenbanken, WS 08/09 Kapitel 2: Daten- und Informationsmodellierung

  14. Vorsicht: So geht es NICHT: FolgenAnomalien • 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related