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 1
Prof. 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! 2
Prof. 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 4
Prof. 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! 5
Prof. 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; 6
Prof. 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. 7
Prof. 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 8
Prof. 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!! 10
Prof. 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 11
Prof. 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 = silber
Prof. 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 13
Prof. 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! 14
Prof. 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! 15
Prof. 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 16
Prof. 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 Positionen
Prof. 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 19
Prof. 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! 20
Sie können auch lesen