Das RelationenModell Prof Dr T Kudra 1 Einfhrung

  • Slides: 21
Download presentation
Das Relationen-Modell Prof. Dr. T. Kudraß 1

Das Relationen-Modell Prof. Dr. T. Kudraß 1

Einführung • • Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell –

Einführung • • Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell – Anbieter: IBM (DB 2), Informix, Microsoft (SQL-Server), Sybase, Oracle • Legacy-Systeme in älteren Modellen (z. B. Netzwerk-Datenmodell, hierarch. Datenmodell) – z. B. IMS von IBS • Konkurrenz durch objektorientierte Modelle – Object. Store, Versant • Zur Zeit: Synthese des relationalen Modells mit objektorientierten Konzepten: – – Informix Universal Server Oracle 8 i DB 2 Universal Database Sprachstandards: SQL-99 Prof. Dr. T. Kudraß 2

Relationenmodell - Übersicht • Datenstruktur: Relation (Tabelle) – Alle Informationen durch Werte dargestellt –

Relationenmodell - Übersicht • Datenstruktur: Relation (Tabelle) – Alle Informationen durch Werte dargestellt – Integritätsbedingungen auf/zwischen Relationen • Operatoren: – – – • Vereinigung, Differenz Kartesisches Produkt Projektion Selektion Zusätzlich: Grundoperationen: Einfügen, Löschen, Ändern Verknüpfung zu komplexeren Operationen möglich Entwurfstheorie – Normalformenlehre (Zerlegung von Relationen) – Synthese von Relationen (Zusammensetzung von Relationen) Prof. Dr. T. Kudraß 3

Wichtige Relationale Operationen Selektion Projektion Tabelle 1 Prof. Dr. T. Kudraß Join Tabelle 2

Wichtige Relationale Operationen Selektion Projektion Tabelle 1 Prof. Dr. T. Kudraß Join Tabelle 2 4

Relationenmodell: Grundkonzepte • • • Relationale Datenbank: Menge von Relationen Relation (mathematisch) R(A 1,

Relationenmodell: Grundkonzepte • • • Relationale Datenbank: Menge von Relationen Relation (mathematisch) R(A 1, A 2. . . An ) W(A 1)D W(A 2 ). . . Teilmenge des kartesischen Produkts einer Menge von Wertebereichen Relation besteht aus 2 Teilen: D W(An ) Instanz: Tabelle mit Zeilen (Tupel) und Spalten Kardinalität: Anzahl der Tupel Grad einer Relation: Anzahl der Spalten Schema: Name der Relation und Name und Typ aller Spalten Beispiel: Student (sid: string, name: string, login: string, alter: integer, durchsch: real) Relationen sind Mengen von Tupeln, d. h. alle Tupel sind voneinander verschieden (distinkt) Prof. Dr. T. Kudraß 5

Beispiel: Instanz einer Relation Student • Kardinalität = 3, Grad = 5 • alle

Beispiel: Instanz einer Relation Student • Kardinalität = 3, Grad = 5 • alle Tupel sind distinkt Prof. Dr. T. Kudraß 6

Primärschlüssel • Ein Schlüssel einer Relation ist eine Menge von Attributen, für die gilt:

Primärschlüssel • Ein Schlüssel einer Relation ist eine Menge von Attributen, für die gilt: 1. Es gibt keine zwei unterschiedlichen Tupel, die in allen Schlüsselattributen den gleichen Wert haben (Eindeutigkeits-eigenschaft) 2. Es gibt keine Teilmenge von Attributen des Schlüssels, die Eigenschaft 1 erfüllt • Anmerkungen: – – Prof. Dr. T. Kudraß Wenn es mehrere Attribute / Attributkombinationen gibt, die Eigenschaften 1 und 2 erfüllen (Schlüsselkandidaten), wird darunter ein Primärschlüssel ausgewählt und als solcher definiert Eine Menge von Attributen (die einen Schlüsselkandidaten enthält) mit identifizierender Eigenschaft in einer Relation wird auch Superkey genannt 7

Fremdschlüssel • Definition Ein Fremdschlüssel bezüglich einer Relation R 1 ist ein (ggf. zusammengesetztes)

Fremdschlüssel • Definition Ein Fremdschlüssel bezüglich einer Relation R 1 ist ein (ggf. zusammengesetztes) Attribut FS einer Relation R 2, für das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich NULL) von FS muß ein gleicher Wert des Primärschlüssels PS in irgendeinem Tupel von R 1 enthalten sein. Ein Fremdschlüssel ist wie ein “logischer Pointer“ • Bemerkungen Fremdschlüssel und zugehöriger Primärschlüssel gestatten die Realisierung von Beziehungen. Fremdschlüssel können Nullwerte aufweisen, wenn sie nicht Teil eines Primärschlüssels sind Schlüsselkandidaten können Nullwerte aufweisen, wenn nicht explizit NOT NULL definiert ist Eine Relation kann mehrere Fremdschlüssel besitzen, die gleiche oder verschiedene Relationen realisieren Referenzierte und referenzierende Relationen sind nicht notwendig verschieden (Selbstreferenz). Prof. Dr. T. Kudraß 8

Beispiel: Referentielle Integrität Nur Studenten, die in der Tabelle Student erfaßt sind, dürfen sich

Beispiel: Referentielle Integrität Nur Studenten, die in der Tabelle Student erfaßt sind, dürfen sich in Kurse einschreiben. CREATE TABLE Einschreibung (sid CHAR(20), kid CHAR(20), note CHAR(2), PRIMARY KEY (sid, kid), FOREIGN KEY (sid) REFERENCES Einschreibung Prof. Dr. T. Kudraß Student ) Student 9

Abbildung vom ERM in Relationen E 1 Relation 1 • E 2 R 1

Abbildung vom ERM in Relationen E 1 Relation 1 • E 2 R 1 Relation 2 ? Relation 3 Kriterien – – – Informationserhaltung Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes Natürlichkeit der Abbildung Keine Vermischung von Objekten Verständlichkeit Prof. Dr. T. Kudraß 10

Zwei Entity-Mengen mit 1: 1 -Beziehung LIEFERANT 1 liefert 1 PRODUKT Interpretation: “Ein Lieferant

Zwei Entity-Mengen mit 1: 1 -Beziehung LIEFERANT 1 liefert 1 PRODUKT Interpretation: “Ein Lieferant liefert genau ein Produkt an uns“ Zwei Darstellungsmöglichkeiten im RM • Zwei Relationen LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, . . . ) PRODUKT (PRODNR, PRODNAME, P_BESCH, . . . , LIEFERNR) • Zwei Relationen LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, . . . , PRODNR) PRODUKT (PRODNR, PRODNAME, P_BESCH, . . . ) Beide Varianten sind gleichberechtigt. Prof. Dr. T. Kudraß 11

Zwei Entity-Mengen mit 1: n-Beziehung ABT 1 gehört n PERS Darstellungsmöglichkeiten im RM 1.

Zwei Entity-Mengen mit 1: n-Beziehung ABT 1 gehört n PERS Darstellungsmöglichkeiten im RM 1. Verwendung von drei Relationen – 2. ABT (ANR, ANAME, . . . ) PERS (PNR, PNAME, . . . ) ABT-ZUGEH (ANR, PNR) Normalerweise wird der 1: n-Beziehungstyp nur dann auf eine eigene Relation abgebildet, wenn er beschreibende Attribute besitzt. Minimierung der Redundanz Verwendung von zwei Relationen – ABT (ANR, ANAME, . . . ) PERS (PNR, PNAME, . . . ANR) Standardabbildung des 1: n-Beziehungstyps mit Hilfe von Primär- und Fremdschlüssel Prof. Dr. T. Kudraß 12

Zwei Entity-Mengen mit m: n-Beziehung LIEFERANT m liefert n PRODUKT Darstellungsmöglichkeiten im RM •

Zwei Entity-Mengen mit m: n-Beziehung LIEFERANT m liefert n PRODUKT Darstellungsmöglichkeiten im RM • Abbildung der Entity-Mengen auf Relationen LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, . . . ) PRODUKT (PRODNR, PRODNAME, P_BESCH, . . . ) • Abbildung der Beziehung auf zusätzliche Relation LIEFERT (LIEFERNR, PRODNR, PROZENT ) Primärschlüssel ist Kombination der Primärschlüssel aus E 1 und E 2 Prof. Dr. T. Kudraß 13

Eine Entity-Menge mit 1: 1 -Beziehung Ehefrau PERS 1 1 Ehemann Darstellungsmöglichkeiten im RM

Eine Entity-Menge mit 1: 1 -Beziehung Ehefrau PERS 1 1 Ehemann Darstellungsmöglichkeiten im RM 1. Verwendung von zwei Relationen PERS (PNR, PNAME, . . . ) EHE (MPNR, FPNR) 2. Verwendung von einer Relation PERS (PNR, PNAME, . . . GÁTTE) Prof. Dr. T. Kudraß 14

Eine Entity-Menge mit 1: n-Beziehung ANGESTELLTER n 1 überwacht Darstellungsmöglichkeiten im RM 1. Verwendung

Eine Entity-Menge mit 1: n-Beziehung ANGESTELLTER n 1 überwacht Darstellungsmöglichkeiten im RM 1. Verwendung von zwei Relationen ANGESTELLTER (ANR, ANAME, . . . ) ÜBERWACHT (VANR, ANR) 2. Verwendung von einer Relation ANGESTELLTER (ANR, ANAME, . . . VORGESETZTER) Prof. Dr. T. Kudraß 15

Eine Entity-Menge mit m: n-Beziehung oberes TEIL m n unteres 1 B Darstellungsmöglichkeiten im

Eine Entity-Menge mit m: n-Beziehung oberes TEIL m n unteres 1 B Darstellungsmöglichkeiten im RM TEIL (TNR, TBEZ, . . . STRUKTUR (OTNR, UTNR, ANZAHL) STRUKTUR Prof. Dr. T. Kudraß A Struktur 2 2 OTNR UTNR ANZAHL A B 1 A C 5 A 1 8 B 1 4 B 2 2 C 1 4 C D 2 5 C 8 4 1 4 2 D 16

Drei Entity-Mengen mit (m: n: p)-Beziehung LIEF p TEIL m Lieferung n PROJEKT Darstellungsmöglichkeiten

Drei Entity-Mengen mit (m: n: p)-Beziehung LIEF p TEIL m Lieferung n PROJEKT Darstellungsmöglichkeiten im RM LIEF (LNR, LNAME, L-ORT. . . ) PROJEKT (PRONR, PRONAME, P-ORT. . . ) TEIL (TNR, TBEZ, GEWICHT. . . ) LIEFERUNG (LNR, PRONR, TNR, ANZAHL, DATUM) Prof. Dr. T. Kudraß 17

Abbildung von ISA-Hierarchien name pnr gehalt Angestellter stundensatz stundenzahl ISA Intern • vertrags_nr Extern

Abbildung von ISA-Hierarchien name pnr gehalt Angestellter stundensatz stundenzahl ISA Intern • vertrags_nr Extern 3 Relationen: Angestellter, Intern, Extern – Intern: Jeder Angestellte ist in ANGESTELLTER. Für interne Angestellte sind zusätzliche Infos in INTERN (stundensatz, stundenzahl, pnr), Löschabhängigkeit zum referenzierten Tupel in ANGESTELLTER – Anfragen auf allen Angestellten einfach, für zusätzliche Infos Join erforderlich • Alternative: 2 Relationen Intern und Extern (“Flachklopfen“) – INTERN (pnr, name, gehalt, stundensatz, stundenzahl) – EXTERN (pnr, name, gehalt, vertrags_nr) – Jeder Beschäftigte gehört in eine der beiden Relationen Prof. Dr. T. Kudraß 18

Rückblick: Schwache Entities • • Schwaches Entity (weak entity) kann eindeutig identifiziert werden nur

Rückblick: Schwache Entities • • Schwaches Entity (weak entity) kann eindeutig identifiziert werden nur über den Primärschlüssel einer anderen (Owner) Entity. Owner Entity und Weak Entity müssen in einer 1: n-Beziehung stehen (ein Owner, mehrere Weak Entities) name pnr Angestellter Kinder hat (0, *) alter name gehalt (1, 1) Jedes Entity aus Kinder muß an der Beziehung teilnehmen (total Participation Constraint). KIND (NAME, PNR, ALTER, . . . ) ANGESTELLTER (PNR, NAME, GEHALT, . . . ) Prof. Dr. T. Kudraß 19

Abbildungsregeln Beziehungen - Relationen A K 1 E 1 arbeitet E 2 . .

Abbildungsregeln Beziehungen - Relationen A K 1 E 1 arbeitet E 2 . . . nur “E 0“ (1, 1) E 0 (K 1, K 2, A) oder E 0 (K 2, K 1, A) bleibt E 1 + E 2 (0, 1) (1, *) (1, 1) (0, *) (1, 1) E 1 (K 1, . . . ) E 2 (K 2, . . . , A, K 1) (0, 1) E 3 (K 1, K 2, A) oder E 3 (K 2, K 1, A) (1, *) (0, 1) (0, *) (0, 1) E 3 (K 2, K 1, A) (1, *) (0, *) E 3 (K 1, K 2, A) entsteht ein neues E 3 Prof. Dr. T. Kudraß K 2 20

Zusammenfassung Relationen-Modell • • Tabellarische Darstellung von Daten Einfach und intuitiv, zur Zeit meistverbreitetes

Zusammenfassung Relationen-Modell • • Tabellarische Darstellung von Daten Einfach und intuitiv, zur Zeit meistverbreitetes Modell Grundlage relationaler Anfragesprachen Integritätsbedingungen können durch den Modellierer spezifiziert werden, basierend auf der Applikationssemantik – 2 bedeutende Constraints: Primär- und Fremdschlüsselbedingungen – zusätzlich immer Wertbereichsbedingungen (Domain Constraints) • Regeln zur Transformation ER-Modell in relationales Modell – Behandlung der unterschiedlichen Beziehungstypen (1: 1, 1: n, m: n) – Alle Beziehungstypen müssen im Prinzip durch (n: 1)-Beziehungen dargestellt werden. Prof. Dr. T. Kudraß 21