Springe zum Inhalt

Transformation eines Entity-Relationship-Modell (ERM) in ein relationales Datenbankschema

Im Rahmen der Datenmodellierung wird der Problembereich einer Analyse unterzogen, sodass die Diskurswelt, also der relevante Ausschnitt der Realität bzw das Modell, in der Form eines ER-Diagramms dargestellt werden kann. Das konzeptuelle Schema (ER-Diagramm) kann nun mit Hilfe von Tranformationsregeln in das relationale Datenbankschema überführt werden. Das Resultat hieraus sind Relationenschemata, welche anschliessend einer Normalsierung unterzogen werden müssen. Zum Thema Normalisierung werde ich einen eigenen Artikel schreiben, da diese Themen sehr gut abgegrenzt werden können.

In diesem Artikel werde ich also die notwendigen Kenntnisse vermitteln um ein ER-Diagramm in Relationenschemata zu überführen. Dies werde ich mit zahlreichen Beispielen visualisieren um dieses relativ abstrakte Thema anschaulicher zu gestalten.

Konvertieren von Attributen mit Mehrfachwerten

Attribute mit Mehrfachwerten zeichnen sich dadurch aus, dass ein einzelner Datensatz mehrere Wertausprägungen dieses Attributes haben kann. Als Beispiel für so einen Fall kann man sich ein Hobby vorstellen. Man kann viele Hobbys haben und somit ist Hobby ein Attribut mit Mehrfachwerten.

Diese Art von Attributen werden immer über einen eigenen schwachen Entitätstypen abgebildet und ein Primärschlüssel (z.B. ID) zugewiesen. Der neue Entitätstyp wird dann über eine 1:N-Beziehung angebunden.

transformation-erm-in-relationenschemata_1

Konvertieren von normalen Entitätstypen

Entitätstypen

Nun werden alle Entitätstypen (schwache und starke) in ein eigenes Relationenschema überführt, sowie alle Attribute übernommen. Die Schlüssel der Entitäten bilden auch die Primärschlüssel für das Relationenschema.

Attribute

Sollten zusammengesetzte Attribute auftreten so werden ausschliesslich die Komponentenattribute übernommen.

 

Konvertieren von binären Beziehungstypen

Transformation von 1:1 Beziehungen

Beziehungstyp:

1:1 Beziehungen können transformiert werden indem der Beziehungstyp ausgelöst wird, also nicht in einer eingenen Relation dargestellt wird. Einer der beiden beteiligten Entitätstypen erhält einen Fremdschlüssel, also den Schlüssel des anderen Entitätstypen. Wenn einer der beteiligten Typen voll partizipiert, muss dieser den Fremdschlüssel tragen.

Attribute:

Wenn der Beziehungstyp eigene Attribute trägt gehen diese auf den E-Typen über der den Fremdschlüssel trägt.

In diesem Schritt werden auch zusammengesetzte Attribute aufgelöst indem nur ihre Komponentenattribute in die Relation aufgenommen werden.

transformation-erm-in-relationenschemata_2

Transformation von 1:N Beziehungen

Beziehungstyp:

Eine „Eins-zu-viele-Beziehung“ wird ebenfalls aufgelöst indem man dem Relationenschema dem der „N-Teil“ zugeordnet ist, den Fremdschlüssel des anderen E.-Typs hinzufügt.

Attribute:

Falls der Beziehungstyp eigene Attribute hat, werden diese dem Entitätstyp mit dem Fremdschlüssel zugeordnet. Zusammengesetzte Attribute werden wiederum aufgelöst indem nur die Komponentenattribute übernommen werden.

transformation-erm-in-relationenschemata_3

Transformation von N:M Beziehungen

Beziehungstyp:

Die „Viele-zu-Viele-Beziehung“ wird prinzipiell in einem eigenen Relationenschema abgebildet. Hierbei erhält das neue Schema die Schlüssel der beiden beteiligten Entitätstypen als Fremdschlüssel. Der Schlüssel des neuen Schema ist zusammengesetzt aus den beiden Fremdschlüsseln, sie bilden also zusammen den Primärschlüssel.

Attribute:

Die Attribute des Beziehungstyps gehen ebenfalls in das neue Schema ein und wieder werden im Falle zusammengesetzter Attribute nur die Komponentenattribute übernommen.

transformation-erm-in-relationenschemata_4

Konvertieren von nichtbinären Beziehungstypen

Beziehungstyp:

Ähnlich der binären N:M Beziehung werden ternäre oder höherwertige Beziehungstypen ebenfalls in eigene Relationenschemata aufgelöst. Dabei trägt das neue Schema wieder als Fremdschlüssel alle Primärschlüssel der beteiligten Entitäten. Der Primärschlüssel des neuen Relationenschemas setzt sich aus allen Fremdschlüsseln zusammen.

Attribute:

Die Attribute des Beziehungstyps werden wieder aufgenommen und wie bisher zusammengsetzte Attribute durch deren Komponenten repräsentiert.

 

Wie geht es weiter – Beseitigung von Redundanzen

Das nun vorliegende logische Schema, welches wir Schritt für Schritt aus dem konzeptuellen Schema transformiert haben, liegt nun in einer denormalisierten Form vor bzw. muss einer Normalisierung unterzogen werden. Die Normalisierung betrachtet funktionale Abhängigkeiten um die Redundanz im Datenmodell zu beseitigen. Es gibt natürlich Fälle in denen Redundanz gewollt ist um z.B. BI-Probleme zu lösen oder aber auch die Abfrageperformance zu verbessern, jedoch ist das wieder ein eigenes Thema. In diesem Fall hier möchten wir Redundanzen beseitigen um Anomalien zu vermeiden. Anomalien können auftreten wenn Datensätze gelöscht werden oder einem Update unterzogen werden. Besteht Redundanz so kann es passieren das z.B. redundant angelegte Attribute verschiedene Werte tragen. Die Normalisierung wird in einem gesonderten Artikel behandelt werden.

 

 

Veröffentlicht inDatenbankenDatenmodellierungTechnik und Technologie

Sei der Erste der einen Kommentar abgibt

Schreibe einen Kommentar