Php 我应该如何为我的Android应用程序构建/设计评级系统?

Php 我应该如何为我的Android应用程序构建/设计评级系统?,php,android,mysql,database,rating,Php,Android,Mysql,Database,Rating,我正在构建一个移动Android应用程序,用户可以在其中找到他们周围最近的位置,然后在查看这些位置时,他们可以查看详细信息并对其进行评分。除此之外,他们还可以在地图上添加新的位置。我希望能够尽我所能降低人们添加假点的可能性,这就是为什么我想实施一个评级系统,这是假点的另一层安全 我不确定应该如何设计数据库表。现在我只有: Location: name, address, type, terrain, difficulty, lng, lat, rating. “额定值”列仅允许值:1、2、3、

我正在构建一个移动Android应用程序,用户可以在其中找到他们周围最近的位置,然后在查看这些位置时,他们可以查看详细信息并对其进行评分。除此之外,他们还可以在地图上添加新的位置。我希望能够尽我所能降低人们添加假点的可能性,这就是为什么我想实施一个评级系统,这是假点的另一层安全

我不确定应该如何设计数据库表。现在我只有:

Location: name, address, type, terrain, difficulty, lng, lat, rating.
“额定值”列仅允许值:1、2、3、4、5

我还需要什么来保持评级的总和


在设计完桌子之后。我想知道计算平均评分的最合适方法,然后能够根据他们的评分删除它们。问题是,如果一个spot有1张1分为100%负面的选票,那么当一个spot有100票,90票,1票,10票,5票时,它将被认为是不好的。当然,第一个应该被认为更糟,然后被删除。如何应对这种情况?

有很多方法。更复杂的趋势监测系统缓冲投票,查看最后一天、一小时、一分钟等的投票率

然而,对于一个简单的系统,您可以查看总投票数和平均评分。你可能不在乎总数(不管怎样,你可以从另外两个人那里得到)

要更新评级,请执行以下操作:

average = ((average*total)+new)/(sum+1);
total ++;
当您考虑删除它们时,您需要为最小投票数(总数)设置一个阈值,然后根据平均评分进行删除。1次不好的投票可能还不够,你认为有多少次,取决于你的使用水平


对于其他答案:

我想说,制作一个单独的表,其中包含位置id和提交评论的用户id的外键将非常有用(当然也有评级)。这样,用户可以在以后编辑他们的评论