这个设计对数据库有效吗?

时间:2016-04-06 00:03:18

标签: database database-design

我正在使用ASP.NET MVC和EF开发在线商店Web应用程序。其中一个要求是每个产品都应该分类,每个类别都可以有子类别。 但问题是每个类别都可能有多个未知的属性。所有这些属性都是字符串类型。

这就是我设计数据库的方式:

  • 每个产品可以有多个属性(1到多个)
  • 每个属性都有名称,值,产品(FK),类别(FK)
  • 每个类别都有一份参加者名单。这是一个字符串列表(属性的名称)
  • 我使用每个类别的列表,从子项到最高父项,并为每个产品添加名称和值对到atributes表。

我担心的是属性表会增长得非常快。而且我认为我可能会因为属性而耗尽空间。那可能吗?这对于这种环境来说是一种可行的设计吗?

1 个答案:

答案 0 :(得分:1)

是;它的有效设计。您的设计是否符合您的需求是另一个问题。问问自己:

  • 我的产品表在1年,2年和4年内会有多少行?
  • 我的类别表在1年,2年和4年内会有多少行?
  • 我的属性表在1年,2年和4年内会有多少行?

如果您发现属性表随着产品和类别的不同而不受控制地增长,那么您可能会遇到缩放问题。另一方面,如果您的产品表在一段时间内稳定后,您可能不会遇到问题。

专业提示:当问题出现问题时解决问题(即听取产品经理然后添加真实性......; - )。