我正在编码一个快餐系统,但是在制作数据库逻辑时遇到了麻烦。业务量很小,因此数据库不应太复杂。他们出售汉堡,但他们希望像麦当劳一样制作汉堡包。
例如组合1包括:
我想将所有组合存储在 Food_Combos 表中,并将其详细信息存储在 Detail_Combo 中。 产品 表是冰淇淋,可乐,炸薯条等产品,它们位于 Detail_Combo 中。
完成组合后...我可以在POS布局中进行销售。
这是我的数据库逻辑:
但是我面临的问题是,如果顾客想要购买一个汉堡怎么办? (不是组合),我不知道如何建立联系,因为 Detail_Sales 喜欢 Food_Combos 。 / p>
我该如何实现?我也必须将 产品 链接到 Detail_Sales 吗?
答案 0 :(得分:0)
我不确定Food_Combos和Detail_Combo之间的区别或销售表的结构。
我将在sales表中有一个组合ID的可空列,并且仅当该商品是作为组合的一部分购买时才填充它。在每个销售记录中,您都会看到购买的物品,以及它是否是组合的一部分。
然后,一笔销售可以是组合(汉堡,组合1),(薯条,组合1),(饮料,组合1)和(苹果派,组合参考无效)的额外订单。
ProductId Description
1 Burger
2 Drink
3 Fries
4 Apple Pie
ComboId ProductId
1 1
1 2
1 3
SaleProduct ComboId
1 1
2 1
3 1
4 NULL