1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

ER-Modell Fahrzeugzuweisung

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von dell1122, 13 Mai 2018.

  1. dell1122

    dell1122 Neuer Benutzer

    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:

  2. ukulele

    ukulele Datenbank-Guru

    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.
     
    dell1122 und Walter gefällt das.
  3. dell1122

    dell1122 Neuer Benutzer

    Vielen Dank für die Antwort ukulele, das hat mir sehr weitergeholfen!
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden