 |
Richard-Wossidlo-Gymnasium
Ribnitz-Damgarten
Fachbereich Informatik |
Transformation des ERM in das
relationale Datenbankmodell
Grundregeln
- Entitätstypen:
- Jeder Entitätstyp
wird in ein eigenes Relationsschema (Tabelle) abgebildet.
- Schlüssel werden
kenntlich gemacht.
- Beziehungstypen:
- Jeder Beziehungstyp wird in
ein eigenes Relationsschema abgebildet.
- Die
Primärschlüssel der beiden beteiligten
Entitätstypen werden zusätzliche Attributen des
Relationsschemas.
- Der (Teil-)Schlüssel des
Relationsschemas bildet sich in Abhängigkeit von der Kardinalität wie folgt:
Typ |
Schlüssel |
1:1 | einer der
Primärschlüssel der beiden beteiligten
Entitätstypen |
1:n | der
Primärschlüssel des zweiten Entitätstyps
(also der "n-Entität") |
n:m | beide
Primärschlüssel der beteiligten Entitätstypen |
Somit
entstehen aus zwei mit einem Beziehungstyp verbundenen
Entitätstypen immer 3 Tabellen.
Beispiel
wird
zu
Relationsschema
Schüler | Relationsschema
geht_in | Relationsschema
Klasse |
SNummer | Name |
Anschrift |
0815 | Schmidt |
Mühlenweg
7 | |
|
KNummer | Klassenlehrer |
8a | Herr
Müller |
|
Optimierung unter Berücksichtigung der Optionalität
Die bisherigen
Überlegungen ergeben stets drei Tabellen. Die Anzahl der Tabellen lässt
sich bei den Kardinalitäten vom Typ 1:n und 1:1 unter bestimmten
Bedingungen reduzieren. Hat der Beziehungstyp eigene Attribute, so kann
sich eine Optimierung ggf. ungünstig auf die Struktur der Datenbank
auswirken, hier sollte die Verminderung der Tabellenanzahl kritisch hinterfragt werden.
Es
lassen sich die drei Relationen auf zwei reduzieren, wenn zur
Kardinalität 1 die Optionalität muss gehört.
Beispiele
Ein Schüler muss in eine Klasse gehen.
Beschreibung der Optimierung:
- Die Relation, die aus dem Entitätstyp mit der Kardinalität 1 (genau ein) gebildet wurde, bleibt erhalten.
- Die
beiden anderen Relationen mit ihren Attributen werden zu einer
verschmolzen. Primärschlüssel wird die Schlüsselattribute,
die aus dem beteiligten Entitätstyps in die Relation gekommen sind.
Beispiel 1:
Relationsschema
Schüler | Relationsschema
geht_in | Relationsschema
Klasse |
SNummer | Name |
Anschrift |
0815 | Schmidt |
Mühlenweg
7 | |
|
KNummer | Klassenlehrer |
8a | Herr
Müller |
|

SNummer | Name | Anschrift | KNummer | 0815 | Schmidt | Mühlenweg 7 | 8a |
| 
KNummer | Klassenlehrer | 8a | Herr Müller |
|
Beispiel 2:

Hier gilt: Ein Schüler kann einen Fahrausweis besitzen, ein Fahrausweis muss genau einem Schüler zugeordnet ein.
Relationsschema
Schüler | Relationsschema besitzt | Relationsschema Fahrausweis |
SNummer | Name |
Anschrift |
0815 | Schmidt |
Mühleweg
7 | |
|
ANummer | Gültigkeit |
LWA | 01.03.2008 |
|

SNummer | Name | Anschrift | 0815 | Schmidt | Mühlenweg 7 |
|  SNummer | ANummer | Gültigkeit | 0815 | LWA | 01.03.2008 |
|
Liegt
eine Kardinalität vom Typ 1:1 und die Optionalität muss:muss vor, so kann man sogar die drei
Relationen zu einer verschmelzen. Schlüssel wird ein Schlüsselattribut eines
Entitätstyps.
Sonderfälle
- is-a-Beziehungen
Is-a-Beziehungen drücken Spezialisierungen bzw.
Generalisierungen aus. Dabei gilt, der Spezialentitätstyp erbt alle
Attribute des allgemeinen Entitätstyps. Aus diesem Grund findet sich
bei is_a-Beziehungen vom Typ 1:1 an einem Entitätstyp (dem Speziellen)
keine Schlüsselattributangabe. Is-a-Beziehungen lassen sich
auflösen und in eine Tabelle integrieren. Hierzu muss nur der
Primärschlüssel des allgemeineren Entitätstyps entweder als
Fremdschlüssel (bei 1:n) oder als Primärschlüssel (bei 1:1) in die
Tabelle des speziellen
Entitätstyps übernommen werden.
Beispiel

Relationsschema Schüler | Relationsschema Fahrschüler |
SNummer | Name |
Geburtsdatum |
0815 | Schmidt |
09.09.1990 | 4711 | Paulsen | 22.07.1987 | 007 | Bond | 02.05.1936 |
| SNummer |
Ausweisnummer | Zustieg |
0815 | 8277728 | Bahnhof | 007 | 6525593 | Hohenwulsch | |
- Mehrwertige Attribute
Mehrwertige
Attribute werden im relationalen Modell durch eine neue Tabelle
dargestellt, die als Attribute das
Primärschlüsselattribut des Entitätstyps und
das Mehrfachattribut besitzen. Beide Attribute sind Schlüssel
der Tabelle.
Beispiel

Relationsschema Professor | Relationsschema Doktortitel |
Nummer | Name |
Lehrstuhl |
0815 | Schmidt |
KI | 4711 | Paulsen | TI |
| Nummer |
Titel |
0815 | Dr. nat. | 0815 | Dr. phil. | 4711 | Dr. med. dent. |
|