在DB中对类似的entite进行分组

时间:2015-10-27 04:50:21

标签: mysql database database-design relational-database

我正在为我的项目设计MySQL数据库表,我无法确定哪种方法更好。

该表称为Services表,还有Package的概念,它只是Services的选定组。

现在,我的问题是我应该将Package服务视为一个独立的实体,并且有PackageService表和PackageService_Service关系表吗?

OR

我是否应该将Package服务视为Service表中的另一项服务,使用"包"标志设置为true?如果这是一种更好的方法,那么我如何以及在何处提及此Package服务下的哪些服务?

1 个答案:

答案 0 :(得分:0)

一个软件包可以包含许多服务,一个服务可以包含在许多软件包中。

它应该是Service_Package表。

另外,我仔细阅读了评论。此service_package可以与service_cost etc表加入,service_id作为连接列。然后,如果您需要所有这些信息,那么您将拥有包含package_id,service_id,cost,service_duration等的包的加入记录集。或者,您可以根据业务用例将package_service与各个表(例如service_cost)分开加入。

拥有加入记录集后,您就拥有了所需的数据,然后您可以使用聚合函数对该数据进行任何合成或按原样显示这些记录。