gpt4 book ai didi

database - 客户评论的关系数据库设计

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:56 25 4
gpt4 key购买 nike

假设我想创建一个数据库来存储顾客对餐厅的评论。

现在假设我有一个名为“质量”的数据库表,其中包含餐厅具有的某些质量(例如客户服务、食品质量、氛围、物有所值等)以及对这些质量中每一项的更详细描述。

现在假设我还有一个名为“评论”的个人评论表,它为“质量”表中的每个上述质量分配评级。

这造成了一个难题:“评论”表中的列数取决于“质量”表中的行数。如果我们在“质量”表中添加要评级的新质量,我们需要在“评论”表中创建相应的列,以便用户可以对该质量进行评级。

为上述问题设计关系数据库的最佳方法是什么?如果您在回答时包含数据库模式,那可能会有所帮助。

谢谢。

最佳答案

按照您的解释方式,您是对的,您需要为所审查的餐厅支持的每种质量列一列。如果“品质”是动态的,那么最好也使相关的评分动态化。因此,与其将分数作为评论的列来维护,您最好将它们作为行来维护,将分数映射到评论的每个质量。

我可能会选择这样的东西:

             restquality (m:n)
|n |n
|1 |
user restaurant |
|1 |1 |1
| |n quality
+----n-review |1
|1 |
|n |n
reviewquality (m:n)
  • 一个用户可能会评论很多家餐厅
  • 一家餐厅可能具有多种品质,并且一种品质可以应用于多个餐厅(通过 restquality 管理的 m:n 关系)。
  • 评论“评论”了一家特定的餐厅,并根据与该餐厅相关的品质为每项品质打分。这是通过 reviewquality 来管理的,它具有:此评论为该质量提供此分数(父评论引用餐厅)。

重要架构:

  • 评论:reviewid(pk), userid, restid, summary
  • reviewquality: reviewqualityid(pk), reviewid, qualityid, score
  • restquality: restqualityid(pk), restaurantid, qualityid

希望这对您有所帮助。

关于database - 客户评论的关系数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com