210 likes | 311 Views
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.
E N D
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 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
Was passiert wenn jemand mehr als eine Telefonnummer hat? • (1 min; jeder für sich mit Zettel und Stift) Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt? • (1 min; jeder für sich mit Zettel und Stift) Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
RM: Fremdschlüssel • Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation. Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
Ausprägung von Professoren und Vorlesungen lesen Professoren Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
Vorsicht: So geht es NICHT lesen Professoren Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
Ausprägung der Beziehung hören hören Studenten Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: 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 Datenbanken, SS 12 Kapitel 4: 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ätsbed.: TECHNIKER.ID subsetofANGESTELLTE.ID, usw. • Instanzenzugriff erfordert implizite oder explizite Verbundoperationen • :: Problembeispiel: Finde alle Spezialgebiete Datenbanken, SS 12 Kapitel 4: 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 ANGESTELLTEN Datenbanken, SS 12 Kapitel 4: 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 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells