Überführung des ERM in das relationale Modell
Einstieg
Im Entwurfsprozess von Datenbanken folgt der konzeptionellen Phase mit der Entwicklung des Entity-Relationship-Modells die Umsetzung in das Relationale Modell, was bedeutet, dass die graphische Darstellung in Tabellen mit Tabellennamen, Spaltenüberschriften und ggf. auch schon Datentypen überführt wird.
Voraussetzung für die Bearbeitung dieses Lernpfades sind also Kenntnisse über:
- Den Entwurfsprozess von Datenbanken (s. dazu auch die Verlinkungen im Webquest auf dem Hessischen Bildungsserver)
- Das Entity-Relationship-Modell (s. dazu auch den Webquest auf dem Hessischen Bildungsserver)
- Die Konzepte von Primär- und Fremdschlüssel ( Für Lernende der Beruflichen Schulen: s. dazu auch den Lernpfad auf dem Hessischen Bildungsserver)
In den folgenden Einheiten lernst Du die Regeln kennen, nach denen Du ein ERM in das Relationale Modell überführst.
Regeln zur Überführung des ERM in das relationale Modell
Im Relationalen Modell muss die Information über die Beziehung zwischen den Entitätstypen in Tabellen erfasst werden. Dies erfolgt mit Hilfe von Fremdschlüsselattributen (s. auch Lernpfad auf dem Hessischen Bildungsserver).
Die Regeln zur Überführung eines ERM in das Relationale Modell sind einfach und führen später, sofern die Modellierung des ERM sorgfältig erfolgt ist, zu einer normalisierten Datenbank:
- Jeder Entitätstyp wird zu einer eigenen Tabelle in der Datenbank.
- Jede n:m-Beziehung wird zu einer eigenen Tabelle in der Datenbank (Zuordnungstabelle).
- Attribute werden zu Spaltenüberschriften in den jeweiligen Tabellen.
- 1:1-Beziehungen werden über ein Fremdschlüsselattribut in einer der beteiligten Tabellen realisiert (achte dabei darauf, dass später keine NULL-Werte entstehen).
- 1:n-Beziehungen werden über ein Fremdschlüsselattribut in der n-seitigen Tabelle realisiert.
- n:m-Beziehungen werden über die Fremdschlüsselattribute der beteiligten Entitätstypen in der jeweiligen Zuordnungstabelle realisiert.
Eine einfache und übersichtliche Veranschaulichung findest Du HIER.
Im nächsten Kapitel wird das anhand eines Beispiels verdeutlicht.
Zusatz: Nur für Lernende von Beruflichen Schulen:
Vielleicht klingen diese Regeln für Dich sehr abstrakt, dann hast Du möglicherweise das Konzept der Fremdschlüssel noch nicht verstanden. Dann bearbeite zuerst den Lernpfad zu Primär- und Fremdschlüsseln und sieh Dir an, wie das ERM dort entsprechend der o. g. Regeln um die Fremdschlüssel ergänzt worden ist .
Wenn Du die Ergänzung der Fremdschlüssel bereits im eERM vorgenommen hast, dann brauchst Du an dieser Stelle nur noch 3 Regeln zu befolgen:
- Jeder Entitätstyp wird zu einer eigenen Tabelle in der Datenbank.
- Jede n:m-Beziehung wird zu einer eigenen Tabelle in der Datenbank (Zuordnungstabelle).
- Alle Attribute werden zu Spaltenüberschriften in den jeweiligen Tabellen.
Beispiel: Vom ERM zum relationalen Modell
Wir betrachten ein einfaches ERM mit einer 1:n-Beziehung und einer n:m-Beziehung:
Beschreibung des ERM
Dargestellt ist hier das ERM einer Kursverwaltung mit 3 Entitätstypen: Teilnehmer/-in, Kurs, Kursleitung.
Die Entitätstypen sind beispielhaft mit Attributen versehen. Die Primärschlüsselattribute sind farblich gekennzeichnet und unterstrichen (der Unterstrich ist die Kennzeichnung im ERM nach Chen). Im Beispiel sind die Primärschlüsselattribute: Mitgliedsnummer (kennzeichnet Teilnehmer/-in), Personlalnummer (kennzeichnet Kursleitung) und Kursnr (kennzeichnet Kurs).
Überführung in das relationale Modell
Im folgenden wird das Primärschlüsselattribut mit PK und das Fremdschlüsselattribut mit FK abgekürzt.
Dieses ERM wird nun nach den beschriebenen Regeln in das relationale Modell überführt und zwar in folgender Schreibweise:
TABELLENNAME(PK, Attribut 1, Attribut 2, .... , Attribut n, ↑FK 1, ↑FK 2, .... , ↑FK n)
Relationales Modell
KURS(Kursnr, Bezeichnung, DauerMin, Wochentag, Beginn, KostenJeTermin, Karten, ↑Personalnummer)
TEILNEHMER_IN(Mitgliedsnummer, Nachname, Vorname, EMail, ....)
KURSLEITUNG(Personalnummer, Nachname, Vorname, Telefon, Honorar)
BELEGUNG(BelgungsNr, ↑Kursnr, ↑Mitgliedsnummer)
Erläuterung
Die 3 Entitätstypen Kurs, Teilnehmer/-in und Kursleitung werden zu eigenen Tabellen (Relationen).
Die n:m-Beziehung ordnet die Kursbelegung zu und ist hier mit der Tabelle BELEGUNG erfasst.
Die Primärschlüssel der Tabellen stehen zu Beginn jeder Relation und sind unterstrichen.
Die 1:n-Beziehung ist durch einen Fremdschlüssel in der n-seitigen Tabelle realisiert. Im Beispiel ist das der Verweis auf die Personalnummer der jeweiligen Kursleitung. Der FK ist durch einen vorangestellten ↑ gekennzeichnet.
Die Zuordnung in der n:m-Beziehung wird in der Zuordnungstabelle BELEGUNG durch das Setzen des FK auf den Kurs und des FK auf die Teilnehmer/-in. Es werden also als Fremdschlüsselattribute Mitgliedsnummer und Kursnummer eingefügt.
Zur Verdeutlichung erfolgt hier die Darstellung einiger beispielhafter Datensätze in den Tabellen:
Die Tabellen sind jeweils zur Verdeutlichung durch eine Farbe gekennzeichnet. Der Primärschlüssel der jeweiligen Tabelle ist in der Tabelle mit ebendieser Farbe markiert. Der Fremdschlüssel ist durch die Farbe der jeweiligen Mastertabelle gekennzeichnet. So kann man z. B. in der Tabelle KURS (blau) sehen, dass die Personalnummer (gelb) ein Fremdschlüssel ist, der auf die Tabelle KURSLEITUNG (gelb) verweist. Die Personalnummer P100 in der Tabelle KURS (hier Fremdschlüssel) verweist auf den Datensatz mit der Personalnummer P100 in der Tabelle KURSLEITUNG (hier Primärschlüssel).
Check: Relationales Modell
Checke mit dem Learningsnack (Hier klicken), ob Du ein ERM in ein relationales Modell überführen kannst.
Hat es geklappt? Herzlichen Glückwunsch! Du hast verstanden, wie man ein ERM in das Relationale Modell überführt :).
Hattest Du noch Schwierigkeiten mit dem Snack? Oder waren Dir die richtigen Lösungen nicht ganz klar? Dann gehe doch in diesem Pfad noch einmal zurück und sieh Dir das Beispiel und die Erläuterungen dazu noch einmal an. Danach kannst Du den Snack noch einmal probieren.
Sieh Dir auch den Ausblick in diesem Lernpfad noch an, denn bevor Du Dein Relationales Modell mit einem Datenbank-Management-System (DBMS) in ein Physisches Tabellenmodell überführen kannst, musst Du noch ein paar Überlegungen anstellen.
Was jetzt noch zu tun ist ...
Bevor Du Dein Relationales Modell mit einem Datenbank-Management-System (DBMS) in ein Physisches Tabellenmodell überführen kannst, musst Du noch ein paar Überlegungen anstellen.
Du musst für jedes Attribut festlegen, welche Art von Information gespeichert werden soll. Du legst fest, ob da später z. B. eine Zahl eingetragen, ein Text hinterlegt, ein Datum eingefügt, eine Währungsangabe gemacht oder etwa eine Datei eingefügt wird. Diese Information wird über Datentypen und deren Wertebereiche erfasst. Eine recht übersichtliche und einfache Einführung findest Du HIER. Allerdings musst Du wissen, dass die Bezeichnungen für die Datentypen anwendungsspezifisch sind.
Dein Relationales Modell solltest Du bereits um diese Information ergänzen, so dass eine andere Person in der Lage ist, das von Dir entwickelte Modell zu realisieren. Dabei ist es natürlich hilfreich, wenn Du die Bezeichnungen verwendest, die für das eingesetzte DBMS verwendet werden.
Bevor es zu Realisierung kommt, musst Du überprüfen, ob Dein Datenmodell wirklich zu einer normalisierten Datenbank führt, damit es im Betrieb nicht zu Anomalien (Änderungs-, Lösch- und Einfügeanomalie) kommt.. Dazu musst Du Dich mit dem Thema "Normalisierung von Datenbanken" beschäftigen. In der Schule muss man i. d. R. Datenbanken in der 3. Normalform entwickeln. Dazu kannst Du Dir Videos zur 1. Normalform, 2. Normalform und 3. Normalform ansehen.
Sollten Dir die fett gedruckten Begriffe und Konzepte noch nicht bekannt sein, musst Du Dich damit noch beschäftigen. Einen ersten Überblick kannst Du Dir anhand der verlinkten Videos verschaffen.