我目前正在制作一个 Android 应用程序,我希望允许用户对其他用户发布的帖子进行评分。

这是我当前的设计,但是,我会将评级作为单独的表包含还是包含在媒体上传表中?

如果它是一个单独的表,它会是这样的吗?

评分表:(Rating、PostID、Rating_Count、Average_Rating)

如果我的设计还有什么问题,那也将不胜感激!

最佳答案

这完全取决于您希望评级如何运作,谁可以投赞成票或反对票,您是否跟踪每个投票的人以防止同一个人投多票,等等。

这就是我要做的:为每次投票添加一个唯一的数字(长?)RatingID 字段,将 PostID 字段链接到 Comments 表,添加一个 Rating(整数)字段,该字段的值限制为 0 到 5(或任何范围)你喜欢),然后计算所有投票的平均值(删除 Rating_CountAverage_Rating 字段)。您可以定义一个 View 来计算每个帖子的平均评分,用于您的例程来确定如何在帖子旁边显示它。

另外,我会为每个用户使用一个 ID,而不是使用他们的名字。

所以我的表看起来像这样:
RatingID, PostID, UserID, Rating
此外,为了防止用户多次投票,该表不允许同一 PostIDUserID 有多个条目。

关于mysql - 我将如何在我的数据库设计中实现星级评分系统?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36206180/

10-13 00:11