Mehrere Fremdschlüssel in Mastertabelle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Fremdschlüssel in Mastertabelle

    Hallo,

    habe eine kurze Frage im Zusammenspiel von PHP mit MySQL. Was ist die beste Möglichkeit, um einem Datenfeld mehrere Fremdschlüssel aus einer anderen Tabelle mitzugeben (und nachher auch zu Verarbeiten)? Eventuell habt ihr auch irgendwelche Tutorials, Best Practice oder Blogpostings parat.

    Folgendes Beispiel

    Tabelle 1 "Eigenschaften":
    ID-NAME
    1-dick
    2-dünn
    3-groß
    4-klein
    5-schön
    6-hässlich

    Tablle 2 "Kunden":
    ID-NAME-Eigenschaften
    1-mueller-1,4,5
    2-kunze-2,3,6

    Kann man das mit Kommas separieren? Wie würdet ihr das lösen um möglichst performant zu Arbeiten, aber auch später beim auslesen bzw. bei den Queries ziemlich einfaches Spiel hat?

    Danke schonmal für euere Hilfe.

    Grüße

  • #2
    Informiere dich über das Stichwort Normalisierung

    In der Praxis ist es üblich, bis 3NF zu gehen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo,

      danke für deine Antwort. Aber ich glaube die Normalisierung war nicht genau das was ich gesucht habe - ist mir bereits ein Begriff.

      Das heißt nach diesem Prinzip würdest du eine neue Tabelle anlegen

      "Kunden-Eigenschaft-Relation":
      ID-kundenID-eigenschaftID
      1-1-1
      2-1-4
      3-1-5
      4-2-2
      5-2-3
      6-2-6

      Wenn ich aber irgendwann in den der Kundendatenbank 100.000 Einträge habe und jeder 3 Eigenschaften bekommt habe ich ruck-zuck eine riesen Datenmenge die jedes mal abgefragt werden muss.

      Gibt es keine Möglichkeit, alle Eigenschaften in ein Feld dem Kunden zu zuordnen?

      Danke und Grüße

      Kommentar


      • #4
        Zitat von aberultra Beitrag anzeigen
        Aber ich glaube die Normalisierung war nicht genau das was ich gesucht habe - ist mir bereits ein Begriff.
        Doch, ist sie - und wenn sie dir bereits ein Begriff ist, solltest du die Frage gar nicht mehr stellen müssen.

        Wenn ich aber irgendwann in den der Kundendatenbank 100.000 Einträge habe und jeder 3 Eigenschaften bekommt habe ich ruck-zuck eine riesen Datenmenge die jedes mal abgefragt werden muss.
        Das ist ganz normal, und deshalb sind Datenbanken darauf ausgelegt, mit solchen Datenmengen umzugehen.

        Gibt es keine Möglichkeit, alle Eigenschaften in ein Feld dem Kunden zu zuordnen?
        Keine sinnvollen.

        Normalisierung ist das Stichwort.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Zitat von wahsaga Beitrag anzeigen
          Doch, ist sie - und wenn sie dir bereits ein Begriff ist, solltest du die Frage gar nicht mehr stellen müssen.
          Naja, bin noch auf einem Einsteiger bis mittelmäßig fortgeschrittenem Niveau und wollte mich einfach mal umhören, ob es denn noch "geschicktere" Lösungsansäzte gibt für meine Problematik.

          Aber hast mir schon weitergeholfen. Danke dafür

          Kommentar

          Lädt...
          X