当前位置:文档之家› SQL数据库期末大作业91411

SQL数据库期末大作业91411

Hefei University
《数据库期末大作业》
餐饮业信息管理系统的开发
专业:电子信息工程
班级:13电子1班
姓名:**
学号:**********
指导老师:史俊朗
完成时间:2016-12-28
一、本项目的需求分析
随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。

高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。

为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:员工登陆操作信息系统,以及店主操作管理信息系统。

不同的设计从而达到不同的功能,实现信息的有效传达与管理。

第一:在员工使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.查询菜单
3.添加查询预定信息,为老顾客打折
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取
第二:管理员使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.添加修改查询菜单信息,最好能看到菜品图片
3.添加查询预定信息,为老顾客打折
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取
6.设定具体的打折方法
7.添加职员信息,权限也可以定为管理员。

8.可以查询使用者的现金收款金额。

二、餐饮业管理数据库管理系统的E-R模型(概念结构设计)
1.用户(员工)的信息:
编号、密码、类型、姓名、电话、收款金额
2.客户信息:
用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额
3.食谱:
类型、名称、价格、配料、照片
4.预定:
用户编号、日期、预定时间、客户姓名、类型、预定食谱、桌号5桌台管理:
桌号、使用情况、
6.点餐管理:
用户编号、类型、菜品、数量、价格、照片
7.盈利管理:
日期、日支出金额、店内收入、外卖收入、盈利额度
各对象之间的联系图:
用户E-R图
主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。

客户表E-R图
主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。

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

食谱表E-R图
主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。

点餐表E-R图
主要储存堂食客人点餐信息,用于记录、统计点餐信息,以及分析菜品的受
欢迎程度。

预定E-R图
主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。

主要存储每日收入流水,用于统计财务收入。

三、数据表的设计
1、user(用户员工表)
用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,字段money用于记录用户的收款金额,便于结算时对收款现金的核对。

2、customer(客户表)
客户表主要用于存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。

字段usedmoney用于记录客户的消费情况,为客户打折时会使用到它。

3、food (食谱表)
食谱表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。

字段Price记录的是食物的价格。

当客户预定餐点时,系统使用它来算费用。

4、Order(点餐表)
表3.3 Order
5、YuDing(预定表)
5 Userid 用户编号nchar 10 不允许空
6 Food 菜单号nvarchar MAX 不允许空
7 Money 消费金额money 不允许空
预定表主要用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。

当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。

6、Yinli (盈利表)
表3.3 food
序号字段名称字段描述字段类型长度备注
1 Data 日期nchar 20 不允许空
2 in1 店内收入money 允许空
3 in2 外卖收入money 允许空
4 out 日支出money 允许空
5 yinli 盈利money 允许空5 beizhu 备注nchar 允许空
四.数据库创建:
创建表
食谱表用户表预定表桌台表
盈利表点餐
客户表
五、查询
1.查询“小餐饮管理”数据库中,“客户表”中的所有数据
2.条件查询:查询“客户表”中“客户姓名=孙超”的信息
3.查询“食谱表”中菜名、价格、食品照片、类型、食谱配料
4.查询“点菜表”中用户编号为01点菜情况。

5.模糊查询:查询“客户表”中,姓“王”且表中情况
6.查询统计“客户表”中客户的总数
8.二表查询:查询“用户表”中编号=‘01’的编号点菜情况
9.三表查询:查询“用户表”,“客户表”,“点菜表”中,用户编号为01的用户类
型,点菜情况,以及预定情况
10嵌套查询:查询点了热菜的用户编号
六.约束
代码约束
/*设置餐饮表中盈利额度店内收入>0并<=1000的约束*/
use 小餐饮管理系统
go
ALTER TABLE 盈利表
ADD CONSTRAINT qw_constraint CHECK (店内收入>=0 AND 店内收入<=10000) select *
from 盈利表
/*设置价格>=0 AND 价格<=110的约束*/
use 小餐饮管理系统
go
ALTER TABLE 食谱表
ADD CONSTRAINT wq_constraint CHECK (价格>=0 AND 价格<=110)
select *
from 食谱表
/*设置桌台表可座人数>=0 AND 可座人数<=10 的约束*/
use 小餐饮管理系统
go
ALTER TABLE 桌台表
ADD CONSTRAINT rs_constraint CHECK (可座人数>=0 AND 可座人数<=10) select *
from 桌台表
/*设置使用情况IN('未','是')的约束*/
use 小餐饮管理系统
go
ALTER TABLE 桌台表
ADD CONSTRAINT ss_constraint CHECK (使用情况IN('未','是'))
select *
from 桌台表
/*向表中添加一个字段并设置默认值约束*/
ALTER TABLE 用户表
ADD AddDate datetime NULL
CONSTRAINT AddDateDflt
DEFAULT getdate() WITH VALUES
select *
from 用户表
/*创建一个新表VIP表,只考虑贵宾编号和性别两列,性别只包括男或女的约束*/ Use 小餐饮管理系统
go
create TABLE VIP表
(
贵宾编号char(6)not null,
性别char(1)not null check(性别in('男','女')) )
代码抓图:
八、存储过程
九、总结
(1)、通过本次大报告,对于数据库设计的基本方法、步骤有了更深入的了解和认识。

学会用整体性的思维来构思设计数据库,注意到了数据库中各个数据项之间的联系,以及其与整个数据库之间的联系。

(2)从创建数据库,运用代码实现各个数据表的构建再到约束性条件的实现,运用存储过程、触发器对表进行一系列的操作,都让我们对之前实验与SQL 相关的部分进行了回顾。

同时通过这个数据库的建立和完善,将诸多实验中零散的知识点联系在一起。

(3)在实验过程中遇到许多问题,通过查阅资料,翻阅书籍,和同学讨论等方法解决了问题。

学会了整体性思维,在很多次的修改之后完成实验内容,收获颇丰。

(4)能够根据题目的具体要求,有拓展,有延伸,更进一步掌握了存储过程、触发器、视图的相关概念,对知识层次的认知更进一步。

感谢下载!
欢迎您的下载,资料仅供参考。

相关主题