SQL数据库期末作业餐饮管理系统.docx
- 文档编号:9561447
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:313.38KB
SQL数据库期末作业餐饮管理系统.docx
《SQL数据库期末作业餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《SQL数据库期末作业餐饮管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
SQL数据库期末作业餐饮管理系统
SQL数据库期末作业。
餐饮管理系统
《餐饮业信息管理系统的开发》
1、本项目的需求分析
随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。
高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。
为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:
员工登陆操作信息系统,以及店主操作管理信息系统。
不同的设计从而达到不同的功能,实现信息的有效传达与管理。
第一:
在员工使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.查询菜单
3.添加查询预定信息
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取
第二:
管理员使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户
2.
3.
4.主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。
客户表E-R图
主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。
桌台表E-R图
主要用于储存餐饮店桌台使用情况,方便来客安排,与预定。
食谱表E-R图
主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
菜品名称
点餐表E-R图
主要储存堂食客人点餐信息,用于记录、统计点餐信息,以及分析菜品的受欢迎程度。
预定E-R图
主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
主要存储每日收入流水,用于统计财务收入。
3.数据表的设计
1、user(用户员工表)
表3.1user
字段名称
字段描述
字段类型
备注
user_id
用户编号
INT(11)
不允许空
Pwd
用户密码
VARCHAR(45)
不允许空
Name
用户姓名
VARCHAR(45)
不允许空
Tel
用户电话
VARCHAR(45)
不允许空
Money
收款金额
VARCHAR(45)
允许空
用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段money用于记录用户的收款金额,便于结算时对收款现金的核对。
2、customer(客户表)
表3.2customer
字段名称
字段描述
字段类型
备注
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.3food
字段名称
字段描述
字段类型
备注
Food_id
食物编号
INT(11)
不允许为空
foodname
食谱名称
VARCHAR(45)
不允许空
Price
价格
VARCHAR(45)
不允许空
食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
字段Price记录的是食物的价格。
当客户预定餐点时,系统使用它来算费用。
4、Order(点餐表)
表3.3Order
字段名称
字段描述
字段类型
备注
Userid
用户编号
INT(11)
不允许空
Tableid
桌号
VARCHAR(45)
不允许空
People
人数
VARCHAR(45)
不允许空
foodname
菜品名称
VARCHAR(45)
不允许空
Price
价格
VARCHAR(45)
不允许空
Amount
数量
VARCHAR(45)
不允许空
Date
日期
VARCHAR(45)
不允许空
5、YuDing(预定表)
表3.4YuDing
字段名称
字段描述
字段类型
备注
Tableid
桌号
INT(11)
不允许空
Date
日期
DATETIME
不允许空
Time
预定时间
VARCHAR(45)
不允许空
Name
客户姓名
VARCHAR(45)
不允许空
Userid
用户编号
VARCHAR(45)
不允许空
Food
菜单号
VARCHAR(45)
不允许空
Money
消费金额
VARCHAR(45)
不允许空
预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。
6、Yinli(盈利表)
表3.3food
字段名称
字段描述
字段类型
备注
Data
日期
INT(11)
不允许空
in1
店内收入
VARCHAR(45)
允许空
in2
外卖收入
VARCHAR(45)
允许空
out
日支出
VARCHAR(45)
允许空
yinli
盈利
VARCHAR(45)
允许空
beizhu
备注
VARCHAR(45)
允许空
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)
)
BEGIN
SET@@autocommit=1;
STARTTRANSACTION;
updatecustomersetmoney=customer.money+((selecthowmoneyfromtest.chongzhiwhereid=id_)/2)
whereid=id_;
END
总结
首先感谢帮助过我们的老师同学,现在我们来说说我们的不足吧。
首先我们刚开始不太确定方向,所有系统都想尝试做一下,所以有点耽误时间。
刚开始做的过程中我们对自己做的系统体系结构不太了解,体系都是慢慢逐渐完善的。
刚开始建数据库时,由于对MYSQL这个软件的运用不够熟练,我们不懂得如何导出导入数据库,导致我们做好的表格和数据无法保存,再次打开运行时,导致数据的缺失,一切都要重新来过,浪费了很多时间和精力。
存储过程中也有阻碍,语句的错误,拼写错误,对象引入错误。
但是经过查询课本,网上查找资料以及同学的指导我们找到了错误并加以改正。
在建表时设置主键的不恰当,导致运行程序时出现bug,例如:
在建立预订表的时候,把主键设置为桌号,这意味着每张桌子只能用一次,这对于餐饮管理并不符合实际,所以我们理清思路,加入序号这一个属性,以预订顺序为唯一标识,确立主键。
修改前的预订表
修改后的预订表
参考资料:
《MySQL5.6从零开始学习》,《MySQL权威教程》
网页搜索。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 期末 作业 餐饮 管理 系统