mysql 星级评分系统_mysql-如何在数据库设计中实施星级评分系统?

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

这是我目前的设计,但是,我会在单独的表格中包含“评分”还是在“媒体上传”表格中包含?

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

评分表:(评分,PostID,Rating_Count,Average_Rating)

如果我的设计有其他问题,也将不胜感激!

解决方法:

这全都取决于您希望收视率如何运作,谁会上投票还是下票,是否跟踪每个投票者以防止同一个人获得多个投票等.

这就是我要做的事情:为每个投票添加一个唯一的数字(长?)RatingID字段,将PostID字段链接到Comments表,添加一个限制为0到5(或任何范围)范围内的Rating(整数)字段,然后从所有投票中计算平均值(删除Rating_Count和Average_Rating字段).您可以定义一个视图以计算每个帖子的平均评分,以用于您的例程,以确定如何在帖子旁边显示它.

另外,我将为每个用户使用一个ID,而不要使用其名称.

所以我的桌子看起来像这样:

RatingID,PostID,UserID,评分

同样,为了防止用户多次投票,该表不允许同一PostID和UserID包含多个条目.

标签:erd,rating-system,mysql,database

来源: https://codeday.me/bug/20191118/2031660.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值