Datenmodell Hilfe - Wie aufbauen?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Datenmodell Hilfe - Wie aufbauen?

    Guten Tag, ich schieße mal direkt los:

    Wir haben folgende Tabellen (Pseudo!):
    Menschen:
    id
    name
    geburtstag







    Eisbecher:
    id
    name
    ??
    0
    Neuer Becher





    Eiskugeln:
    id
    name
    0
    Schoko
    1
    Nutella


    Jetzt Kann natürlich jeder beliebige User, beliebig viele Eisbecher "anlegen" und auch beliebig viele Eisskugeln dort hinein stecken.

    Meine Frage wäre, ist es nicht die schlauere Möglichkeit, die Tabelle Eisbecher so zu gestalten, dass sie die Spalte "Kugeln" bekommt?

    Dann würde man nicht 100 gleiche Datensätze anlegen müssen, die per id einem Eisbecher zugeordnet wären, sonder man hätte ja immer wieder die selben Kugeln, die dann per id in die Spalte "Eiskugeln" eingetragen wäre.

    So zb.

    Tabelle Eisbecher
    id
    name
    Kugeln
    0
    Neuer Becher
    0,1





    Ich hoffe ihr versteht wie ich das meine und könnt mir da weiterhelfen..
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Rootbob91“ ()

    Ein Eisbecher kann mehrere Kugeln haben, und eine Kugelsorte kann zu mehreren Bechern gehören. Zumal ein Becher auch 2 Kugeln der gleichen Sorte haben kann. Das ist m:n-Beziehung, du brauchst also eine Routing-Tabelle, die beides vereint, sie hat Spalten ID, KugelID, EisbecherID. Das gleiche bei Menschen, ein Mensch kann mehrere Eisbecher haben und ein Eisbecher kann von mehreren Menschen ausgewählt werden. Oder willst du den Eisbecher jedes Mal neu anlegen, auch wenn er gleich ist? Wenn ja, dann trägst du bei Eisbecher-Tabelle einfach MenschenID ein. Wenn nicht, dann Routertabelle mit ID, MenschenID, EisbecherID.

    shaebich schrieb:

    Du kannst in einer Tabelle Eisbecher nicht in einer Spalte mehrere Fremdschlüssel eintragen ;)

    An sich geht das nicht, ich hätte mir da son Gewurschtel gemacht wie durch "," getrennte IDs, aber da dachte ich mir schon, dass das eine schlechte Lösung wäre^^.. Danke fürs Beispiel :)!
    Ich gucke gleich mal.

    @sonne75 Okay, ich schau mal!


    Oh man, dass finde ich schon kompliziert, irgendwie komme ich damit nicht klar :/!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rootbob91“ ()

    Also an sich verstanden hab ich's ja, nachdem ich die Tabellen passend aufgebaut habe, werde ich mal schauen, ob ich mit der SQL-Handhabung zurechtkomme.

    Danke soweit!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Rootbob91 schrieb:

    Also an sich verstanden hab ich's ja

    Das ist schön und vor allem finde ich gut, dass Du Dir vorher um Dein Datenmodell Gedanken machst.
    Um Entitäten und das ER-Modell besser zu verstehen, empfehle ich auch einen Blick in folgende Ecken: LINK, LINK, LINK
    Ganz sicher gibts dazu auch tolle Links vom Erfinder des Rades zu seinen eigenen Tuts, aber das soll er denn dann selbst machen wenn er möchte.

    LG,
    Bruno
    Klar brauchst du die EISSORT_ID...

    Damit kannst du ja z.B. später abfragen ob ein Kunde einen Eisbecher mit einer Kugel Schoko und einer Kugel Vanille hatte.

    Wenn du schon ein Datenmodell aufstellst dann geh auch komplett ins Detail ;).

    Sonst kannst du gleich eine Tabell machen mit Kunde kauf Eisbecher mit 5 Kugeln^^

    Dann brauchst du dir gar keine gedanken machen über Entitäten und so n zeuch :D

    shaebich schrieb:

    Klar brauchst du die EISSORT_ID...


    Und was steht da drin? Du hast doch selbst eine Tabelle "Becherinhalt", wo Eisbecher-ID und Eissorte-ID drin sind: es ist eine m:n-Beziehung. Ein Eisbecher hat mehrere Kugeln, was willst du also unter Eissorte-ID im Eisbecher eintragen? Welche Sorte von mehreren?
    Es ist absolut sinnlos, deswegen muss sie weg, stattdessen die Anzahl (vielleicht braucht man sie später für irgendwas).
    Wow, vielen Dank für die vielen Antworten :)!

    Ich bin schon viiieeel weiter gekommen! Ich melde mich falls nochmal was anfällt, einen Teil der Videos von EDR habe ich mir schon angesehen, aber bin gerne bereit zu mehr ;)!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..