2012-08-13 40 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

相關問題