SQL数据库期末作业餐饮管理系统.docx

上传人:b****7 文档编号:23818063 上传时间:2023-05-21 格式:DOCX 页数:20 大小:307.42KB
下载 相关 举报
SQL数据库期末作业餐饮管理系统.docx_第1页
第1页 / 共20页
SQL数据库期末作业餐饮管理系统.docx_第2页
第2页 / 共20页
SQL数据库期末作业餐饮管理系统.docx_第3页
第3页 / 共20页
SQL数据库期末作业餐饮管理系统.docx_第4页
第4页 / 共20页
SQL数据库期末作业餐饮管理系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

SQL数据库期末作业餐饮管理系统.docx

《SQL数据库期末作业餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《SQL数据库期末作业餐饮管理系统.docx(20页珍藏版)》请在冰豆网上搜索。

SQL数据库期末作业餐饮管理系统.docx

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图

主要用于储存餐饮店桌台使用情况,方便来客安排,与预定。

食谱表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权威教程》

网页搜索。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1