快餐销售点系统数据库问题

时间:2020-10-27 02:55:24

标签: sql-server database

我正在编码一个快餐系统,但是在制作数据库逻辑时遇到了麻烦。业务量很小,因此数据库不应太复杂。他们出售汉堡,但他们希望像麦当劳一样制作汉堡包。

例如组合1包括:

  1. 1个豪华汉堡
  2. 1个冰淇淋
  3. 1百事可乐
  4. 依此类推...

我想将所有组合存储在 Food_Combos 表中,并将其详细信息存储在 Detail_Combo 中。 产品 表是冰淇淋,可乐,炸薯条等产品,它们位于 Detail_Combo 中。

完成组合后...我可以在POS布局中进行销售。

这是我的数据库逻辑:

enter image description here

但是我面临的问题是,如果顾客想要购买一个汉堡怎么办? (不是组合),我不知道如何建立联系,因为 Detail_Sales 喜欢 Food_Combos 。 / p>

我该如何实现?我也必须将 产品 链接到 Detail_Sales 吗?

1 个答案:

答案 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