我试图为以下实体设计数据库模式:商店,产品,折扣和买家。目标是为几款产品提供折扣活动。然而,我在数据库架构,我可以看到第一次迭代有如图所示波纹管的循环依赖关系:SQL循环依赖关系
的问题是:是有这种依赖不好的SQL设计?另外,如何将买方的实体包括在内,以代表参考产品和所使用的折扣?谢谢。
我试图为以下实体设计数据库模式:商店,产品,折扣和买家。目标是为几款产品提供折扣活动。然而,我在数据库架构,我可以看到第一次迭代有如图所示波纹管的循环依赖关系:SQL循环依赖关系
的问题是:是有这种依赖不好的SQL设计?另外,如何将买方的实体包括在内,以代表参考产品和所使用的折扣?谢谢。
没有循环引用,这是不会被定义为不正确的:例如具有部门外部关键字的员工(员工工作)和部门之间的外部关键字(由管理人员)。
的设计缺陷,我确实看到:该模型能够从一个店的折扣从商店B.产品
如果你想避免这种情况,你可以添加STOREID到主(或备用唯一键)的产品和折扣中,将该列添加到Product_Discounts并使其成为两个外键的一部分。
至于合并买方:您需要创建买方,销售和销售物品表。
最后,你需要一个Sales_Items_ Products_Discount表,用于存储应用于销售项目的产品折扣。
标题外壳/复数表名称让宝宝耶稣哭了。 –
命名风格有很多不同的偏好,我认为这不是你的。实际上,它不是我的,但我试图保持与问题中使用的相同的风格,因为我认为混合风格是最糟糕的风格。 –
或者,制定一些标准并随时间治愈结构。游泳池可能很脏,但如果你没有开始清洁它,它总是很脏。 –
'Stores'和'Discounts'之间的关系是什么? – eggyal
根据您的设计,多种折扣可适用于同一产品。它很好吗?如何选择一个折扣(或计算)?可能只是一列DiscountId(可为空)应添加到产品表中。此外,我会使产品商店多tomany但实际上设计很好(恕我直言)。 – StanislavL
@eggyal商店1 - M折扣 – alexsc