I am trying to make a system to manage comments and rating by users on a page containing a Flash file.
Here is my DB structure:
User File Rating Comment
---- ---- ------ -------
id (PK) id (PK) user (PK, FK) id (PK)
... ... file (PK, FK) user (FK)
value file (FK)
...
I would like to add in my comments display the rating the user gave to the file, if there is one (considering an user can rate without adding a comment, and add as many comments as he wants without rating the file).
Is there a simple way to link the rating value to the comment model, considering comment attributes contains both user and file IDs, that compose the PK of the rating?
User File UserFile Rating Comment
---- ---- --------- ------ -------
id (PK) id (PK) user (PK, FK) id (PK) id (PK)
... ... file (PK, FK) value text
rating (FK) ... ...
comment (FK)
So basically it will insert data into UserFile each time a new comment is added, no?
It seems more complicated than adding a rating attribute to each comment, that would generate less requests I think, but I putted this idea aside because I thought it would have been possible for Yii to avoid such data duplication as I asked in my first post.