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