如果我有一个父项报告,称为报告,每个报告都有1个supReportA,subReportB和subReportC。每个子报告只属于1个报告,1对1的关系, 我应该使用
的报告表来设置表格 Report
-------
Id
subReportAId
subReportBId
subReportCId
或者我应该设置每个子报告都有报告ID
的表格 SubReportA
-----------
Id
ReportId
SubReportB
----------
Id
ReportId
SubReportC
----------
Id
ReportCId
哪种方式是最佳做法,为什么?感谢您的帮助......
答案 0 :(得分:1)
由于你有这个角色,一个报告只有一个类型的每个子报告,反之亦然,你的正确模型将是:
表格报告
Report
id PK
表子报告
Subreport
id PK
idReport (FK->report)
idTypeSubReport (FK->typeSubReport)
(add a unique with id,idReport)
表TypeSubReport
TypeSubReport
id
description
这样您就不会在任何地方重复数据。
希望它有所帮助。
答案 1 :(得分:0)
您可以拥有将父报告映射到子报告的JUNCTION表 主报表可以包含父报表和子报表的条目。
Id
subReportAId
subReportBId
subReportCId
parentReportId subReportId
Id subReportIDA
Id subReportIDB
Id subReportIDC
答案 2 :(得分:0)
我会创建一个联结表,将所有子报表和主报表放入同一个数据表中。
答案 3 :(得分:0)
有几个因素需要考虑。
我个人的意见是保持简单,即将它们作为子表中的子报表类型对待报表。这意味着一个报告与许多子报告关系。