SQL数据库期末作业餐饮管理系统.docx
- 文档编号:5504872
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:19
- 大小:183.26KB
SQL数据库期末作业餐饮管理系统.docx
《SQL数据库期末作业餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《SQL数据库期末作业餐饮管理系统.docx(19页珍藏版)》请在冰点文库上搜索。
SQL数据库期末作业餐饮管理系统
餐饮业信息管理系统的开发》
1、本项目的需求分析
随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。
高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。
为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:
员工登陆操作信息系统,以及店主操作管理信息系统。
不同的设计从而达到不同的功能,实现信息的有效传达与管理。
第一:
在员工使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.查询菜单
3.添加查询预定信息
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取第二:
管理员使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.添加修改查询菜单信息
3.添加查询预定信息
4.添加职员信息,权限也可以定为管理员。
二、餐饮业管理数据库管理系统的E-R模型(概念结构设计)
数据流图
管.
理.
1.用户信息
编号、密码、类型、姓名、电话、收款金额
2.客户信息:
用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额
3.食谱:
类型、名称、价格
4.预定:
用户编号、日期、预定时间、客户姓名、预定食谱、桌号
5桌台管理:
桌号、使用情况、
6•点餐管理:
用户编号、类型、菜品、数量、价格
7.盈利管理:
日期、店内收入、外卖收入、盈利额度
各对象之间的联系图:
主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。
主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,
主要用于客户订餐、充值和结算,使用于添加预定
桌台表E-R图
食谱表E-R图
主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
主要储存堂食客人点餐信息,用于记录、统计点餐信息,以及分析菜品的受欢迎程度。
预定E-R图
主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
主要存储每日收入流水,用于统计财务收入
3.数据表的设计
1、user(用户员工表)
表3.1user
字段名称
字段描述
字段类型
备注
user_id
用户编号
INT(11)
不允许空
Pwd
用户密码
VARCHAR45)
不允许空
Name
用户姓名
VARCHAR45)
不允许空
Tel
用户电话
VARCHAR45)
不允许空
Money
收款金额
VARCHAR45)
允许空
用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段money用于记录用户的收款金额,便于结算时对收款现金的核对。
2、customer(客户表)
表3.2customer
字段名称
字段描述
字段类型
备注
Name
客户姓名
INT(11)
不允许空
Id
客户编号
VARCHAR45)
不允许空
Pwd
客户密码
VARCHAR45)
不允许空
Addtime
添加时间
VARCHAR45)
不允许空
Money
账户余额
VARCHAR45)
不允许空
usedmoney
已用金额
VARCHAR45)
不允许空
Tel
客户电话
VARCHAR45)
允许空
Userid
用户编号
VARCHAR45)
不允许空
客户表主要用于存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。
字段usedmoney用于记录客户的消费情况,为客户打折时会使用到它。
3、food(食谱表)
表3.3food
字段名称
字段描述
字段类型
备注
Food_id
食物编号
INT(11)
不允许为空
foodname
食谱名称
VARCHAR45)
不允许空
Price
价格
VARCHAR45)
不允许空
食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
字段Price记录的是食物的价格。
当客户预定餐点时,系统使用它来算费用。
4、Order(点餐表)
表3.3Order
字段名称
字段描述
字段类型
备注
Userid
用户编号
INT(11)
不允许空
Tableid
桌号
VARCHAR45)
不允许空
People
人数
VARCHAR45)
不允许空
foodname
菜品名称
VARCHAR45)
不允许空
Price
价格
VARCHAR45)
不允许空
Amount
数量
VARCHAR45)
不允许空
Date
日期
VARCHAR45)
不允许空
5、YuDing(预定表)
表3.4YuDing
字段名称
字段描述
字段类型
备注
Tableid
桌号
INT(11)
不允许空
Date
日期
DATETIME
不允许空
Time
预定时间
VARCHAR45)
不允许空
Name
客户姓名
VARCHAR45)
不允许空
Userid
用户编号
VARCHAR45)
不允许空
Food
菜单号
VARCHAR45)
不允许空
Money
消费金额
VARCHAR45)
不允许空
预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。
6、Yinli(盈利表)
表3.3food
字段名称
字段描述
字段类型
备注
Data
日期
INT(11)
不允许空
in1
店内收入
VARCHAR45)
允许空
in2
外卖收入
VARCHAR45)
允许空
out
日支出
VARCHAR45)
允许空
yinli
盈利
VARCHAR45)
允许空
beizhu
备注
VARCHAR45)
允许空
4•数据库创建:
创
表
rJame:
food
Scherna:
test
Cclhtjon:
utfa*defaultmllation
V
Engine:
InnoDB
V
建
食谱表
'damelei
user_□Rift'd
Mon&v
5htle
ColumnName
TableName:
|LJ5er
Ccilaton;
Comments:
用户表
SdiemaDefaultv
Datatype
■JARCHAR145
VARCH^RHS)
VARCH4RH5)
/ARCH:
P.(45)
Sihem-j;
Engine:
test
InnaDB
BIN
Default
Default
yutling
Table'^me;
Schema:
test
Collation:
SchemaDefault
Ermine:
ImoDB
Comn-ents:
ColurnniName
Datatype
■■>Tableid
INT{11>
,Date
DATETIME
Tine
7ARCHARC45)
Name
/ARCHAR[45)
Useid
7ARCHARC45)
oFood
Money
VARCHAR[45}
Yudingcol
7ARCH^R(45)
□□□□□□□□「
□□□□□□□□【
□□□□□□□□「
□□□□□□□□【
□□□□□□□□【
回0回回回00回-
□□口□回□□□-
预定表
newtable-Table
tablejd-Table
T^bleName:
tab亡泊
Schema:
tert
ytiding
CollsStherraDefault
vEnqin赳InnaDB
桌台表
TableName:
fint
Schema:
test
Colldtion:
SchemaDefault
Engine:
InnoDB
V
Cornrrents:
ColumnName
Datatype
PK
UQ
BIN
UN
ZF
Default
Data
1WT0
□
□□
□□
Oini
7ARCHAR[45)
—
:
[1
□
—
Qin2
VARCHARTS)
>out
VARCHAR(45)
*
rQyinli
VARCHARTS)
7
Yinlicol
VARCHARTS)
c
tJBlzhu
VARCUM尺筋5)
u
竺
——
——
——>
匚cmments:
盈利表
■■■■■
latileMarne!
Qrder
Schema!
test
HF
Collatiofi:
SchemaDefault
V
Engn駅
InnoDB
V
匚oSriName
Datatype
Userid
IMT
Tabeid
VAR亡HA衣(斗弓}
P^Qpls
¥ARCHAR(书)
fcadneni^
VAR匚卜IA札(斗5)
Price
VARCI-IARH5)
*Amount
VARCHAR{45)
Date
VAR匚卜IAR_[^5)
Q
u
NN
PK
□
□
*
□
Comments:
点餐表
lableName:
Bp
Colatjcn:
costorrier
Schtma:
test
utfS■defedtcollationv
Engine:
ImoEB
V
Comments:
ColunviName
Datatype
PK
忖忖UQ
BIN
UN
Tr
Al
Default
Nam皂
□
□
□
□
□
Id
VARCHAR{45)
7
P^d
VARCHAR{45)
u
1
一
1
Addtime
VARCHAFK45)
Morey
VARCHAFH45)
usedmaney
VARCHAft(45)
「Tel
¥員尺匚H蟲1?
(斗5)
□
□
□
□
□
□
Userid
VARCHAR{45)
匚
□□
□
□□
客户表
六查询
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-(selectmoneyfrom
test.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+((selecthowmoney
fromtest.chongzhiwhereid=id_)/2)
whereid=id_;
END
总结
首先感谢帮助过我们的老师同学,现在我们来说说我们的不足吧。
首先我们刚开始不太确定方向,所有系统都想尝试做一下,所以有点耽误时间。
刚开始做的过程中我们对自己做的系统体系结构不太了解,体系都是慢慢逐渐完善的。
刚开始建数据库时,由于对MYSQL这个软件的运用不够熟练,我们不懂得如何导出导入数据库,导致我们做好的表格和数据无法保存,再次打开运行时,导致数据的缺失,一切都要重新来过,浪费了很多时间和精力。
存储过程中也有阻碍,语句的错误,拼写错误,对象引入错误。
但是经过查询课本,网上查找资料以及同学的指导我们找到了错误并加以改正。
在建表时设置主键的不恰当,导致运行程序时出现bug,例
如:
在建立预订表的时候,把主键设置为桌号,这意味着每张桌
子只能用一次,这对于餐饮管理并不符合实际,所以我们理清思路,加入序号这一个属性,以预订顺序为唯一标识,确立主键。
修改前的预订表
修改后的预订表
参考资料:
《MySQL5.6从零开始学习》,《MySQL权威教程》
网页搜索。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 期末 作业 餐饮 管理 系统