用户评级的数据库架构

时间:2011-02-27 21:46:07

标签: mysql database database-design

这可能是一个非常简单的问题,但由于某种原因,我无法想出一个我对此有100%信心的答案。

我正在为自己和几个朋友组建一个关于奥斯卡奖的小网站。我有电影的表格,被提名人的表格,奖励的表格(例如最佳电影),表格为仪式本身(例如举办年份等)以及将它们全部链接起来的表格:提名

Nominations 表(可预测)看起来像这样:

NominationID * 
FilmID 
AwardID 
NomineeID 
CeremonyID

我现在要整理一个用户表,但我想不出一个存储数据的好地方:

  • 用户对给定影片的评级和/或......
  • 用户是否看过某部电影
  • 用户对获胜提名的预测

对于前两个,我在想一个 UsersFilms 表,它看起来像这样:

UsersFilmsID *
FilmID
UserID
UserRating
UserSeenIt (boolean)

对于第三个, Predictions 表:

PredictionsID * 
NominationID 
UserID

Cany有人就这是否是一个好方法提出建议?谢谢!

1 个答案:

答案 0 :(得分:1)

你是如何计划提名提名可以是个人还是电影的事实?

你有没有计划拯救获胜者?

我认为您应该发布您计划为每个表添加的列。我正在考虑很多潜在的问题,但也许你已经解决了这些问题;)

对于UsersFilm,因为我怀疑用户在看到它之前可以对电影进行评级,我认为布尔值不是强制性的,因为在我看来它总是正确的。

总而言之,我不认为数据库模型化问题可能很简单,总是有很多不同的方法可以思考,而且nobodby可以说“这个解决方案在每种情况下都有效”。