Er Modell In Relationales Modell Überführen
one.two Entwurf
In der Entwurfsphase wird festgelegt, welche Art von Datenbank zum Einsatz kommen soll. Anschließend wird das systemunabhängige konzeptionelle Datenmodell in ein auf die gewählte Datenbankart zugeschnittenes Datenmodell (logisches Datenmodell) überführt.
Wir verwenden eine relationale Datenbank und überführen das Entity-Relationship-Modell daher in ein relationales Datenmodell (Relationenmodell). Wird eine objektorientierte, hierarchische oder netzwerkartige Datenbank verwendet, muss das konzeptionelle Datenmodell stattdessen in ein hierzu passendes logisches Datenmodell übersetzt werden.
Beispielhaft werden wir im Folgenden das Entity-Relationship-Diagramm der Fahrradvermietung (vgl. Abbildung 1-4) in ein Relationenmodell überführen.
1. Schritt der Überführung eines ERM in ein Relationenmodell: Entitätstypen
Die Attributwerte einer Entität stellen dice Daten dar, die über sie gespeichert werden sollen.
Beispiel
Nehmen wir zum Beispiel den Entitätstyp Kunde und notieren für jede vorhandene Entität deren Attributwerte:
Eine ungeordnete Darstellung der Attributwerte jeder einzelnen Entität (vgl. Abb. 1-eight) erschwert es die Bedeutung der einzelnen Daten zu verstehen. Aus diesem Grund ordnen wir zunächst dice Attribute eines Entitätstyps in einer bestimmten Reihenfolge an. Für die Reihenfolge gibt es keine verbindlichen Regeln, es ist jedoch üblich mit dem Primärschlüssel zu beginnen. Einmal festgelegt, müssen die Attributwerte jeder Entität in genau dieser Reihenfolge geordnet werden.
Beispiel
Im Relationenmodell wird aus dem Entitätstyp Kunde die Relation Kunde. Das Relationenschema legt den Namen der Relation und deren Attribute fest.
Die Attributwerte einer Entität werden als geordnete Liste, Tupel genannt, dargestellt. Dice Reihenfolge wird durch das Relationenschema vorgegeben.
Im Relationenmodell wird der Entitätstyp als Relation bezeichnet. Der Name einer Relation gefolgt von einer Aufzählung ihrer Attribute wird Relationenschema genannt. Das Relationenschema legt die Reihenfolge fest, in der die Attributwerte einer Entität geordnet werden müssen. Für jede Entität entsteht auf diese Weise im Relationenmodell eine geordnete Liste ihrer Attributwerte. Eine geordnete Liste von north Werten wird n-Tupel genannt.
ER-Modell | → | Relationenmodell |
---|---|---|
Entitätstyp | → | Relation |
Entität | → | Tupel |
Attribut | → | Attribut |
Attributwert | → | Attributwert |
Beispiel
Jeder Entitätstyp des ER-Diagramms wird im Relationenmodell in eine Relation überführt. Jede Relation übernimmt dabei den Namen und die Attribute des jeweiligen Entitätstyps.
In einer relationalen Datenbank werden die Daten in Form von Tabellen gespeichert. Jede Relation definiert eine Datenbanktabelle. Die Attribute der Relation werden zu den Spaltenüberschriften der Datenbanktabelle. Dice Tupel der Relation werden zu den Datensätzen (Zeilen) der entsprechenden Datenbanking concerntabelle.
Beispiel
Jedes der vier Relationenschemata, die wir in Abb. 1-13 formuliert haben, legt den Namen, die Spaltenüberschriften sowie die Reihenfolge der Spalten einer Datenbanktabelle fest. Die zu einer Relation gehörenden Tupel werden dann als Datenzeilen in die entsprechende Datenbanktabelle eingetragen.
-
Tabelle Kunde
ID Vorname Nachname one Max Maier 2 ... ... -
Tabelle Mietvertrag
ID Abschlussdatum Mietbeginn Mietdauer 1 2015-08-eleven 2015-08-12 3 2 ... ... ... -
Tabelle Fahrradtyp
ID Bezeichnung 1 Mountainbike two Trekkingrad 3 ... -
Tabelle Fahrrad
ID Kennung ane Cantankerous#7 2 Marker#two three ...
Ein Relationenschema beschreibt den Aufbau einer Datenbanktabelle. Es legt den Namen, die Spaltenüberschriften sowie dice Reihenfolge der Spalten fest.
-
Relationenschema: Name ( Primärschlüssel , Attribut2, Attribut3 )
-
Datenbanktabelle: Proper noun
Primärschlüssel Attribut2 Attribut3 ... ... ... ... ...
Die Attributwerte der Tupel werden in der Datenbanktabelle innerhalb einer Zeile in die entsprechenden Spalten verteilt. Jede Zeile bildet somit einen Datensatz.
ER-Modell | → | Relationenmodell | → | Relationale Datenbank |
---|---|---|---|---|
Entitätstyp | → | Relation | → | Tabelle |
Entität | → | Tupel | → | Zeile bzw. Datensatz |
Attribut | → | Attribut | → | Spaltenüberschrift |
Attributwert | → | Attributwert | → | Wert |
ii. Schritt der Überführung eines ERM in ein Relationenmodell: 1:north bzw. one:1-Beziehungstypen
Beispiel
In einem zweiten Schritt wählen wir alle i:n-Beziehungstypen sowie alle Varianten mit dem Buchstaben c (c:north, one:nc, c:nc) aus:
Von den beiden derart verbundenen Entitätstypen interessiert uns der Typ, dessen Entitäten jeweils mit höchstens einer Entität des gegenüberliegenden Typs in Beziehung stehen können:
- In unserem Beispiel steht ein Mietvertrag mit genau einem Kunden in Beziehung. Um im Relationenmodell zeigen zu können, mit welchem Kunden ein bestimmter Mietvertrag in Beziehung steht, ordnen wir diesem den Primärschlüssel des betreffenden Kunden zu. Dazu erweitern wir dice Relation Mietvertrag um das Attribut Kunde_ID. Der nach oben zeigende Pfeil vor dem Attributsnamen macht deutlich, dass das Attribut den Primärschlüssel einer fremden Relation aufnimmt. Das Attribut wird daher als Fremdschlüssel bezeichnet.
- In gleicher Weise steht ein Fahrrad mit genau einem Fahrradtyp in Beziehung. Analog ordnen wir jedem Fahrrad den Primärschlüssel seines jeweiligen Fahrradtyps zu. Dazu erweitern wir die Relation Fahrrad um das Attribut Fahrradtyp_ID.
Die Datenbanktabellen werden entsprechend angepasst:
-
Tabelle Kunde
ID Vorname Nachname 1 Max Maier two ... ... -
Tabelle Mietvertrag
ID Abschlussdatum Mietbeginn Mietdauer ↑Kunde_ID 1 2015-08-11 2015-08-12 three 1 2 ... ... ... ... -
Tabelle Fahrradtyp
ID Bezeichnung 1 Mountainbike two Trekkingrad iii ... -
Tabelle Fahrrad
ID Kennung ↑Fahrradtyp_ID 1 Cross#vii 1 ii Mark#ii 2 3 ... ...
2. Schritt der Überführung eines ERM in ein Relationenmodell: 1:n bzw. 1:1-Beziehungstypen
Bei one:1-Beziehungstypen beziehungsweise Varianten mit dem Buchstaben c (1:c, c:c) wird eine der aus den beiden betroffenen Entitätstypen hervorgegangen Relationen um ein Attribut erweitert. Dieses dient als Fremdschlüssel und kann Werte aufnehmen, die in der anderen Relation als Primärschlüssel dienen. Auf diese Weise kann dem Tupel mit dem Fremdschlüssel ein Tupel der anderen Relation zugeordnet werden.
Wird bei einem 1:c-Beziehungstyp die Relation um einen Fremdschlüssel erweitert, deren Tupel stets mit genau einem Tupel der anderen Relation verbunden sind, gibt es in der Relation mit dem Fremdschlüssel keine Tupel ohne Fremdschlüsselwert.
Würde stattdessen die Relation um einen Fremdschlüssel erweitert, deren Tupel mit keinem oder einem Tupel der anderen Relation verbunden sind, würden deren Tupel, die mit keinem Tupel der anderen Relation in Verbindung stehen, im Fremdschlüsselattribut keinen Wert besitzen.
Referenzielle Integrität liegt vor, wenn für jeden Fremdschlüsselwert, in der Relation (Datenbanktabelle), auf die verwiesen wird, ein Tupel (Datensatz) existiert, das diesen Wert als Primärschlüssel besitzt.
iii. Schritt der Überführung eines ERM in ein Relationenmodell: n:m-Beziehungstypen
Beispiel
Abschließend wählen wir alle n:chiliad-Beziehungstypen sowie alle Varianten mit dem Buchstaben c (nc:thousand, due north:mc, nc:mc) aus:
In unserem Beispiel steht ein Mietvertrag mit einem oder mehreren Fahrrädern in Beziehung. Ungekehrt kann ein Fahrrad mit keinem, einem oder mehreren Mietverträgen in Beziehung stehen. Um diesen Beziehungstyp im Relationenmodell abbilden zu können, nehmen wir die Primärschlüsssel der betroffenen Fahrräder und ordnen diesen jeweils den Primärschlüssel des Mietvertrags zu.
Auf diese Weise entsteht eine neue Relation mit zwei Attributen. Ein Attribut kann Primärschlüssel des Entitätstyps Mietvertrag aufnehmen und das zweite Primärschlüssel des Entitätstyps Fahrrad. Beide Attribute haben die Funktion eines Fremdschlüssels. Gleichzeitig bilden sie zusammen den Primärschlüssel der neuen Relation.
Dice neue Relation definiert eine weitere Datenbanktabelle:
-
Tabelle Kunde
ID Vorname Nachname i Max Maier 2 ... ... -
Tabelle Mietvertrag
ID Abschlussdatum Mietbeginn Mietdauer ↑Kunde_ID 1 2015-08-11 2015-08-12 3 one 2 ... ... ... ... -
Tabelle Fahrradtyp
ID Bezeichnung 1 Mountainbike ii Trekkingrad 3 ... -
Tabelle Fahrrad
ID Kennung ↑Fahrradtyp_ID 1 Cross#7 1 ii Mark#2 2 3 ... ... -
Tabelle Mietvertrag_vermietet_Fahrrad
↑Mietvertrag_ID ↑Fahrrad_ID 1 i 1 ii 2 ...
three. Schritt der Überführung eines ERM in ein Relationenmodell: n:m-Beziehungstypen
Besteht zwischen zwei Entitätstypen ein n:m-Beziehungstyp beziehungsweise eine Variante mit dem Buchstaben c (nc:g, n:mc, nc:mc), wird eine neue Relation angelegt. Diese besteht aus zwei Attributen – den Primärschlüsseln der aus den beiden verbundenen Entitätstypen hervorgegangenen Relationen. Beide Attribute bilden zusammen den Primärschlüssel der neuen Relation. Gleichzeitig fungiert jedes der beiden Aspect als Fremdschlüssel.
Aufgabe 1-two: Fuhrpark
Überführen Sie das folgende Entity-Relationship-Diagramm in ein relationales Datenmodell:
Lösung
- Fahrzeugmodell(ID, Bezeichnung, Hersteller, Kraftstoff, Verbrauch)
- Fahrzeug(ID, Kennzeichen, Anschaffungsdatum, Anschaffungskosten, ↑Fahrzeugmodell_ID)
- Mitarbeiter(ID, PersNr, Vorname, Nachname)
- Reservierung(ID, Zweck, Beginn, Ende, ↑Mitarbeiter_ID, ↑Fahrzeug_ID)
- Mitarbeiter_faehrt_mit_Reservierung(↑Mitarbeiter_ID, ↑Reservierung_ID)
- Instandhaltung(ID, Datum, KmStand, Kosten, Beschreibung, ↑Fahrzeug_ID)
- Versicherungsgesellschaft(ID, Firma, Telefon, Strasse, HNr, Plz, Ort)
- Versicherungsvertrag(ID, VersNr, Kasko, Beitrag, ↑Fahrzeug_ID, ↑Versicherungsgesellschaft_ID)
Source: https://www.kstbb.de/informatik/rdb/01/1_2_Entwurf.html
Posted by: cryersaterring.blogspot.com
0 Response to "Er Modell In Relationales Modell Überführen"
Post a Comment