Kleine Hilfestellung bei ERM-Entwurf gesucht ;)



  • Hallo zusammmen,

    Ich entwerfe das ERM für eine Speisekarte.

    Nun ist aber folgende Problematik aufgetreten:

    Jedes Gericht gibt es auch als Kinderportion. Wenn z.B. die Nummer für die normale Portion 50 ist, hat die Kinderversion 51. Beschreibung bleibt gleich, lediglich Preis und halt Nummer ändern sich.
    Es soll nun verhindert werden, dass die beschreibung für die Kinderportion wiederholt eingeben werden soll...

    Ich soll das irgendwie im ERM abbilden, nur hab ich momentan überhaupt keine Idee.

    Ich soll zwar auch eine Applikation schreiben, mit der die Daten verwaltet werden(da wüsste ich sofort wie ich das Problem behandeln würde),
    aber soll es halt irgendwie schon von der Datenbank aus abgedeckt werden...

    Würd mich freuen wenn jemand einen Tipp hat!

    Gruß,
    MastaFlasH

    Edit: Es handelt sich um eine Mysql-Datenbank



  • für die beschreibung eine id benützen, sowas hier zB:

    beschreibungen
    ==============
      id   beschreibung
       1   Wiener Schnitzel vom Kalb ...
       2   Spaghetti Bolognese
    
    speisen
    =======
      id   beschrid  preis  
       1   1         9,40
       2   1         6,40
       3   2         8,30
       4   2         6,00
    

    Eine Speise hat eine Beschreibung.
    Eine Beschreibung kann von mehreren Speisen benützt werden.

    Macht eine 1.* Beziehung.

    Wenn es tatsächlich *jedes* Gericht als Kinderportion gibt kannst du aber auch eventl. eine preis und eine preis_kind Spalte anlegen und fertig.

    MfG SideWinder



  • SideWinder schrieb:

    für die beschreibung eine id benützen, sowas hier zB:

    beschreibungen
    ==============
      id   beschreibung
       1   Wiener Schnitzel vom Kalb ...
       2   Spaghetti Bolognese
    
    speisen
    =======
      id   beschrid  preis  
       1   1         9,40
       2   1         6,40
       3   2         8,30
       4   2         6,00
    

    Eine Speise hat eine Beschreibung.
    Eine Beschreibung kann von mehreren Speisen benützt werden.

    Macht eine 1.* Beziehung.

    Wenn es tatsächlich *jedes* Gericht als Kinderportion gibt kannst du aber auch eventl. eine preis und eine preis_kind Spalte anlegen und fertig.

    MfG SideWinder

    Das ist mir schon klar 😉

    Mein Chef wollte aber folgende Sache: Wenn die normale Portion 50 ist, soll die Kinderportion automatisch den Eintrag 51 bekommen, und die Bschreibung direkt auf den neuen Datensatz übernommen werden.

    Hab mich vielleicht nicht ganz klar ausgerückt 😉

    Und was das angeht, sehe ich nur eine Lösung vom Frontend aus(App) aber nicht in der eigentlichen Datenbank...



  • Wieso will dein Chef unbedingt 2 Einträge draus machen? Ist ja selten dämlich 😕

    Ja also dann einfach im Frontend beim Einfügen nicht nur einen INSERT-Befehl machen sondern gleich 2, wobei der zweite sich vom ersten nur durch den Preis unterscheidet (id ist eh auto-value).

    MfG SideWinder



  • SideWinder schrieb:

    Wieso will dein Chef unbedingt 2 Einträge draus machen? Ist ja selten dämlich 😕

    Ja also dann einfach im Frontend beim Einfügen nicht nur einen INSERT-Befehl machen sondern gleich 2, wobei der zweite sich vom ersten nur durch den Preis unterscheidet (id ist eh auto-value).

    MfG SideWinder

    So werde ich es jetzt auch handhaben:)
    War nur eine kleine Diskussion mit Cheffe notwendig :p



  • Ansonsten kannste mit Oracle einen Trigger erstellen der das automatisch macht...^^



  • Vernochan schrieb:

    Ansonsten kannste mit Oracle einen Trigger erstellen der das automatisch macht...^^

    MastaFlasH schrieb:

    Es handelt sich um eine Mysql-Datenbank

    👍😉

    MfG SideWinder



  • Ja war gedacht in die Richtung:
    "Mit oracle könnteste trigger machen"... ^^



  • Vernochan schrieb:

    Ja war gedacht in die Richtung:
    "Mit oracle könnteste trigger machen"... ^^

    Sind ja eigentlich auch nur Funktionen.

    Da MySQL sowas nicht hat muss dies eben du einen 2ten INSERT nachbilden.
    IMHO mach ich das lieber als unednlich viel Geld für eine DB auszugeben.



  • Natürlich der Kosten/Nutzen faktor steht in keiner Relation zu einem Client der einfach 2 Inserts macht.


Anmelden zum Antworten