Datenbanken: Relationales Datenbankmodell RDM
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der
80'er Jahre definierter Standard für Datenbanksysteme!
Der Name kommt vom mathematischen Konzept einer Relation:
(Sind A, B Mengen, so ist r ⊆ A × B eine Relation zwischen den Mengen A und B)
hier: Sind A1, ... , An Attribute eines Objekts mit den Wertebereichen
dom (A1), ... , dom (An) , so ist r ⊆ dom (A1) × ... × dom (An) eine
Relation.
Generelle Voraussetzung für das Standard-RDM:
Alle Attribute sind einfach und einwertig!
Bezeichnung:
Das RDM ist in 1. Normalform
1Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Objekte der Realität werden im RDM ähnlich wie im ERM modelliert als Daten-
sätze (Tupel), wobei die Eigenschaften der Objekte wieder durch Attribute
beschrieben sind:
Def.: (Datensatz, Tupel)
Sei X = {A1, ... , An} eine Menge von Attributen.
Ein Tupel ist eine injektive Abbildung
t: X → dom(X) mit t(Ai ) ∈ dom (Ai) ∀ 1 ≤ i ≤ n
Mit Tup(X) wird die Menge aller möglichen Tupel (Datensätze) über X bezeichnet!
Die Datensätze, die alle zu Objekten gleichen Typs gehören, werden in so
genannten Relationen zusammengefasst:
Def.: (Relation)
Sei X = {A1, ... , An} eine Menge von Attributen. Eine Relation r über X
ist eine endliche Teilmenge von Tup(X): r ⊆ Tup(X).
Mit Rel(X) wird die Menge aller möglichen Relationen über X bezeichnet! 2Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Def.: (Relationenformat)
Die Menge X = {A1, ... , An} heißt Relationenformat.
Vergleicht man die bisherigen Definitionen des RDM mit dem ERM, so ergibt sich:
• Ein Datensatz im RDM entspricht einem Entity im ERM.
• Das Relationenformat X entspricht dem Entityformat X.
• Eine Relation r entspricht dem Entity-Set Es.
Anmerkungen:
• Eine Relation ist eine endliche Menge von Datensätzen.
• Zwei Relationen r und s aus Rel(X) sind gleich ⇔ sie haben die
gleichen Datensätze.
• Zwei Datensätze aus Tup(X) sind gleich ⇔ sie stimmen in allen 3
Attributen wertmäßig überein.Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Eine Relation kann als Tabelle geschrieben werden:
Zeilen der Tabelle: die Datensätze;
Spalten der Tabelle: die Attribute;
Beispiel:
Die Relation Person mit dem Format
X = {persnr, name, vorname, gebdat, geschlecht}
und einigen Datensätzen ergibt die Tabelle:
persnr name vorname gebdat telefon geschlecht
0001 Mentär Rudi 01.02.1980 0123 22334 M
0002 Huana Mari 01.06.1970 06332 12 33 W
0003 Nässe Axel 05.06.1985 M
4Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Problem: fehlende Werte für gewisse Datensätze
Nach Def.: t(Ai) ∈ dom (Ai) ∀ 1 ≤ i ≤ n
aber: In der Realität hat man zum Zeitpunkt des Eintrags noch nicht alle Daten,
oder für ein Objekt existiert in einem Attribut kein Wert!
Im Beispiel:
persnr name vorname gebdat telefon geschlecht
0001 Mentär Rudi 01.02.1980 0123 22334 M
0002 Huana Mari 01.06.1970 06332 12 33 W
0003 Nässe Axel 05.06.1985 M
Lösung: Jedem Wertebereich wird der Wert NULL hinzugefügt!
5Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Problem: fehlende Werte für gewisse Datensätze
persnr name vorname gebdat telefon geschlecht
0001 Mentär Rudi 01.02.1980 0123 22334 M
0002 Huana Mari 01.06.1970 06332 12 33 W
0003 Nässe Axel 05.06.1985 null M
Lösung: Jedem Wertebereich wird der Wert NULL hinzugefügt!
Vorsicht: NULL-Werte fallen aus normalen Vergleichen heraus!
Beispiel:
select * from Person where telefon != 0123 22334; Ergebnis: Datensatz 0002
select * from Person where telefon != 0123 22334 Ergebnis: Datensätze 0002 und 0003
or telefon is null;
6Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Zur Definition der Struktur einer Relation, ähnlich zum Entity-Typ im ERM, ist
zunächst der Begriff der Datenabhängigkeit wichtig:
In einer modernen Datenbank werden nicht einfach Rohdaten gespeichert,
sondern Daten, die der Semantik der Ausgangssituation genügen müssen, den
Geschäftsregeln.
Die Geschäftsregeln, die die Daten in der Datenbank betreffen, werden unterteilt in
so genannte intrarelationale und interrelationale Datenabhängigkeiten.
Def.: (Intrarelationale Abhängigkeiten)
Intrarelationale Abhängigkeiten sind Abhängigkeiten von Attributwerten
innerhalb eines vorgegebenen Relationenformats einer Relation.
Def.: (Interrelationale Abhängigkeiten)
Interrelationale Abhängigkeiten sind Abhängigkeiten von Attributwerten
von Relationen bzgl. unterschiedlicher Relationenformate.
7Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Intrarelationale Datenabhängigkeiten werden bei der Struktur der zugehörigen
Relation beschrieben, dem Relationenschema, interrelationale Abhängigkeiten
bei der Struktur der Datenbank, dem Datenbankschema.
Beispiel: (intrarelationale Abh.)
Ist eine Relation gegeben, die Produkte einer Firma als Datensätze
enthält, d.h. ein Relationenformat X = {pnr, bez, material, farbe, preis},
dann sind typische intrarelationale Abhängigkeiten der Attributwerte:
preis > 0
farbe ∈ {rot, blau, silber}
material ∈ {Eisen, Holz, Kunststoff, Stein}
Beispiel: (interrelationale Abh.)
Sind Relationen für Aufträge und Produktlager gegeben mit den Formaten
XProduktlager = {pnr, bez, material, farbe, preis, stückzahl},
XAuftrag = {anr, pnr, stückzahl, betrag},
dann ist eine typische interrelationale Abhängigkeit:
stückzahlAuftrag < stückzahlProduktlager
8Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Weiteres wichtiges Beispiel für eine intrarelationale Abhängigkeit:
Abhängigkeit der Attributwerte von einem Schlüssel
Def.: (Schlüssel)
Sei X = {A1, ... , An} eine Menge vom Attributen;
sei r ∈ Rel(X); sei K ⊆ X
K heißt Schlüssel ⇔
(i) (∀ t1, t2 ∈ r) (t1[K] = t2[K] ⇒ t1 = t2 )
(ii) K ist minimal bzgl. (i), d.h. es existiert kein K´ echte
Teilmenge von K mit der Eigenschaft (i).
Def.: (Schlüsselabhängigkeit)
Eine Schlüsselabhängigkeit wird bezeichnet
mit K→X
Dadurch wird ausgedrückt, dass durch Vorgabe eines Wertes
für K die Werte aller Attribute des Formats eindeutig 9
bestimmt sind!Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Beispiel (Schlüssel):
sei X = {A, B, C, D, E}; dom(A) = ...= dom(E) = {0, 1, 2, 3}
Eine zugehörige Relation r sei:
A B C D E
1 1 1 0 0
r: 1 2 2 1 1
3 3 1 1 1
1 0 1 1 2
einelementige Schlüssel: {B}
zweielementige Schlüssel: {A,E}, {C,E}
dreielementige Schlüssel: {A,C,D}
Alle übrigen Attributkombinationen sind nicht minimal oder
identifizieren nicht eindeutig! Nachweis!!
10Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Die Struktur einer Relation wird beschrieben durch das zugehörige
Relationenschema (das dann dem Entity-Typ im ERM entspricht):
Def.: (Relationenschema, Relationentyp)
Ein Relationenschema ist ein benanntes Tupel R = (X, ΣX)
mit: R : Name
X : Relationenformat
ΣX: Menge aller intrarelationaler Datenabhängigkeiten
11Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Beispiel: (vollständige Beschreibung eines Relationenschemas):
R = Produkt = (X, ΣX ) mit
X ={pnr, bezeichnung, preis, größe, farbe, material, stückzahl, pdatum }
ΣX = {σ1,..., σ7 } mit
σ1 : {pnr} → X (Schlüsselabhängigkeit)
σ2 : preis > 0
σ3 : farbe ∈ {rot, gelb, grün, silber}
σ4 : material ∈ {Aluminium, Eisen, Kupfer, Plastik}
σ5 : stückzahl ≥ 0
σ6 : pdatum ≤ Tagesdatum
12
σ7 : wenn material = Aluminium dann farbe = silberProf. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Wichtiges Beispiel für eine interrelationale Abhängigkeit:
Fremdschlüssel:
Def.: (Fremdschlüssel)
Seien R1 = (X1, ΣX1), R2 = (X2, ΣX2) Relationsschemata und
K1 ⊆ X1 Primärschlüssel in R1, Y ⊆ X2. Es seien r1 ∈ Rel(X1 ),
r2 ∈ Rel(X2 ).
Y heißt Fremdschlüssel in r2 zu K1 in r1 falls gilt:
r2[Y] = r1[K1].
Beispiel:
Das Attribut persnr im Relationschema Adresse ist Fremdschlüssel zum
Primärschlüssel persnr im Relationenschema Person:
persnr name vorname geschlecht adrnr plz ort persnr
001 Mentär Rudi M 100 12345 Trier 001
002 Huana Mari W 101 34232 Zell 002
003 Nässe Axel M 102 44556 Bitche 13Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Anmerkungen (Schlüssel, Fremdschlüssel):
• Besitzt ein Relationenschema mehrere Schlüssel, wird einer als
Primärschlüssel ausgezeichnet!
• Zwischen Primärschlüsselattribut und Fremdschlüsselattribut muß es
eine Werteentsprechung geben (außer NULL)!
• Fremdschlüssel dürfen NULL-Werte enthalten!
• Ein Fremdschlüssel kann auch in seinem Relationenschema ein
Schlüssel sein, muss aber nicht!
• Der Name des Fremdschlüssels muss nicht mit dem Namen des
Primärschlüssels übereinstimmen!
• Ein Fremdschlüssel bezieht sich immer auf einen Primärschlüssel!
14Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Mit den bisher definierten Begriffen lassen sich jetzt relationale Datenbanken
definieren:
Def.: (relationale Datenbank)
Sei R = {R1, ..., Rm} eine Menge von Relationenschemata,
Ri = (Xi, ΣXi) und sei ri ∈ Rel(Xi )
Dann ist
d : = {r1, ..., rm} eine relationale Datenbank!
Die r1, ..., rm bezeichnet man als „Basisrelationen“.
Anmerkung:
In der Definition der relationalen Datenbank wird kein Bezug
genommen zu den intra- oder interrelationalen Abhängigkeiten!
Dieser wird erst mit dem zusätzlichen Begriff der Konsistenz
hergestellt!
15Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Def.: (Datenbankformat)
Die Menge R = {R1, ..., Rm} der beteiligten Relationenschemata
heißt Datenbankformat.
Def.: (Relationales Datenbankschema)
Ein relationales Datenbankschema ist ein benanntes Tupel :
D = (R, ΣR )
mit
D : Name des Schemas
R : das Datenbank-Format: R = (R1, ... , Rm ), Ri = (Xi, ΣXi )
ΣR : Menge der interrelationalen Abbildungen
Anmerkung:
In der Definition des Datenbankschemas (Datenbankentwurf) sind
also alle Geschäftsregeln, die die Daten betreffen, formuliert:
• die intrarelationalen Abh. in den einzelnen Relationenschemata
• die interrelationalen Abh. in ΣR 16Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Beispiel: Das vollständige Datenbankschema zu einer Kunden-Auftrags-
Produkt-Verwaltung (KAPV):
KAPV = ( R, ΣR ) mit
R = {Kunde, Auftrag, Produkt, Positionen, Adresse} das Datenbankformat:
Kunde = ( {kdnr, name, vorname, gebdat, geschlecht}, ΣKunde )
Auftrag = ( {anr, adatum, abetrag, kdnr}, ΣAuftrag )
Produkt = ( {pnr, bezeichnung, material, farbe, preis ,stückzahl}, ΣProdukt )
Positionen = ( {anr, pnr, stückzahl, betrag}, ΣPositionen )
Adresse = ( {anr, plz, ort, str, kdnr}, ΣAdresse )
ΣR = { s1,..,s5} die interrelationalen Abhängigkeiten:
s1: kdnr ist Fremdschlüssel in Adresse;
s2: kdnr ist Fremdschlüssel in Auftrag;
s3: anr ist Fremdschlüssel in Positionen;
s4: pnr ist Fremdschlüssel in Positionen;
17
s5: stückzahl in PositionenProf. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Def.: (Konsistenz)
Sei D = (R, ΣR ) ein Datenbankschema,
d = { r1, ... , rm } eine relationale Datenbank,
ri ∈ Rel(Xi );
R = (R1, ... , Rm ) das Datenbankformat.
d heißt konsistent ⇔ die Basisrelationen r1, ... , rm genügen allen
intra- und interrelationalen Datenabhängigkeiten.
Anmerkungen:
• Ein relationales Datenbankschema beschreibt also eine bestimmte
Datenbank-Struktur, genannt Datenbankdesign, Datenbankentwurf!
Konkrete relationale Datenbanken zu dieser Struktur, d. h. Mengen
konkreter Basisrelationen r1, ... , rm, die dieser Struktur genügen,
heißen konsistent!
• Die Wahrung der Konsistenz einer relationalen Datenbank ist in
einer multi-user-Umgebung schwierig und verlangt zusätzliche
18
Konzepte (Concurrency Control Problem)!Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Fazit:
• Das relationale Datenbankmodell wird beschrieben durch die Begriffe:
- Attribut
- Datensatz
- Relation
- Relationenformat
- intrarelationale Abhängigkeiten
- Schlüssel
- Relationenschema
- relationale Datenbank
- Datenbankformat
- interrelationale Abhängigkeiten
- Fremdschlüssel
- Relationales Datenbankschema
- Konsistenz 19Prof. Dr. Günter Brackly FB Informatik / MST
Datenbanken: Relationales Datenbankmodell RDM
Folgerungen:
• Zur Beschreibung der Struktur einer relationalen Datenbank ist mehr
erforderlich als im ERM, nämlich die Angabe aller intra- und
interrelationalen Abhängigkeiten!
• Alle Beziehungen zwischen den Relationen bzw. Tabellen müssen über
Primärschlüssel – Fremdschlüssel-Beziehungen realisiert werden!
• Einige Begrifflichkeiten in ERM und RDM entsprechen sich (Format,
Schlüssel, Entity – Datensatz, Entity-Set – Relation, etc), d.h. die
Transformation vom ERM zum RDM ist einfach!
20Sie können auch lesen