Erweitertes ER-Modell?

2 Antworten

ER-Modelle werden für die konzeptionelle Designphase einer Datenbank angelegt. In der geht es noch nicht um eine tabellenbasierte Darstellung. Eine Überführung in ein tabellenbasiertes Schema erfolgt erst in der nächsten Stufe: Dem logischen Datenbankmodell.

Das heißt, wenn deine Tabellen eine Antwort auf die erste Aufgabe sein sollen (in der Fragestellung und den Tags drückst du dich dementsprechend ja auch aus), dann ist dies falsch. Gefordert ist ein ER-Modell in Krähenfußnotation. Sofern musst du erst einmal nur die Entitäten mit ihren Attributen ermitteln und ihre Beziehungen darstellen.

Beispiel (allerdings sollten alle Linien durchgezogen sein):

---------                --------------
| Farbe |      hat       | Stammrezept |
----------------------|-----------------
| Name  |                |             |
---------                ---------------

Erst in der Aufgabe 2 geht es um die Konversion in ein logisches Datenbankmodell, indem das ER-Diagramm in ein tabellarisches, relationales Modell konvertiert wird.

Die beiden Beziehungstabellen machen bei dir Sinn, allerdings darf die ID-Spalte jeweils kein Primärschlüssel sein, denn der soll einen Datensatz ja eindeutig kennzeichnen. Es darf keine Datensätze mit gleichem Primärschlüsselwert in einer Tabelle geben.

Die ID-Spalte sollte zu Stammrezept_ID umbenannt werden, es handelt sich um eine Fremdschlüsselbeziehung zu der ID aus der Tabelle Stammrezept. Der Primärschlüssel in diesen Beziehungstabellen wiederum könnte sich entweder aus mehreren Spalten zusammensetzen (z.B. Stammrezept_ID und Farbstoff_ID/Chemikalien_ID) oder du legst eine neue ID-Spalte an.

Eine Eingliederung in eine Tabelle (Stammrezept) wäre bei deinem aufgestellten Modell ungünstig, da ein Rezept aus mehreren Chemikalien und Farbstoffen (zwei unterschiedlichen Typen) bestehen kann. Die müsste man zuerst zu einem Typ Zutat (mit den Attributen Typ und Name) zusammenfassen. Dann könnte man Datensätze generieren, die sich allerdings in einigen Spaltenwerten stets wiederholen.

Beispiel:

ID | Farbe | Zutat   | Zutatmenge |
-----------------------------------
1  | rot   | Zutat 1 | 200        |
2  | rot   | Zutat 2 | 250        |
3  | rot   | Zutat 3 | 50         |

Ich würde sogar nur zwei Tabellen machen:
Auftrag und Stammrezept.