优化mysql的商店模式

时间:2013-01-18 09:19:41

标签: mysql database-design

我创建了一个database schema,但我不确定它是否真的已经过优化。 有人可以看看它并帮我优化它吗?

它有Categories个表,其中包含的值"Pizza, Salat, Pasta, Drinks"

Sizes表格将包含Pizza的每个类别大小,其大小可能会small,large,family,party

prices表格将包含product_id,size_id,price

但我不确定sizes是否应该像我一样加入products表或categories

1 个答案:

答案 0 :(得分:0)

当然,您的设计可能完全反映您的基础业务领域 - 您并没有真正提供足够的信息来帮助我们决定任何一种方式。我鼓励你先用文字说明模式 - 首先 - 这通常有助于更好地理解关系。

我认为您的域名大致如下:

  • 一个类别包含一个或多个产品。
  • 一种产品属于一个类别。
  • 一种产品有1种或更多种尺寸可供选择。
  • 产品的基本价格由其大小决定。
  • 有些(但不是全部)产品都有配料。
  • 可以通过添加额外的浇头来定制部分(但不是全部)产品。
  • 某些定制产品的总价格由基本价格加上额外配料的总和决定。
  • 某些定制产品的总价格由基本价格加上产品尺寸的额外配料总和决定。
  • 可将Toppings添加到一个或多个产品中。
  • 产品可以添加零个或多个浇头。

这有点类似于您在设计中展示的内容,除了您显示的是产品类别,而不是产品,它决定了可用的尺寸。那可能是对的。回答这个问题的方法是“是否有产品类别,并非所有产品都有相同的尺寸?”我认为,有些饮料制造商会出售各种容器的饮料。