Das Relationen-Modell - PowerPoint PPT Presentation

About This Presentation
Title:

Das Relationen-Modell

Description:

Title: The Relational Model Last modified by: Prof.Kudrass Document presentation format: Overheadfolien Other titles: Times New Roman Helmet Monotype Sorts Wingdings ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 22
Provided by: imnHtwkl
Category:

less

Transcript and Presenter's Notes

Title: Das Relationen-Modell


1
Das Relationen-Modell
2
Einführung
  • Geht auf klassische Arbeit von Codd zurück (1970)
  • Meistgenutztes Datenmodell
  • Anbieter IBM (DB2), 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
  • ObjectStore, Versant
  • Zur Zeit Synthese des relationalen Modells mit
    objektorientierten Konzepten
  • Informix Universal Server
  • Oracle 8i
  • DB2 Universal Database
  • Sprachstandards SQL-99

3
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)

4
Wichtige Relationale Operationen
Projektion
Selektion
Tabelle 1
Tabelle 1
Join
Tabelle 1
Tabelle 2
5
Relationenmodell Grundkonzepte
  • Relationale Datenbank Menge von Relationen
  • Relation (mathematisch)
  • R(A1,A2 ... An ) ? W(A1)D W(A2 )... D W(An )
  • Teilmenge des kartesischen Produkts einer Menge
    von Wertebereichen
  • Relation besteht aus 2 Teilen
  • 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 (sidstring, namestring, loginstring,
    alterinteger, durchschreal)
  • Relationen sind Mengen von Tupeln, d.h. alle
    Tupel sind voneinander verschieden (distinkt)

6
Beispiel Instanz einer Relation Student
  • Kardinalität 3, Grad 5
  • alle Tupel sind distinkt

7
Primärschlüssel
  • Ein Schlüssel einer Relation ist eine Menge von
    Attributen, für die gilt
  • Es gibt keine zwei unterschiedlichen Tupel, die
    in allen Schlüsselattributen den gleichen Wert
    haben (Eindeutigkeits-eigenschaft)
  • Es gibt keine Teilmenge von Attributen des
    Schlüssels, die Eigenschaft 1 erfüllt
  • Anmerkungen
  • Wenn es mehrere Attribute / Attributkombinationen
    gibt, die 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

8
Fremdschlüssel
  • Definition
  • Ein Fremdschlüssel bezüglich einer Relation R1
    ist ein (ggf. zusammengesetztes) Attribut FS
    einer Relation R2, 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 R1 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 die gleiche oder verschiedene
    Relationen realisieren
  • Referenzierte und referenzierende Relationen sind
    nicht notwendig verschieden (Selbstreferenz)
  • .

9
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
Student )
Einschreibung
Student
10
Abbildung vom ERM in Relationen
E2
E1
R1
?
Relation 1
Relation 2
Relation 3
  • Kriterien
  • Informationserhaltung
  • Minimierung der Redundanz
  • Minimierung des Verknüpfungsaufwandes
  • Natürlichkeit der Abbildung
  • Keine Vermischung von Objekten
  • Verständlichkeit

11
Zwei Entity-Mengen mit 11-Beziehung
1
1
LIEFERANT
liefert
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.
12
Zwei Entity-Mengen mit 1n-Beziehung
1
n
ABT
gehört
PERS
  • Darstellungsmöglichkeiten im RM
  • Verwendung von drei Relationen
  • ABT (ANR, ANAME, ... )
  • PERS (PNR, PNAME, ... )
  • ABT-ZUGEH (ANR, PNR)
  • Normalerweise wird der 1n-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 1n-Beziehungstyps mit
    Hilfe von Primär- und Fremdschlüssel

13
Zwei Entity-Mengen mit mn-Beziehung
m
n
LIEFERANT
liefert
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 E1 und E2

14
Eine Entity-Menge mit 11-Beziehung
Ehefrau
1
1
PERS
Ehe
Ehemann
  • Darstellungsmöglichkeiten im RM
  • Verwendung von zwei Relationen
  • PERS (PNR, PNAME, ... )
  • EHE (MPNR, FPNR)
  • Verwendung von einer Relation
  • PERS (PNR, PNAME, ... , ... GÁTTE)

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

16
Eine Entity-Menge mit mn-Beziehung
oberes
m
n
Struktur
TEIL
A
5
1
unteres
B
C
  • Darstellungsmöglichkeiten im RM
  • TEIL (TNR, TBEZ, ... STRUKTUR (OTNR, UTNR,
    ANZAHL)

8
2
2
4
4
1
D
2
STRUKTUR OTNR UTNR ANZAHL
A B 1
A C 5
A 1 8
B 1 4
B 2 2
C 1 4
C D 2
1111
17
Drei Entity-Mengen mit (mnp)-Beziehung
LIEF
p
n
m
Lieferung
TEIL
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)

18
Abbildung von ISA-Hierarchien
name
pnr
gehalt
Angestellter
stundenzahl
stundensatz
ISA
vertrags_nr
Extern
Intern
  • 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

19
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
    1n-Beziehung stehen (ein Owner, mehrere Weak
    Entities)

name
alter
name
pnr
gehalt
Kinder
Angestellter
hat
(0,)
(1,1)
Jedes Entity aus Kinder muß an der Beziehung
teilnehmen (total Participation Constraint). KIND
(NAME, PNR, ALTER, ... ) ANGESTELLTER (PNR,
NAME, GEHALT, ... )
20
Abbildungsregeln Beziehungen - Relationen
A
arbeitet
E2
E1
K1
K2
... nur E0 (1,1) (1,1) E0 (K1, K2, A) oder E0 (K2, K1, A)
bleibt E1 E2 (0,1) (1,1) (1,) (1,1) (0,) (1,1) E1 (K1, ...) E2 (K2, ..., A, K1)
entsteht ein neues E3 (0,1) (0,1) E3 (K1, K2, A) oder E3 (K2, K1, A)
entsteht ein neues E3 (1,) (0,1) (0,) (0,1) E3 (K2, K1, A)
entsteht ein neues E3 (1,) (1,) (1,) (0,) (0,) (0,) E3 (K1, K2, A)
21
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
    (11, 1n, mn)
  • Alle Beziehungstypen müssen im Prinzip durch
    (n1)-Beziehungen dargestellt werden.
Write a Comment
User Comments (0)
About PowerShow.com