Datenbanken: Relationales Datenbankmodell RDM

Die Seite wird erstellt Sibylle-Rose Körner
 
WEITER LESEN
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