Chuck Le Butt
Chuck Le Butt

Reputation: 48758

Database Architecture for User Ratings

This is probably a really simple question, but for some reason I can't think of an answer I feel 100% confident with.

I'm putting together a little website about the Oscars for myself and a few friends. I have a table for the Films, a table for the Nominees, a table for the Awards (e.g. Best Film), a table for the Ceremony itself (e.g. year it was held, etc.) and a table that links them all: Nominations.

The Nominations table looks (predictably) like this:

NominationID * 
FilmID 
AwardID 
NomineeID 
CeremonyID

I'm now going to put together a Users table, but I can't think of a good place to store data on these things:

For the first two, I was thinking of a UsersFilms table, which would look something like this:

UsersFilmsID *
FilmID
UserID
UserRating
UserSeenIt (boolean)

For the third, a Predictions table:

PredictionsID * 
NominationID 
UserID

Cany anyone give advice on whether this is a good way to do it? Thanks!

Upvotes: 2

Views: 354

Answers (1)

krtek
krtek

Reputation: 26597

How did you plan to manage the fact that a nomination can be either a person or a film ?

Did you plan on saving the winners ?

I think you should post the columns you were planning to have for each Table. There's a lot of potential problems I'm thinking about, but maybe you got them all resolved already ;)

For the UsersFilm, since I doubt an user can rate a film prior to seeing it, I don't think the boolean is mandatory, for in my view it will always be true.

And to conclude, I don't think a database modelisation problem can be simple, there's always many different ways to do think and nobodby can ever say "This solution would work in each case".

Upvotes: 1

Related Questions