Database design 花店在线数据库模式-正确的实体连接?

Database design 花店在线数据库模式-正确的实体连接?,database-design,Database Design,我不是以英语为母语的人,如果我犯了任何错误,我很抱歉。我正在做一个网络数据库应用程序-网上花店-在那里,一个人可以为对他们重要的人在线订购花束,并通过快递将花束送到这些人手中。我在数据库模式方面遇到了一个大问题。我不能以正确的方式连接实体——连接正在制造矛盾,而且效率非常低。这是数据库架构: 我在将实体从SPEC_BUKIET连接到FLOWER时遇到问题。我将解释数据库假设: 1.每种花束(实体花束\u种)可以有不同大小的花束 2.不同尺寸(实体规格)和相同种类的花束价格不同 3.不同尺寸和

我不是以英语为母语的人,如果我犯了任何错误,我很抱歉。我正在做一个网络数据库应用程序-网上花店-在那里,一个人可以为对他们重要的人在线订购花束,并通过快递将花束送到这些人手中。我在数据库模式方面遇到了一个大问题。我不能以正确的方式连接实体——连接正在制造矛盾,而且效率非常低。这是数据库架构:


我在将实体从SPEC_BUKIET连接到FLOWER时遇到问题。我将解释数据库假设:

1.每种花束(实体花束\u种)可以有不同大小的花束
2.不同尺寸(实体规格)和相同种类的花束价格不同
3.不同尺寸和相同种类的花束中使用的相同种类的花朵数量不同(例如,小花束使用2朵玫瑰和2朵郁金香,中等花束使用4朵玫瑰和4朵郁金香,大花束使用8朵玫瑰和8朵郁金香)(实体花束)
4.花束中使用的相同种类的花可以有不同的长度和颜色(实体花)


由于数据库的设计与模式类似,我得到了一个悖论,即不同大小的相同种类的花束可能会分配完全不同的花+我想要选择花束中使用的花的SQL查询变得过于复杂。我知道有一种更简单的方法可以解决该模式中的关系,但我已经想了好几个星期了。


我将非常感谢您的帮助。

我相信您的问题在于您已将花束大小作为SPEC\u BUKIET的属性。这没什么错,但听起来你有一个概念,就是在不改变任何其他东西的情况下改变花束大小,这与你的模型不匹配。您可能需要添加一个对象BOUQUET_实例:

BOUQUET_INSTANCE MANY:1 SPEC_BUKIET
BOUQUET_INSTANCE MANY:1 BOUQUET_SIZE
BOUQUET_INSTANCE 1:MANY BOUQUET_FLOWER

我认为这对于stackoverflow来说过于宽泛了。我建议你研究一下“材料清单”,它可能有助于找到正确的方法。最终,听起来你正在设计一个ERP系统,也许像Microsoft Dynamics这样的东西对你来说是一个更好的方法。请参考你正在遵循的特定建模方法。请尽可能使用文本。Ie用于此图表的全部内容。但请只包括与您的问题相关的内容。在这样的子集中,将您认为正确的设计部分与您认为有问题的部分隔离开来。解释你是如何遵循你正在遵循的设计方法来获得你所得到的。