2012-08-13 63 views
0

可以说我拥有多种自定义报告类型。一种报告类型可以与许多文件扩展选项(pdf,excel等)相关联,该特定自定义报告类型的每个文件扩展名都有一个可以使用的数字法律行为(比如报告类型A,带有pdf扩展名我可以节省,打印和修改)。但是,报告扩展之间的法律行为大多相同,只是在极少数情况下它们有所不同。你如何建模这种关系?如何使用“包含所有”选项对多对多建模

如果我还希望自定义报表类型应该包含所有扩展类型和每个扩展类型的相同操作的选项,您会引入一些“魔术值”,比如扩展类型*表示此报表类型应该包含所有可用的扩展类型以及基本的法律行为集合,还是仅仅手动填充与所有扩展类型,法律行为等的关系,并记得在引入新的扩展类型时更新它们?虽然这并不常见。

希望这个问题是有点清楚:)

+0

什么是不明确的是你的设计目标是什么。如果你的目标是最终简单的更新这些数据,那么你需要设计出最高的正常形式。它看起来不像你提出的设计符合第五范式。但是,如果您的目标是在检索时简单,那么最好使每组法律行为都以文件扩展名和报告类型为关键,即使其中一些仅在功能上依赖于文件扩展名。 – 2012-08-13 13:39:17

+0

这主要是阅读,而不是修改。如果你暗示一个表格(reportType,extension,legalAction),我理解你是否正确?如何以第五范式完成? – KTrum 2012-08-13 14:02:17

回答

0

我做斗争跟随的问题,但我认为你说:

报告类型有一个或多个文件扩展名。

文件扩展名具有一个或多个允许的操作。

许多文件扩展名共享一组允许的操作。

如果这就是你所说的话,我会引入“permissionSet”的概念,以及与个人权限的多对多关系。文件扩展名与权限集具有多对多的关系。

+0

文件扩展名对该报告类型有一个或多个允许的操作。另一种报告类型的扩展操作可能会有所不同。 OK,权限集可以使文件扩展名可以共享权限(如果它们相同),还可以定义一个对其自身唯一的权限集? – KTrum 2012-08-13 13:57:25

相关问题