thomas: Verständnisfrage zu MySQL

Hallo zusammen! Ich bin gerade in der Konzeptphase für ein Voting-Modul für meine Seite. Das bau ich mit PHP und MySQL. Über ein Frontend kann ich neue Umfragen anlegen, löschen usw... Allerdi´ngs seh ich ein Problem: jede Umfrage wird eine andere Anzahl an möglichen Antworten haben (mal 2, mal 3 oder höher). Wie sieht dann die Datenbankstruktur aus? Ich meine die muss doch festgelegte Felder haben? Hoffe ihr versteht was ich meine!

thomas.

  1. Hello,

    das Problem schiebe ich auch schon ewig vor mir her.
    Solange man die Datendarstellung in der DB auf einen Datentyp reduzieren kann, kann man einfach der Abfrage verschiedene Eigenschaften zuordnen

    ABFRAGE
      PROP 1 Typ1 Frage1
      PROP 2 Typ2 Frage2
      PROP 3 Typ2 Frage3
      PROP 4 Typ7 Frage22

    D.h.: auflösen in zwei Tabellen.

    Grüße

    Tom

    1. Ok dann bleibt mir wohl nichts anderes übrig als 2 Tabellen zu benutzen oder gibts noch ne andere pfiffige Lösung?

      thomas.

      1. hi,

        Ok dann bleibt mir wohl nichts anderes übrig als 2 Tabellen zu benutzen oder gibts noch ne andere pfiffige Lösung?

        du scheinst das als _nachteil_ anzusehen.
        ist es aber nicht.

        der sinn von datenbanken besteht u.a. darin, die daten so weit wie möglich zu "normalisieren", um redundanzen zu vermeiden etc.

        für ein datenmodell mehrere tabellen zu haben, zwischen denen abhängigkeiten bestehen, ist _nichts schlimmes_.

        gruss,
        wahsaga

        1. für ein datenmodell mehrere tabellen zu haben, zwischen denen abhängigkeiten bestehen, ist _nichts schlimmes_.

          Ok dann werd ichs so machen...

          Danke, thomas.

        2. hi,

          der sinn von datenbanken besteht u.a. darin, die daten so weit wie möglich zu "normalisieren", um redundanzen zu vermeiden etc.

          ich würde sagen soweit wie sinnvoll und nicht wie möglich. normalisierungen können an der praxis vorbei segeln.

          für ein datenmodell mehrere tabellen zu haben, zwischen denen abhängigkeiten bestehen, ist _nichts schlimmes_.

          das kann bei großen dadatenbank und vielen tabellen schon zu problemen führen, da die anzahl der tabllen die performance beinträchtigt. aber in seinem fall einer 1:n beziehung mit 2 tabellen ist diese aufteilung sehr zu empfehlen.

          gruß
          Ilja

          1. hi,

            der sinn von datenbanken besteht u.a. darin, die daten so weit wie möglich zu "normalisieren", um redundanzen zu vermeiden etc.

            ich würde sagen soweit wie sinnvoll und nicht wie möglich. normalisierungen können an der praxis vorbei segeln.

            ja, natürlich, hast recht.

            gruss,
            wahsaga

  2. Hi,

    selbst geschrieben hab ich sowas auch noch nie, aber so als "aus dem ärmel schüttel"-ansatz:
    tabelle umfragen:
    id                  (autoincrement)
    fragentext

    tabelle optionen:
    id                  (autoincrement)
    umfrageid           (fremdschlüssel aus umfragen)
    nummer              (position der option)
    optionstext

    --> Eine Frage ergibt sich dann aus einem Fragentext/einer Umfrage mit ihren einzelnen Optionen in der Reihenfolge "nummer"

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(