database - 用于审查评级和可选项目的架构设计

标签 database database-design schema

我绝不是 SQL/DB 专家。目前正在开发一款评估/评级应用程序,并对设计存有疑问。

上下文如下:系统中有多个可以提供服务的组织。每个组织都可以拥有多种服务,并且服务可以由多个组织提供。用户能够评估/评级组织。或者,在每次评估时,他们还可以指定是否存在服务。

这就是我在设计方面的思考(我还不能发布图片):DB Diagram

  • 组织和服务之间的多对多关系
  • 评估和服务之间的多对多关系
  • 组织与评估之间的一对多关系

我的问题是这是否是一个值得遵循的好方法?或者评价/评级是否应该与服务的实际设置分开受到威胁?

最佳答案

我认为你走在正确的道路上。您可以拥有“组织”和“服务”表,以及链接表“组织服务”。

对于评估部分,您可以有另一个表评估(id,userId,organizationId,serviceId,score),因为我认为您确实想对组织的特定服务进行评分(真正的大组织可以在多个领域提供服务)事件领域)。请注意对用户、组织和服务有唯一的约束。

这样,如果您想获得某个组织的总体得分,您只需执行一个简单的查询即可得出该组织所有服务的得分平均值。

希望这对您有所帮助。

关于database - 用于审查评级和可选项目的架构设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387581/

相关文章:

mysql - 如何避免多次支付同一元素

sql - 社交网络数据库架构?

php - Laravel Schema 中等效的 MySQL 数据类型 SET 是什么?

php - MySQL:用于具有多个类别的产品的 SQL 和 DB

Java-数据存储和自动运行程序?

mysql - 如何在对称配置中避免从属端数据库中的 sym_ 表?

mysql - 优化超过 200,000 条记录的查询

objective-c - 核心数据 : Traverse managed objects relationships with an abstract entity in-between

database - 不同模式上的 Oracle 相同表名?

php - 寻找实际有效的数据库抽象/替代