2012-10-05 25 views
0

我正在使用ASP.NET/C#的CMS工作。它工作正常,生活很好。但是,决定添加额外的功能来支持更多种类的网站。 基本上,目前的CMS仍然是alpha,但能够为同一组公司的多个网站提供数据,这些网站都具有相同的要求。无法找到解决方案的一些复杂和不寻常的要求

我已经构建数据库按照下图附:

“图像出于安全原因,去除”现在

,除了这个图,我被要求增加对在不同产品的支持“属性'比部门。这意味着产品现在可以拥有type和许多其他属性。假设您正在使用我们的网站之一并制作纸巾。产品应该以某种方式支持通过'type'表示'组织'和'application'来说明''如何使用'以及未来可能出现的其他未知'属性'。

例如,某个产品可能属于“农业包装”部门,属于'包装'类型,通过某种方式应用。 最终结果是能够根据产品的使用方式和/或其类型和/或所属领域对产品进行分类。甚至全部在一起。

将这类问题纳入数据模型和CMS的最佳方法是什么?

谢谢!

+0

阅读Hay的企业模型模式 –

回答

2

看起来你正在采取正确的做法。如果产品可以分配多个新的“属性”,那么您需要创建一个新的属性表,您可以在其中定义一组有限的属性。然后通过交叉参考表将该表链接到产品,就像您在使用产品&部门一样。如果产品只能分配单一属性,则添加属性表,但不要使用交叉引用表,请向Products表中添加一个AttributeID列以将两者连接起来。

但是,我觉得我可能会告诉你一些你已经知道的东西。因此,如果有任何其他信息或更多具体信息,也许您可​​以发布更新。

0

您正在查找的模式被称为EAV 您将得到一个属性表和一个属性值表,其中包含产品ID,属性ID和属性值。