Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen des relationalen Datenmodells

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen des relationalen Datenmodells"—  Präsentation transkript:

1 Grundlagen des relationalen Datenmodells
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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

3 Seien D1, D2, ..., Dn Domänen (~ Wertebereiche oder Typen)
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

4 Telefonbuch Name Straße Telefon#
Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 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

5 Telefonbuch Name Straße Telefon#
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 Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

6 Was passiert wenn jemand mehr als eine Telefonnummer hat?
Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 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

7 Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt?
Telefonbuch Name Straße Telefon# Mickey Mouse Main Street 4711 Minnie Mouse Broadway 94725 Donald Duck 95672 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

8 Telefonbuch ->Personal.PersNr Telefon# Personal Name Straße PersNr
RM: Fremdschlüssel Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation. Telefonbuch ->Personal.PersNr Telefon# 00025 4711 00028 94725 Personal Name Straße PersNr Mickey Mouse Main Street 00025 Minnie Mouse Broadway 00028 Donald Duck 00030 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

9 Wichtig -> Nur Referenzen auf existierende Schlüssel
Abbildung UML - RM Klasse 1 Assoziation 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 1 Relation 2 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

10 Verwendung von drei Relationen
Assoziationen N:1 Professoren lesen Vorlesungen Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, ->Professoren.PersNr ) Besser: Verwendung von zwei Relationen 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

11 Ausprägung von Professoren und Vorlesungen
VorlNr Titel SWS Gelesen Von 5001 Grundzüge 4 2137 5041 Ethik 2125 5043 Erkenntnistheorie 3 2126 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 2133 5022 Glaube und Wissen 2134 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper 52 2134 Augustinus 309 2136 Curie 36 2137 Kant 7 Professoren lesen Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

12 Vorsicht: So geht es NICHT
Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? Professoren lesen Vorlesungen 1 * Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

13 Vorsicht: So geht es NICHT: Folgen  Anomalien
Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 5043 Erkenntnistheorie 3 5049 Mäeutik 2 4052 Logik 5052 Wissenschaftstheorie 5216 Bioethik 5259 Der Wiener Kreis 5022 Glaube und Wissen 4630 Die 3 Kritiken Professoren PersNr Name Rang Raum liest 2125 Sokrates C4 226 5041 5049 4052 ... 2134 Augustinus C3 309 5022 2136 Curie 36 ?? 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

14 Verwendung von drei Relationen
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. Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

15 Ausprägung der Beziehung hören
MatrNr VorlNr 26120 5001 27550 4052 28106 5041 5052 5216 Studenten MatrNr ... 26120 27550 Vorlesungen VorlNr ... 5001 4052 Studenten hören Vorlesungen * * MatrNr Name Semester VorlNr Titel SWS Datenbanken, SS 12 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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

17 RM sieht keine Unterstützung der Abstraktionskonzepte vor
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 TV-L Gruppe Beamte Techniker Wiss. Mitarbeiter Erfahrung Diplom Spezialgebiet Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

18 Lösungsmöglichkeit 1: vertikale Partitionierung
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 subsetof ANGESTELLTE.ID, usw. Instanzenzugriff erfordert implizite oder explizite Verbundoperationen :: Problembeispiel: Finde alle Spezialgebiete Datenbanken, SS 12 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, SS 12 Kapitel 4: Grundlagen des Relationalen Modells

20 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

21 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. Relationenname Attribut1 Attribut2 Attribut3 Daten falsch ID 01 auch falsch FK -> ID 02 Datenbanken, SS 12 Kapitel 4: Grundlagen des Relationalen Modells


Herunterladen ppt "Grundlagen des relationalen Datenmodells"

Ähnliche Präsentationen


Google-Anzeigen