Database design 用户评级的ER模型

Database design 用户评级的ER模型,database-design,entity-relationship,Database Design,Entity Relationship,我有很多“用户”,每个用户最多有5个“服务”。用户应该能够对每个服务进行评分(0-5)。我还想坚持用户的平均评级 这就是我的想法,但还有更好的办法吗 用户 id | user_name | dob | ... 服务(固定数量的服务) 评级: id | service_id | user_id | rating (0-5) 我创建了一个E/R图来描述多重评级系统的实现方式。注意,我在很多事情上使用了通用名称 如果您允许用户更改他们的评级并希望跟踪他们的更改,您只需将在处创建的属性添加到评级实体

我有很多“用户”,每个用户最多有5个“服务”。用户应该能够对每个服务进行评分(0-5)。我还想坚持用户的平均评级

这就是我的想法,但还有更好的办法吗

用户

id | user_name | dob | ...
服务(固定数量的服务)

评级:

id | service_id | user_id | rating (0-5)

我创建了一个E/R图来描述多重评级系统的实现方式。注意,我在很多事情上使用了通用名称


如果您允许用户更改他们的评级并希望跟踪他们的更改,您只需将在处创建的
属性添加到评级实体即可。通过这种方式,您可以随时了解当前评级(最后/最高时间戳),还可以查看用户对其评级所做的更改。许多数据库系统默认添加此属性,以及上次更改的
属性。

是否允许用户更改评级?你是否关心他们之前对它的评分?为什么你要存储平均值而不是计算平均值?对于那些希望获得“高、中、低”3级评分而不是5级评分的人,你会如何分配他们?@RajMore谢谢你的提问。1.允许用户更改等级2。是的,计算可能是个更好的主意。从性能的角度来看,我不确定哪种方法更好。3.这将是亚马逊风格的固定五星评级(但我也有兴趣了解如何保持评级水平的灵活性)您的解决方案绝对是可伸缩的,但这是一个相对较小的功能要求,在我们的项目中不会有太多的变化,我希望我得到5个表的创建此功能批准:)。谢谢你的时间和努力!如果我知道评级将保持不变,那么服务和评级价值之间的关系是什么。我想我们会少一张桌子吧?
id | service_id | user_id | rating (0-5)