andi123: Tabellenentwurfsproblem

Hallo,

ich moechte eine Art Votingsystem fuer Bilder bauen.

Vorueberlegungen:

  • es gibt eine Tabelle mit Bildern
  • es gibt eine Tabelle mit Usern, die ueber das Bild abstimmen duerfen
  • ab einer bestimmten Punktzahl, gilt das Bild als gewaehlt und wird freigeschaltet
  • die User stimmen zeitlich unabhaengig voneinander ab
  • taeglich wird einmal ueberprueft, ob ein Bild freigeschaltet wurde
  • es muss moeglich sein, User darauf hinzuweisen, fuer welche Bilder er noch nicht abgestimmt hat

Meine Frage:
Wie speichere ich die Wertungen der Nutzer in einer Tabelle ab?

Problem:
Am einfachsten waere es in einer dreidimensionalen Tabelle, aber das geht ja nicht mit nem DB-System.

Also "X-Achse: BildID | Y-Achse: UserID | Z-Achse: Wertung"

Ich habe mir dann ueberlegt, die Tabelle so aufzubauen:

BildID | Userid~Wertung
-----------------------
      1| 1~3
      2| 1~1
      1| 2~1
      3| 2~4

Wenn ich jetzt testen will, fuer welche Bilder noch nicht gevotet wurde von einem Nutzer, dann schaue ich in die Spalte "UserID~Wertung", zerlege den String an dem "~" und gucke dann ob eine UserID fehlt.

Das ganze ist aber recht umstaendlich.

Habe ich irgendwo einen Denkfehler oder denke zu kompliziert?

Danke Andi

  1. Ahoi andi123,

    Habe ich irgendwo einen Denkfehler oder denke zu kompliziert?

    zu komliziert, lege doch für die UserID und die Wertung seperate spalten an.

    bilder_tabelle
    --------------------
    | id_bild | bildpfad

    user_tabelle
    --------------------
    | id_user | userdaten

    voting_tabelle
    -------------------------------
    | bild_id | user_id | wertung |

    dies Struktur sollte dir eigentlich viele optionen geben.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    PPPS: ich trinke gerne ab und an mal eine tote Tante.