餐厅订购系统的数据库表设计

时间:2014-03-11 06:54:47

标签: android mysql database-design

我需要帮助设计餐厅订购系统的DB /表。

1)船长将在Android设备上接受订单,在向客户下订单后,他(船长)将打印订单。

2)船长可以根据客户的要求更改/添加订单

3)最后根据客户的要求,船长将完成账单并打印账单

下订单的一些案例

1)下订单而不是取消和最终确定账单

2)下订单 - 说4个汉堡,完成后,再次客户下订单 - 说3个汉堡,未取消,最终确定账单

3)下订单 - 说4个汉堡,完成后,再次下订单 - 说3汉堡,客户要求取消1汉堡,然后敲定法案

4)下订单 - 说4汉堡,然后,取消2汉堡,然后过了一段时间,下订单4汉堡然后敲定法案

5)下订单 - 4个汉堡,过了一段时间,取消2个汉堡,过了一段时间,下订单4汉堡,一段时间后取消2然后最终确定账单

我已经创建了,menu_card(即item),table_info 帐单表:

id
table_no
bill_no
item_name
quantity
repeat_quantity
print_status (Printed/Not Printed)
ongoing (Yes/No(if no -then finished) )
date_time

我应该在3,4,5的情况下添加哪个字段用于下订单 如果客户要求"取消订单"我很困惑。在完成当前订单后,他要求同样的项目。

新编辑: 我正在显示有序物品清单,船长可以触摸更新订单, 我想在表中添加cancelled_items_quantity,对于每个新订单,我将为数据库添加新条目以添加这些订单, 例如。客户已经订购了4个Burgers,然后它将添加到DB中,现在完成后,如果他要求3个汉堡,再次进入新的条目而不是修改现有的4到7,即使他取消订单,假设2个来自3个Burgers,然后将在同一个条目上进行更新,即它会将cancelled_items_quantity从默认值0更新为2 请帮助

1 个答案:

答案 0 :(得分:0)

我首先要为物品,订单和账单单独制作表格。由于一个账单可以包含多个订单和一个订单多个项目。

对于您的示例案例,仅将最终数据写入数据库。将未完成的订单保留在应用程序的内存中。用户单击“确定”或“完成”后,订单即可完成,您可以将其写入数据库。

如果你每次都要在数据库中更改订单,你就会做太多不合理的交易。