1、餐饮业信息管理系统开发1、本项目标需求分析 伴随今年来中国餐饮行业日益火爆,在强烈行业竞争中,一个高效餐饮信息管理系统应用,无疑是至关关键。高效,便捷管理系统,不仅仅极大方便了食客就餐,同时对于餐饮企业各项信息管理有着很大帮助,同时,我们餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加著名度等。 为了使得系统在操作过程中,愈加便捷,含有针对性,此次系统设计关键分为:职员登陆操作信息系统,和店主操作管理信息系统。不一样设计从而达成不一样功效,实现信息有效传达和管理。第一:在职员使用本餐饮信息管理系统应能够实现以下功效:1. 添加修改查询用户会员信息(修改用户信息需用户确定)2. 查询菜
2、单3. 添加查询预定信息4. 用户能够在自己会员账户里充值5. 用户能够用现金买单也能够从会员账户里扣取第二:管理员使用本餐饮信息管理系统应能够实现以下功效:1. 添加修改查询用户会员信息(修改用户信息需用户确定)2. 添加修改查询菜单信息3. 添加查询预定信息4. 添加职员信息,权限也能够定为管理员。二、餐饮业管理数据库管理系统E-R模型(概念结构设计)数据流图1、用户信息编号、密码、类型、姓名、电话、收款金额2.用户信息:用户编号、用户编号、姓名、电话、密码、开卡时间、卡内余额3.食谱:类型、名称、价格4.预定:用户编号、日期、预定时间、用户姓名、预定食谱、桌号5桌台管理:桌号、使用情况、
3、6. 点餐管理:用户编号、类型、菜品、数量、价格7. 盈利管理:日期、店内收入、外卖收入、盈利额度各对象之间联络图:用户(User)用户编号用户密码用户姓名名用户电话收款金额用户E-R图关键存放部分用户信息,如用户账号、密码和类型地点等等,关键用于用户登录,添加用户和添加预定时会使用到用户信息。用户(customer)用户编号用户密码用户姓名添加时间账户余额用户电话用户编号 用户表E-R图关键存放部分用户信息,如用户账号、密码、联络方法和消费情况等等,关键用于用户订餐、充值和结算,使用于添加预定。桌台(table)可入座人数桌号桌台表E-R图关键用于储存餐饮店桌台使用情况,方便来客安排,和预定
4、。食谱(food)食谱名称价格食谱编号食谱表E-R图关键存放部分食谱信息,如食谱名称、价格和照片等等,关键用于用户订餐,使用于添加预定。 菜品名称用户编号点餐(diancan)(fdiancan)价格消费类型数量 点餐表E-R图 关键储存堂食客人点餐信息,用于统计、统计点餐信息,和分析菜品受欢迎程度。预定(YuDing)消费金额用户姓名日期时间用户编号桌号预定餐点预定E-R图关键存放部分预定信息,如用户账号、预定时间、桌号和菜单等等,关键用于统计用户预定信息,会使用到用户、用户、菜单和折扣信息。盈利报表日支出金额日期盈利额度店内收入外卖收入关键存放每日收入流水,用于统计财务收入。3.数据表设计
5、1、 user(用户职员表)表3.1 user字段名称字段描述字段类型备注user_id用户编号INT(11)不许可空Pwd用户密码VARCHAR(45)不许可空Name用户姓名VARCHAR(45)不许可空Tel用户电话VARCHAR(45)不许可空Money收款金额VARCHAR(45)许可空用户表关键用于存放部分用户信息,如用户账号、密码和类型地点等等,关键用于用户登录,添加用户和添加预定时会使用到用户信息来统计经手用户,字段money用于统计用户收款金额,便于结算时对收款现金查对。2、 customer(用户表)表3.2 customer字段名称字段描述字段类型备注Name用户姓名IN
6、T(11)不许可空Id用户编号VARCHAR(45)不许可空Pwd用户密码VARCHAR(45)不许可空Addtime添加时间VARCHAR(45)不许可空Money账户余额VARCHAR(45)不许可空usedmoney已用金额VARCHAR(45)不许可空Tel用户电话VARCHAR(45)许可空Userid用户编号VARCHAR(45)不许可空用户表关键用于存放部分用户信息,如用户账号、密码、联络方法和消费情况等等,关键用于用户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。字段usedmoney用于统计用户消费情况,为用户打折时会使用到它。3、
7、food (食谱表)表3.3 food字段名称字段描述字段类型备注Food_id食物编号INT(11)不许可为空foodname食谱名称VARCHAR(45)不许可空Price价格VARCHAR(45)不许可空食谱表关键用于存放部分食谱信息,如食谱名称、价格和照片等等,关键用于用户订餐,使用于添加预定。字段Price统计是食物价格。当用户预定餐点时,系统使用它来算费用。4、 Order(点餐表)表3.3 Order 字段名称字段描述字段类型备注Userid用户编号INT(11)不许可空Tableid桌号VARCHAR(45)不许可空People人数VARCHAR(45)不许可空foodname
8、菜品名称VARCHAR(45)不许可空Price价格VARCHAR(45)不许可空Amount数量VARCHAR(45)不许可空Date日期VARCHAR(45)不许可空5、 YuDing(预定表)表3.4 YuDing字段名称字段描述字段类型备注Tableid桌号INT(11)不许可空Date日期DATETIME不许可空Time预定时间VARCHAR(45)不许可空Name用户姓名VARCHAR(45)不许可空Userid用户编号VARCHAR(45)不许可空Food菜单号VARCHAR(45)不许可空Money消费金额VARCHAR(45)不许可空预定表关键用于存放部分预定信息,如用户账号
9、、预定时间、桌号和菜单等等,关键用于统计用户预定信息,会使用到用户、用户、菜单和折扣信息。当系统预定餐点时,会从其它各表中调出需要信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表全部有紧密联络。6、 Yinli (盈利表)表3.3 food字段名称字段描述字段类型备注Data日期INT(11)不许可空in1店内收入VARCHAR(45)许可空in2外卖收入VARCHAR(45)许可空out日支出VARCHAR(45)许可空yinli盈利VARCHAR(45)许可空beizhu备注VARCHAR(45)许可空4.数据库创建:创建表食谱表用户表预定表桌台表盈利表点餐表用户表六
10、 查询1查询全部用户及添加时间SELECT name ,addtime FROM test.customer;2查询目前剩下空桌SELECT table_id FROM test.table_id where people=0;3创建存放过程,在用户账户余额里扣除已点菜品价格实施操作前,用户“丁叶”账户余额为200元实施操作后,用户“丁叶”余额变为170元创建存放过程使用户可对自己账户进行充值,实施操作前,用户“方兵”账户余额为100元实施操作后,用户“方兵”成功充值100元操作代码1、 实现余额扣除:CREATE DEFINER=rootlocalhost PROCEDURE diancai
11、(in nam varchar(45)BEGINSET autocommit = 0;START TRANSACTION;update customer set money=customer.money-(select money from test.yuding where name=nam) where name=nam;SET autocommit = 1;END2实现余额充值CREATE DEFINER=rootlocalhost PROCEDURE chongzhi(in id_ int(11)BEGINSET autocommit = 1;START TRANSACTION;upd
12、ate customer set money=customer.money+(select howmoney from test.chongzhi where id=id_)/2) where id=id_;END总结首先感谢帮助过我们老师同学,现在我们来说说我们不足吧。首先我们刚开始不太确定方向,全部系统全部想尝试做一下,所以有点耽搁时间。刚开始做过程中我们对自己做系统体系结构不太了解,体系全部是慢慢逐步完善。刚开始建数据库时,因为对MYSQL这个软件利用不够熟练,我们不知道怎样导出导入数据库,造成我们做好表格和数据无法保留,再次打开运行时,造成数据缺失,一切全部要重新来过,浪费了很多时间和精力。存放过程中也有阻碍,语句错误,拼写错误,对象引入错误。不过经过查询书本,网上查找资料和同学指导我们找到了错误并加以更正。 在建表时设置主键不合适,造成运行程序时出现bug,比如:在建立预订表时候,把主键设置为桌号,这意味着每张桌子只能用一次,这对于餐饮管理并不符合实际,所以我们理清思绪,加入序号这一个属性,以预订次序为唯一标识,确立主键。修改前预订表修改后预订表参考资料:MySQL5.6从零开始学习,MySQL权威教程网页搜索。