《餐饮业信息管理系统的开发》Word文档下载推荐.docx
《《餐饮业信息管理系统的开发》Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《餐饮业信息管理系统的开发》Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
4.添加职员信息,权限也可以定为管理员。
二、餐饮业管理数据库管理系统的E-R模型(概念结构设计)
数据流图
1、用户信息
编号、密码、类型、姓名、电话、收款金额
2.客户信息:
用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额
3.食谱:
类型、名称、价格
4.预定:
用户编号、日期、预定时间、客户姓名、预定食谱、桌号
5桌台管理:
桌号、使用情况、
6.点餐管理:
用户编号、类型、菜品、数量、价格
7.盈利管理:
日期、店内收入、外卖收入、盈利额度
各对象之间的联系图:
用户E-R图
主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。
客户表E-R图
主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。
桌台表E-R图
主要用于储存餐饮店桌台使用情况,方便来客安排,与预定。
食谱表E-R图
主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
菜品名称
点餐表E-R图
主要储存堂食客人点餐信息,用于记录、统计点餐信息,以及分析菜品的受欢迎程度。
预定E-R图
主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
主要存储每日收入流水,用于统计财务收入。
3.数据表的设计
1、user(用户员工表)
表3.1user
字段名称
字段描述
字段类型
备注
user_id
用户编号
INT(11)
不允许空
Pwd
用户密码
VARCHAR(45)
Name
用户姓名
Tel
用户电话
Money
收款金额
允许空
用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段money用于记录用户的收款金额,便于结算时对收款现金的核对。
2、customer(客户表)
表3.2customer
客户姓名
Id
客户编号
客户密码
Addtime
添加时间
账户余额
usedmoney
已用金额
客户电话
Userid
客户表主要用于存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。
字段usedmoney用于记录客户的消费情况,为客户打折时会使用到它。
3、food(食谱表)
表3.3food
Food_id
食物编号
不允许为空
foodname
食谱名称
Price
价格
食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
字段Price记录的是食物的价格。
当客户预定餐点时,系统使用它来算费用。
4、Order(点餐表)
表3.3Order
Tableid
桌号
People
人数
Amount
数量
Date
日期
5、YuDing(预定表)
表3.4YuDing
DATETIME
Time
预定时间
Food
菜单号
消费金额
预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。
6、Yinli(盈利表)
Data
in1
店内收入
in2
外卖收入
out
日支出
yinli
盈利
beizhu
4.数据库创建:
创建表
食谱表
用户表
预定表
桌台表
盈利表
点餐表
客户表
六查询
1.查询所有顾客及添加时间
SELECTname,addtimeFROMtest.customer;
2.查询当前剩余空桌
SELECTtable_idFROMtest.table_idwherepeople=0;
3.创建存储过程,在客户的账户余额里扣除已点菜品的价格
执行操作前,客户“丁叶”的账户余额为200元
执行操作后,客户“丁叶”的余额变为170元
创建存储过程使客户可对自己的账户进行充值,执行操作前,用户“方兵”的账户余额为100元
执行操作后,用户“方兵”成功充值100元
操作代码
1、实现余额的扣除:
CREATEDEFINER=`root`@`localhost`PROCEDURE`diancai`(
innamvarchar(45)
)
BEGIN
SET@@autocommit=0;
STARTTRANSACTION;
updatecustomersetmoney=customer.money-(selectmoneyfromtest.yudingwherename=nam)wherename=nam;
SET@@autocommit=1;
END
2.实现余额的充值
CREATEDEFINER=`root`@`localhost`PROCEDURE`chongzhi`(
inid_int(11)
updatecustomersetmoney=customer.money+((selecthowmoneyfromtest.chongzhiwhereid=id_)/2)
whereid=id_;
总结
首先感谢帮助过我们的老师同学,现在我们来说说我们的不足吧。
首先我们刚开始不太确定方向,所有系统都想尝试做一下,所以有点耽误时间。
刚开始做的过程中我们对自己做的系统体系结构不太了解,体系都是慢慢逐渐完善的。
刚开始建数据库时,由于对MYSQL这个软件的运用不够熟练,我们不懂得如何导出导入数据库,导致我们做好的表格和数据无法保存,再次打开运行时,导致数据的缺失,一切都要重新来过,浪费了很多时间和精力。
存储过程中也有阻碍,语句的错误,拼写错误,对象引入错误。
但是经过查询课本,网上查找资料以及同学的指导我们找到了错误并加以改正。
在建表时设置主键的不恰当,导致运行程序时出现bug,例如:
在建立预订表的时候,把主键设置为桌号,这意味着每张桌子只能用一次,这对于餐饮管理并不符合实际,所以我们理清思路,加入序号这一个属性,以预订顺序为唯一标识,确立主键。
修改前的预订表
修改后的预订表
参考资料:
《MySQL5.6从零开始学习》,《MySQL权威教程》
网页搜索。