ER-Modell Fahrzeugzuweisung

dell1122

Neuer Benutzer
Beiträge
2
Moin zusammen,

ich habe eben dieses Forum entdeckt und hoffe, dass mir hier jemand weiterhelfen kann:

Momentan arbeite ich an einem Hobbyprojekt und erstelle eine Datenbank für eine Einteilung von mehreren Personen auf mehrere Fahrzeuge in einem "Einsatz". Leider bin ich eine totale Niete, was ER Modellierung betrifft. :rolleyes:

Folgendes möchte ich erreichen:

- Es wird ein Einsatz erstellt
- Eine Person kann diesen Einsatz annehmen und dadurch eine "Einsatzteilnahme" erzeugen
- Nun verteilt ein Gruppenleiter diese Einsatzteilnahmen auf ein "Einsatzfahrzeug", welches er erzeugt indem er ein Fahrzeug für diesen Einsatz auswählt
- Ein Einsatz besteht also aus mehreren Einsatzfahrzeugen mit wiederum mehreren Teilnahmen

Zuerst hatte ich es ohne die Einsatzteilnahmen versucht und einfach die Primärschlüssel von User, Einsatz und Fahrzeug in ein Einsatzfahrzeug zusammengeworfen (fühlte sich sehr falsch an).
Ich habe dazu mal mein jetziges, vereinfachtes Modell als Bild hochgeladen.
Wie sollte ich das Ganze nun am besten mit dem Einsatz verbinden?

Vielen Dank im Voraus! :)
 

Anhänge

  • db modell.jpg
    db modell.jpg
    25,5 KB · Aufrufe: 8
Werbung:
Dein Vorhaben hat gewisse Tücken und läßt sich auf verschiedene Wege lösen. Allerdings wirst du viele Dinge nicht in einem Standard ER Modell unterbringen können, sie sind natürlich trotzdem lösbar.

Zunächst mal der "einfachste" Ansatz:
Du hast eine Tabelle Einsätze <-1:n-> Fahrzeuge mit FK auf Einsätze <-1:n-> Personen mit FK auf Fahrzeuge
Damit kannst du theoretisch mit nur 3 Tabellen fast alles abbilden. Natürlich braucht eine Person um am Einsatz teil zu nehmen jetzt erstmal ein Fahrzeug sonst geht es nicht. Auch müsste jedes Fahrzeug und jede Person für jeden Einsatz neu in die Tabelle geschrieben werden was natürlich schnell blödsinnig wird.

Daher erweitern wir das etwas:
Personen <-1:n-> Einsatzteilnahme_Personen (Spalte die Funktion im Einsatz definiert, z.B. Einsatzleiter) <-n:1-> Einsätze
Fahrzeuge <-1:n-> Einsatzteilnahme_Fahrzeuge <-n:1-> Einsätze
Einsatzteilnahme_Personen <-n:1-> Einsatzteilnahme_Fahrzeuge
In der Einsatzteilnahme_Personen gibt es einen FK auf Einsatzteilnahme_Fahrzeuge, der kann ja auch Anfangs NULL sein.

Jetzt musst du einige Dinge abbilden die so nicht aus dem Modell hervor gehen. Beispiele:
- Eine Person kann nur einmal an einem Einsatz Teil nehmen.
- Eine Person kann nicht an mehreren Einsätzen gleichzeitig Teil nehmen.
- Ist eine Person einem teilnehmenden Fahrzeug zugeordnet muss in beiden Beziehungstabellen der Einsatz FK identisch sein.
- Ein Fahrzeug kann, je nach Fahrzeug, unterschiedliche viele Personen maximal aufnehmen.

All das läßt sich über Constraints und ggf. Trigger regelen, wird aber nicht im ER auftauchen.
 
Werbung:
Zurück
Oben