K4 Grundlagen des Relationenmodells Flashcards
GDB K4 Grundlagen des Relationenmodells
Welche Datenstruktur hat das Relationenmodell?
Relation (Tabelle)
- einzige Datenstruktur
- alle Informationen ausschließlich durch (atomare) Werte dargestellt
- zeitinvariante Typinformation: Relationenschema
GDB K4 Grundlagen des Relationenmodells
Welches sind die Operatoren auf Relationen beim Relationenmodell?
- Vereinigung, Differenz (Schemata müssen kompatibel sein)
- Kartesisches Produkt
- Projektion
- Selektion
- zusätzlich: Grundoperationen (Einfügen, Löschen, Ändern)
GDB K4 Grundlagen des Relationenmodells
Was gilt für Beziehungen beim Relationenmodell?
- werden durch Werte dargestellt
◼ Primär-/Fremdschlüssel
◼ Gewährleistung von referentieller Integrität
◼ können in SQL automatisch gewartet werden (referentielle Aktionen) - Fremdschlüssel verbindet zwei Relationen ⇒ Beziehung binär
- Komplexere Beziehungen durch Kombination mehrerer Fremdschlüssel
GDB K4 Grundlagen des Relationenmodells
Was ist die Entwurfstheorie beim Relationenmodell?
- Normalformenlehre (wünschenswerte und zweckmäßige Relationen)
- Synthese von Relationen
GDB K4 Grundlagen des Relationenmodells
Vergleich ERM und RM
GDB K4 Grundlagen des Relationenmodells
mathematische Notation und Notation für Datenbank-Relationen
Relation kann als Tabelle dargestellt werden
Relation ist eine Menge
- Garantie der Eindeutigkeit der Zeilen/Tupel durch Primärschlüssel (und ggf. mehrere Schlüsselkandidaten)
GDB K4 Grundlagen des Relationenmodells
Gundregeln des Relationenmodells
- Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt der Miniwelt
- Die Ordnung der Zeilen ist ohne Bedeutung; durch ihre Reihenfolge wird keine für den Benutzer relevante Information ausgedrückt
- Die Ordnung der Spalten ist ohne Bedeutung, da sie einen eindeutigen Namen (Attributnamen) tragen
- Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement
- Alle für den Benutzer bedeutungsvollen Informationen sind ausschließlich durch Datenwerte ausgedrückt
- Es existieren ein Primärschlüssel und ggf. weitere Schlüsselkandidaten
GDB K4 Grundlagen des Relationenmodells
Wie wird im Relationenmodell „relationenübergreifende“ Information dargestellt?
Fremdschlüssel, Definition:
- Ein Fremdschlüssel bzgl. einer Relation R1 ist ein Attribut oder eine Attributkombination FS einer Relation R2, für das/die zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich Null) von FS muss ein gleicher Wert des Primärschlüssels PS oder eines Schlüsselkandidaten SK in irgendeinem Tupel von Relation R1 vorhanden sein.
Bemerkungen zu Fremdschlüssel:
- Fremdschlüssel und zugehöriger Primärschlüssel (Schlüsselkandidat) tragen wichtige inter-relationale (manchmal auch intra-relationale) Informationen. Sie sind auf dem gleichen Wertebereich definiert (vergleichbar und vereinigungsverträglich). Sie gestatten die Verknüpfung von Relationen mit Hilfe von Relationenoperationen.
- Fremdschlüssel können Nullwerte aufweisen, wenn sie nicht Teil eines Primärschlüssels sind und wenn nicht explizit NOT NULL spezifiziert ist.
- Schlüsselkandidaten können Nullwerte aufweisen, wenn nicht explizit NOT NULL spezifiziert ist.
- Ein Fremdschlüssel ist zusammengesetzt, wenn der zugehörige Primärschlüssel (Schlüsselkandidat) zusammengesetzt ist.
- Eine Relation kann mehrere Fremdschlüssel besitzen, welche die gleiche oder verschiedene Relationen referenzieren.
- Referenzierte und referenzierende Relation sind nicht notwendigerweise verschieden.
- Zyklen sind möglich.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Kriterien
- Informationserhaltung, d.h. möglichst genaue Übereinstimmung der Semantik (Übernahme aller spezifizierten Eigenschaften)
- Minimierung der Redundanz
- Minimierung des Verknüpfungsaufwandes
- Natürlichkeit der Abbildung
- Keine Vermischung von Objekten
- Verständlichkeit
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: 2 Entity-Typen mit (1:n)-Verknüpfung
Regel: (1:n)-Beziehungen lassen sich ohne eigene Relation darstellen. Hierzu wird in der abhängigen Relation (mit Beziehungskardinalität 1) der Primärschlüssel der referenzierten Relation als Fremdschlüssel verwendet.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: 1 Entity-Typ mit (1:1)-Verknüpfung
Regel: Der Primärschlüssel des zugehörigen Entity-Typs wird in zwei Rollen verwendet. Deshalb ist eine Umbenennung erforderlich.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: 1 Entity-Typ mit (n:m)-Verknüpfung
Regel: Ein (n:m)-Relationship-Typ muss durch eine eigene Relation dargestellt werden. Der Primärschlüssel des zugehörigen Entity-Typs wird in zwei Rollen verwendet. Deshalb ist eine Umbenennung erforderlich.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: mehrere (>2) Entity-Typen mit (n:m)-Verknüpfung
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Mehrwertige (zusammengesetzte) Attribute
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung
- RM sieht keine Unterstützung der Abstraktionskonzepte vor
- keine Maßnahmen zur Vererbung (von Struktur, Integritätsbedingungen, Operationen)
- „Simulation“ der Generalisierung eingeschränkt möglich
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung: Hausklassenmodell
- Jede Instanz ist genau einmal und vollständig in ihrer Hausklasse gespeichert
- Es wird eine horizontale Partitionierung der DB-Instanzen erreicht
Eigenschaften:
- niedrige Speicherungskosten und keine Änderungsanomalien
- Eindeutigkeit von IDs muss über Relationen hinweg gewährleistet werden
- Retrieval kann rekursives Suchen in Unterklassen erfordern
- explizite Rekonstruktion durch Relationenoperationen (π, ∪)
Projektion: unärer Operator der Relationenalgebra zur Auswahl von Spalten/Attributen.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung: Partitionierungs-Modell
- Jede Instanz wird entsprechend der Klassenattribute in der Is-a-Hierarchie zerlegt und in Teilen in den zugehörigen Klassen gespeichert
- Es wird nur das ID-Attribut dupliziert (evtl. Verwendung als Fremdschlüssel)
- Es wird eine vertikale Partitionierung in der DB erzielt
Eigenschaften
- geringfügig erhöhte Speicherungskosten, aber hohe Aufsuch- und Aktualisierungskosten
- Integritätsbedingungen: TECHNIKER.ID ⊆ ANGESTELLTE.ID, usw. (Gewährleistung durch Verwendung von Fremdschlüsseln)
- Instanzenzugriff erfordert implizite oder explizite Verbundoperationen (⋈)
Join/Verbund: binärer Operator der Relationenalgebra zur Verbindung der Tupeln der Argumentrelationen über gleiche Attributwerte.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung: 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
Eigenschaften
- sehr hoher Speicherplatzbedarf
- Auftreten von Änderungsanomalien
Zur Vermeidung: Aufwendige (evtl. synchrone) Änderungen von redundant gespeicherten Daten notwendig - sehr einfaches Retrieval, da nur die Zielklasse (z. B. ANGESTELLTE) aufgesucht werden muss
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung: Modellierung in einer einzigen Relation
- Die Attribute aller Entity-Typen werden in einer Relation zusammengefasst
- Spezielle Attribute um Typ-Zugehörigkeit zu modellieren
Eigenschaften
- Sehr viele Nullwerte (⇒ großer Speicherbedarf)
- Keine Redundanz
- Keine intuitive Modellierung da verschiedene Entity-Typen in einer Relation
- Retrieval kann Scan großer Tupelmengen erfordern inkl. Selektion (σ) auf Zugehörigkeitsattribut
Selektion: unärer Operator der Relationenalgebra zur Auswahl von Zeilen/Tupeln.
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung mit nicht-disjunkten Untertypen
- Hausklassenmodell nicht mehr eindeutig definiert
- Variante 1: Eine Relation pro Entity-Typ.
Eine Instanz muss in mehreren Relationen gespeichert werden - Variante 2: Eindeutige Relationen-Zugehörigkeit für jede Instanz.
Eine Relation pro Kombination von nicht-disjunkten Untertypen
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Generalisierung Überblick
- Generalisierung mit vererbten n:m Relationship-Typen:
Modellierung durch Fremdschlüssel
Ein Fremdschlüssel zeigt auf eine konkrete Relation
Hausklassenmodell:
- Eine Relation für den Relationship-Typ pro Unterklasse (der Fremdschlüssel zeigt jeweils auf die zugehörige Unterklasse)
Partitionierungs-Modell oder volle Redundanz:
- Insgesamt eine Relation für den Relationship-Typen (der Fremdschlüsse zeigt auf die „oberste“ Unterklasse)
Modellierung in einer einzigen Relation:
- Insgesamt eine Relation für den Relationship-Typen
- Integritätsbedingungen, die gewährleisten, dass nur Tupel mit passenden Werten in den Zugehörigkeitsattributen im Fremdschlüssel referenziert werden können
GDB K4 Grundlagen des Relationenmodells
Abbildung ERM-RM: Zusammenfassung der Abbildungskonzepte
Datenstruktur: Relation (Tabelle)
- einzige Datenstruktur (neben atomaren Werten)
- alle Informationen ausschließlich durch Werte dargestellt
- Integritätsbedingungen auf/zwischen Relationen
Abbildung von Beziehungen durch PS/SK – FS
- Eine (n:1)-Verknüpfung wird in der Regel auf eine eigene Relation abgebildet
- (n:m)-Verknüpfungen sind durch eine eigene Relation darzustellen
- Verknüpfungen mit mehr als zwei Rollen müssen im Prinzip durch mehrere (n:1)Verknüpfungen dargestellt werden
Abstraktionskonzepte
- keine direkte Bereitstellung der Abstraktionskonzepte, z.B. Generalisierung
- Verschiedene Modelle zur Simulation einer Generalisierung
GDB K4 Grundlagen des Relationenmodells
Relationenalgebra - Operatoren: Algebra und Operationen
- Algebra: nicht leere Menge von Objekten + Familie von Operationen
Operationen (unär, binär)
- Klassische Mengenoperationen:
◼ Vereinigung, Differenz, kartesisches Produkt
◼ ableitbar: Durchschnitt - Relationenoperationen:
◼ Projektion, Restriktion (Selektion), Umbenennung
◼ ableitbar: Verbund (Join), Division
Auswahlvermögen entspricht Relationenkalkül („relational vollständig“)
GDB K4 Grundlagen des Relationenmodells
Relationenalgebra - Operatoren: Selektion
auch Restriktion σP