Schulaufgabe zu Beziehungen in einer Datenbank Bitte um Drüberschauen meiner Lösung:)

  • Hallo,


    ich bin völlig neu im Thema Datenbankenmodellierung und habe heute folgende Aufgabe bekommen:
    Ein Taxiunternehmen entwickelt eine App, die es Kunden ermöglichen soll nach der Fahrt eine Bewertung abzugeben. Nun gibt es drei mögliche Entwürfe mit den folgenden Fragen, die ich für jeden Entwurf beantworten soll:
    -Kann jeder der Kunden, der an einer Fahrt teilgenommen hat, anschließend eine Bewertung abgeben?
    -Können Kunden an einer Fahrt teilnehmen, ohne diese zu bewerten?
    -Ist sichergestellt, dass maximal eine Bewertung pro Kunde pro Fahrt abgegeben wird?
    -Ist sichergestellt, dass Bewertungen nur für Fahrten abgegeben werden, an denen die Kunden auch teilgenommen haben?


    Die Modelle sind im Anhang. Könntet ihr kurz über meine Lösungen schauen und mich korrigieren?



    Entwurf 1:
    1. Nein,da keine Beziehung zwischen Kunde und Bewertung
    2. Ja
    3. Nein, eine Fahrt hat höchstens eine Bewertung
    4. Ja, da Entität "Fahrt" nur zustande kommt, wenn eine Buchung vorliegt(also der Kunde wirklich mitfährt)


    Entwurf 2:
    1. Nein, nur ein Kunde kann eine Bewertung abgeben (wegen 1:1-Beziehung zwischen Bewertung und "bucht")
    2. Nein, es muss eine Bewertung abgegeben werden, da sie fester Bestandteil einer Buchung ist
    3. Nein, insgesamt kann nur eine Bewertung pro Fahrt abgegeben werden, egal wieviele Kunden teilgenommen haben
    4. Ja, wenn die Kundschaft nicht fährt, kommt kein Buchungsverhältnis zustande und somit wird auch nicht die Bewertung gespeichert


    Entwurf 3:
    1. Ja, jeder der Kunden kann eine Bewertung abgeben (wegen n:1-Verhältnis zwischen Bewertung und Kunden)
    2. Ja, 0 bis n Kunden können eine Bewertung abgeben (wegen 0:n zwischen kunden und "von"-Beziehung)
    3. Ja, wegen 1:1 Verhältnis zwischen ("von"-Beziehung und Bewertung)
    4. Ja, eine Entität Fahrt kommt nur zustande, wenn der Kunde gebucht hat (also auch wirklich fährt)


    Könnte vieles Falsch sein, da ich zum ersten Mal so eine Aufgabe mache, bitte sagen, was ich dann falsch gemacht habe [Blockierte Grafik: http://www.datenbankforum.com/styles/default/xenforo/smilies/smile.png] Vielen Dank im Voraus!