2012-10-05 24 views
0

我正在使用ASP.NET/C#的CMS工作。它工作正常,生活很好。但是,決定添加額外的功能來支持更多種類的網站。 基本上,目前的CMS仍然是alpha,但能夠爲同一組公司的多個網站提供數據,這些網站都具有相同的要求。無法找到解決方案的一些複雜和不尋常的要求

我已經構建數據庫按照下圖附:

「圖像出於安全原因,去除」現在

,除了這個圖,我被要求增加對在不同產品的支持「屬性'比部門。這意味着產品現在可以擁有type和許多其他屬性。假設您正在使用我們的網站之一併製作紙巾。產品應該以某種方式支持通過'type'表示'組織'和'application'來說明''如何使用'以及未來可能出現的其他未知'屬性'。

例如,某個產品可能屬於「農業包裝」部門,屬於'包裝'類型,通過某種方式應用。 最終結果是能夠根據產品的使用方式和/或其類型和/或所屬領域對產品進行分類。甚至全部在一起。

將這類問題納入數據模型和CMS的最佳方法是什麼?

謝謝!

+0

閱讀Hay的企業模型模式 –

回答

2

看起來你正在採取正確的做法。如果產品可以分配多個新的「屬性」,那麼您需要創建一個新的屬性表,您可以在其中定義一組有限的屬性。然後通過交叉參考表將該錶鏈接到產品,就像您在使用產品&部門一樣。如果產品只能分配單一屬性,則添加屬性表,但不要使用交叉引用表,請向Products表中添加一個AttributeID列以將兩者連接起來。

但是,我覺得我可能會告訴你一些你已經知道的東西。因此,如果有任何其他信息或更多具體信息,也許您可​​以發佈更新。

0

您正在查找的模式被稱爲EAV 您將得到一個屬性表和一個屬性值表,其中包含產品ID,屬性ID和屬性值。