hallo comm,
ich bräuchte mal einen tipp von den datenbank-experten unter euch.
ich habe folgendes szenario:
ein user kann daten ändern. für diese änderungen erhält er punkte. außerdem kann er änderungen von anderen usern bewerten. zusätzlich kann er kommentare zu den daten schreiben und ebenfalls kommentare von anderen bewerten. für das bewerten erhält er ebenfalls punkte wie für das kommentare schreiben.
jetzt habe ich also grob folgende struktur (nicht vollständig):
User-Tabelle:
ID | username | passwort …
Kommentar-Tabelle:
ID | kommentare | userID …
Datenänderung-Tabelle:
ID | DatenID | GeändertIN | userID …
ÄnderungBestätigen-Tabelle:
ID | DatenänderungID | userID | Time …
KommentareBewertungen-Tabelle:
ID | KommentarID | userID | Rating …
Punkte
ID | Punkte | userID …
am ende soll nachvollzogen werden können zu welcher aktion ein user welche punkte bekommen hat. die frage ist also wie verbinde ich die datensätze aus punkte mit den tabellen mit den aktionen für die man punkte bekommt?
ich habe als erstes an eine ActionID in der tabelle punkte gedacht und zusätzlich die ReferenzID zum jeweiligen datensatz. ich schaue also was ist die ActionID, bei 0 war es eine Datenänderung, bei 1 eine änderungsbewertung, etc. und hole mir dann mit der ReferenzID die informationen des datensatzes der richtigen tabelle.
aber ob das so sinnvoll ist? ich würde mich über ein paar hinweise und tipps aus eurer erfahrung sehr freuen.
viele grüße
markus