mysql中评级数据库表设计

时间:2019-03-20 08:44:52

标签: mysql sql database database-design database-schema

我正在设计MySQL中的评分表。事情是这样的:

  

a)给其他人评分的人可以是不同的类型   (管理员,客户,提供者或将来的其他任何东西)

     

b)从其他人获得评分的人可以不同   类型(Admin,Client,Provider或将来的其他任何类型)

     

c)在有订单时给别人评分   只要您去网站订购食物即可。当他们给你食物时,你   评价他们)。但是订单可能会有所不同。就我而言   表示货运。这样我就可以拥有RoadOrder,SeaOrder。

看完以上内容,我得出结论,有这样的表:

1)all_ratings表 (此表格并未计算每种用户的当前评分。此处有3种变体形式)

id | from_userable_type | from_userable_id | to_userable_type | to_userable_id | orderable_type | orderable_id | rating

enter image description here

2)评级表(用于计算当前评级。all_ratings仅保存  来自每个用户的任何评级,而评级表具有最终评级  评分。 ratingable_id和ratingable_type可以是任何类型的用户)

id | quantity  | current_rating |  ratingable_id | ratingable_type 

enter image description here

用户表

id | name | email | userable_id | userable_type

管理员,客户,提供者(现在看起来一样)

id

RoadOrder表

id | from_place  | to_place | ...etc

问题:您如何看待?这是这种情况下正确的表模式吗?

0 个答案:

没有答案