Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells.

Ähnliche Präsentationen


Präsentation zum Thema: "Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells."—  Präsentation transkript:

1 Dr. Brigitte Mathiak 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 2 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells

3 3 Basisdefinitionen Seien D 1, D 2,..., D n Domänen (~ Wertebereiche oder Typen) Relation: R D 1 x... x D n 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 12Kapitel 4: Grundlagen des Relationalen Modells

4 4 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Minnie MouseBroadway94725 Donald DuckBroadway95672 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 12Kapitel 4: Grundlagen des Relationalen Modells

5 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 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Minnie MouseBroadway94725 Datenbanken, SS 12Kapitel 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, SS 12Kapitel 4: Grundlagen des Relationalen Modells6 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Minnie MouseBroadway94725 Donald DuckBroadway95672

7 Was passiert wenn unter einer Telefonnummer mehr als eine Person lebt? (1 min; jeder für sich mit Zettel und Stift) Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells7 Telefonbuch NameStraßeTelefon# Mickey MouseMain Street4711 Minnie MouseBroadway94725 Donald DuckBroadway95672

8 RM: Fremdschlüssel Der Fremdschlüssel zeigt auf den Primärschlüssel einer anderen Relation. Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells8 Telefonbuch ->Personal.PersNrTelefon# Personal NameStraßePersNr Mickey MouseMain Street00025 Minnie MouseBroadway00028 Donald DuckBroadway00030

9 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells9 Abbildung UML - RM 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 Assoziation Klasse 1Klasse 2 a..bc..d Relation 2 Relation 1

10 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells10 Assoziationen N:1 1.Verwendung von drei Relationen Professoren ( PersNr, Name, Rang, Raum ) Vorlesungen ( VorlNr, Titel, SWS ) lesen ( VorlNr, ->Professoren.PersNr ) 2.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! lesen ProfessorenVorlesungen 1 * PersNr Name Rang Raum VorlNr Titel SWS

11 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells11 Ausprägung von Professoren und Vorlesungen Professoren PersNrNameRangRaum 2125SokratesC RusselC KopernikusC PopperC AugustinusC CurieC KantC47 Vorlesungen VorlNrTitelSWSGelesen Von 5001Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken42137 lesen ProfessorenVorlesungen 1 *

12 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells12 Vorsicht: So geht es NICHT Professoren PersNrNameRangRaumliest 2125SokratesC SokratesC SokratesC AugustinusC CurieC436?? Vorlesungen VorlNrTitelSWS 5001Grundzüge4 5041Ethik4 5043Erkenntnistheorie3 5049Mäeutik2 4052Logik4 5052Wissenschaftstheorie3 5216Bioethik2 5259Der Wiener Kreis2 5022Glaube und Wissen2 4630Die 3 Kritiken4 lesen ProfessorenVorlesungen 1 *

13 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells13 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 Professoren PersNrNameRangRaumliest 2125SokratesC SokratesC SokratesC AugustinusC CurieC436?? Vorlesungen VorlNrTitelSWS 5001Grundzüge4 5041Ethik4 5043Erkenntnistheorie3 5049Mäeutik2 4052Logik4 5052Wissenschaftstheorie3 5216Bioethik2 5259Der Wiener Kreis2 5022Glaube und Wissen2 4630Die 3 Kritiken4

14 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells14 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 StudentenVorlesungen ** MatrNr Name Semester VorlNr Titel SWS

15 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells15 Ausprägung der Beziehung hören Studenten MatrNr hören MatrNrVorlNr Vorlesungen VorlNr hören StudentenVorlesungen ** MatrNr Name Semester VorlNr Titel SWS

16 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells16 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. Vorlesung Voraussetzungen * * obligatorisch VorlNr Titel SWS

17 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells17 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: Wiss. Mitarbeiter TV-L Gruppe Techniker Beamte ID Name Diplom Spezialgebiet Erfahrung Angestellte Uni-Angehörige

18 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells18 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

19 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells19 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

20 Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells20 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

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. Datenbanken, SS 12Kapitel 4: Grundlagen des Relationalen Modells21 Relationenname Attribut1Attribut2Attribut3 Daten…… falsch ID 01 auch falsch FK -> ID 02


Herunterladen ppt "Dr. Brigitte Mathiak Kapitel 4 Grundlagen des relationalen Datenmodells."

Ähnliche Präsentationen


Google-Anzeigen