1 / 22

Kapitel 4

Kapitel 4. Grundlagen des relationalen Datenmodells. Lernziele. . Grundbegriffe des Relationenmodells Relationale Invarianten, insbesondere Vorkehrungen zur Wahrung der referentiellen Integrität Abbildung von UML-Diagrammen in Relationenschema . Basisdefinitionen.

beatrix
Download Presentation

Kapitel 4

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. Kapitel 4 Grundlagen des relationalen Datenmodells

  2. Lernziele  • Grundbegriffe des Relationenmodells • Relationale Invarianten, insbesondere Vorkehrungen zur Wahrung der referentiellen Integrität • Abbildung von UML-Diagrammen in Relationenschema Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  3. Basisdefinitionen • Seien D1, D2, ..., Dn Domänen (~ Wertebereiche oder Typen) • 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) Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  4. Telefonbuch: {[Name: string, Adresse: string, Telefon#:integer]} • 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  5. 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  6. Was passiert wenn jemand mehr als eine Telefonnummer hat? • (1 min; jeder für sich mit Zettel und Stift) Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  7. Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt? • (1 min; jeder für sich mit Zettel und Stift) Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  8. RM: Fremdschlüssel • Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation. Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  9. Abbildung UML - RM Assoziation Klasse 1 Klasse 2 • Kriterien • Informationserhaltung • Minimierung der Redundanz • Minimierung des Verknüpfungsaufwandes • aber auch: • Natürlichkeit der Abbildung • keine Vermischung von Objekten • Verständlichkeit • Allgemeine Regeln: • Jede Klasse muss als eigenständige Relation (Tabelle) mit einem eindeutigen Primärschlüssel definiert werden. • Assoziationen können als eigene Relationen definiert werden, wobei die Primärschlüssel der zugehörigen Klassen als Fremdschlüssel zu verwenden sind. • Wichtig -> Nur Referenzen auf existierende Schlüssel a..b c..d Relation 2 Relation 1 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

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

  11. Ausprägung von Professoren und Vorlesungen lesen Professoren Vorlesungen 1 * Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  12. Vorsicht: So geht es NICHT lesen Professoren Vorlesungen 1 * Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  13. 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  14. N:M Assoziationen • Verwendung von drei Relationen Studenten ( MatrNr, Name, Semester ) Vorlesungen ( VorlNr, Titel, SWS ) hören ( ->Vorlesungen.VorlNr, ->Studenten.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. hören Studenten Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  15. Ausprägung der Beziehung hören hören Studenten Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  16. Eine Klasse mit N:M Assoziation * • Darstellungsmöglichkeit: Vorlesung (VorlNr, Titel, SWS) Voraussetzungen (NeueVorlNr->Vorlesung.VorlNr, AlteVorlNr->Vorlesung.VorlNr, 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  17. 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  18. 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ätsbed.: TECHNIKER.ID subsetofANGESTELLTE.ID, usw. • Instanzenzugriff erfordert implizite oder explizite Verbundoperationen • :: Problembeispiel: Finde alle Spezialgebiete Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  19. 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 ANGESTELLTEN Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  20. Generalisierung in RA (2)  • 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 Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  21. Generalisierung in RA (3)  • Lösungsmöglichkeit 4: inheritance-by-attribute • Es gibt nur eine Tabelle die alles enthält • Eine zusätzliche Spalte gibt den Typ an Uni-Angehörige (ID, Typ, Name, BAT, Erfahrung, Diplom, Spezialgebiet, …) • Eigenschaften • Es kann leicht zu Inkonsistenz kommen • Potentiell sind sehr viele Zellen nicht besetzt • Erweiterungen sind etwas komplizierter zu realisieren • Hierarchieinformation geht verloren • Retrieval ist einfach • Nicht geeignet für komplexe Hierarchien mit vielen unterschiedlichen Attributen Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

  22. Zusammenfassung • Das Relationenmodell besteht aus Tabellen. • Der Primärschlüssel bestimmt den Inhalt des • Tupels. Daher muss er in der Relation einzigartig • sein. (Entity-Integrität) • Ein Fremdschlüssel muss auf einen existierenden Schlüssel zeigen oder null sein. (Referentielle Integrität) • UML-Klassendiagramme können in das Relationenmodell überführt werden. Etwas Probleme machen Assoziationen und Generalisierung. Datenbanken, WS 12/13 Kapitel 4: Grundlagen des Relationalen Modells

More Related