3 Lieblingsfarben - ENUM oder SET oder ...?

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

  • 3 Lieblingsfarben - ENUM oder SET oder ...?

    Hallo,

    es existierten in der Tabelle "Farben" ca. 10 verschiedene Farben,
    woraus sich jeder User seine 3 Lieblingsfarben aussuchen kann.

    Theoretisch würde ich da SET() nehmen mit den 10 Farben und fertig,
    aber es werden in Zukunft noch weitere Farben hinzugefügt, deswegen
    auch eine extra Tabelle.

    Jetzt die Frage: In den Stammdaten sollen also nur die IDs der Farben
    gespeichert werden, was nehme ich da für einen Spaltentyp? Der User
    darf auch gar keine Farbe auswählen oder nur 2...

    Aufbau "stammdaten":

    id INT fortlaufend,
    user VARCHAR
    lieblingsfarben (WELCHER TYP?)

    Aufbau "farben":

    id INT fortlaufend,
    farbe VARCHAR

  • #2
    Re: 3 Lieblingsfarben - ENUM oder SET oder ...?

    Original geschrieben von Truncate
    Jetzt die Frage: In den Stammdaten sollen also nur die IDs der Farben gespeichert werden, was nehme ich da für einen Spaltentyp?
    Für IDs? INT natürlich.
    Der User darf auch gar keine Farbe auswählen oder nur 2...
    Da du ja vernünftig normalisierst, ist das alles ohne Belang.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      D.h. ich soll 3 Spalten einrichten mit lieblingsfarbe1, lieblingsfarbe2 und lieblingsfarbe3 ???

      Kommentar


      • #4
        Original geschrieben von Truncate
        D.h. ich soll 3 Spalten einrichten mit lieblingsfarbe1, lieblingsfarbe2 und lieblingsfarbe3 ???
        Nein, natürlich nicht.

        Wenn dir das Stichwort "Normalisierung" nichts sagt - das sollte es aber, wenn du mit Datenbanken arbeitest - dann informiere dich bitte darüber.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Normalisierung kann alles bedeuten

          Demzufolge soll ich die Speicherung der Lieblingsfarben auch noch auslagern?

          CREATE TABLE lieblingsfarben

          userid INT
          lieblingsfarbe INT

          ???

          Kommentar


          • #6
            Original geschrieben von Truncate
            Normalisierung kann alles bedeuten
            Viele Begriffe können allgemein betrachtet "alles Mögliche" bedeuten.
            Nicht aber unter Leuten, die sich miteinander (und mit Ahnung) über ein klar umrissenes Thema unterhalten.
            Demzufolge soll ich die Speicherung der Lieblingsfarben auch noch auslagern?
            Wenn du kein SET verwenden möchtest - ja.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Nun SET() geht doch sowieso nicht, da die Werte beim Erstellen der DB ja schon FEST festgelegt werden müssen oder nicht?!

              Kommentar


              • #8
                Man soll Tabellen ja Gerüchten zufolge auch noch ändern können ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Klar kann ich da Werte hinzufügen, aber das solle ja automatisch gehen, sprich wenn eine neue Farbe dazukommt, sollte die auch in SET() dann vorhanden sein.

                  Aber gut ich lager das mal alles aus, auch wenn dadurch nur noch mehr Tabellen entstehen und irgendwelche JOINS nötig werden und alles aufblähen :-/

                  Kommentar

                  Lädt...
                  X