数据库餐饮管理系统的设计.docx
《数据库餐饮管理系统的设计.docx》由会员分享,可在线阅读,更多相关《数据库餐饮管理系统的设计.docx(31页珍藏版)》请在冰豆网上搜索。
![数据库餐饮管理系统的设计.docx](https://file1.bdocx.com/fileroot1/2022-12/7/7fa64847-8562-4dfb-8891-bf7928c4f58c/7fa64847-8562-4dfb-8891-bf7928c4f58c1.gif)
数据库餐饮管理系统的设计
目录
摘要3
第1章系统概述4
1.1项目背景4
1.2编写目的4
1.3软件定义4
1.4开发环境5
第2章系统分析6
2.1需求分析6
2.1.1调查用户需求6
2.1.2用户对系统的要求6
2.2系统功能的设计和划分8
2.2.1销售管理员部分9
2.2.2采购管理员部分9
2.2.3人事管理员部分9
2.2.4财务管理员部分9
2.2.5后勤管理员部分9
2.2.6系统管理员部分10
2.2.7系统功能图10
2.3数据流图10
2.3.1销售管理数据流图10
2.3.2采购管理数据流图11
2.3.3人员信息管理数据流图11
2.3.4购物管理数据流图12
2.4数据字典12
第3章数据库设计15
3.1数据库设计E-R图15
3.2关系模型16
3.3逻辑设计17
3.3.1关系表设计17
3.4视图设计26
3.5存储过程及触发器设计27
3.6物理设计29
3.7安全性以及权限管理29
第4章结束语29
参考文献29
摘要
设计报告论述了分析、开发、设计一个咖啡之翼餐饮管理系统的过程。
该系统十分明确的实现了咖啡之翼餐饮管理的需求,可以提高餐饮管理的效率,该系统可以记录餐饮的详细信息,使咖啡之翼餐饮工作规范化,科学化。
结合计算机技术,采用SQLServer2008或SQLServer2012开发而成。
设计报告介绍了课题相关内容,并通过设计分析,将系统划分为多个功能模块,有员工信息、餐饮订单详情、仓库存货量、进货详情、收支详情等。
着重叙述了员工信息与收支详情这两个功能模块的功能实现,这些模块基本上满足了用户的管理功能,系统中的各个模块相互连接,通过查询、新增、删除等功能完成了餐饮的收支详情以及员工的工作详情等,将咖啡之翼餐饮的所有信息以数据的形式显示出来。
通过对咖啡之翼餐饮店的业务过程分析,进行业务流程图、数据流程图、E-R图及其规范化,进而数据库逻辑设计、物理设计等方面的设计,创建一个方便易用、简洁友好的数据库系统。
通过数据库对各方面信息进行管理能提高参与管理的效率,增强企业的竞争力,同时也是企业的科学化、正规化管理的要求。
关键词:
咖啡之翼、员工信息、餐饮订单详情、仓库信息、收支详情、逻辑设计、物理设计、E-R图。
第1章系统概述
1.1项目背景
餐饮业是指以商业赢利为目的的餐饮服务机构。
随着经济的发展,餐饮业已呈现出高速发展的状态。
但是,在快速发展的同时,餐饮业在日常经营管理中大都是以人为主体的,需要很多的人力、物力、财力,且效率不是很高,在系统运营时也可能产生人为的失误。
传统的餐饮管理工作既繁琐也不利于分析企业的经营状况,在提供决策信息方面也难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升。
1.2编写目的
在餐饮管理中引入数据库这一信息管理技术,具有人工管理所无法比拟的优点。
例如:
统计结账快速、安全保密性好、可靠性高、存储量大、寿命长、成本低等。
通过对餐饮店管理信息方面进行数据库建立,能够极大地提高餐饮管理的效率,增强企业的竞争力,同时也是企业的科学化、正规化管理,与世界接轨的重要条件。
1.3软件定义
在本数据库的开发中,主要涉及的软件如下:
MicrosoftOfficeWord2016
MicrosoftSQLSever2012
1.4开发环境
MicrosoftWindows10
第2章系统分析
2.1需求分析
2.1.1调查用户需求
本系统的最终用户为店主以及该店的各个管理人员。
根据我们日常生活中的经验,结合对自己周边餐馆员工的咨询和对餐厅营业的调查,得出用户的下列要求:
基本功能需求:
本系统用于餐厅日常的营业管理,主要面向于餐厅的管理阶层用于对餐厅的销售状况进行全方位的了解。
日常管理包含以下几方面的信息:
(1)前台销售的基本信息
客户每次进行消费,所花费的金额都会以账单的形式被记录下来。
前台销售管理员主要将账单的信息输入系统,再由系统存入数据库这都是餐厅销售的重要信息。
(2)采购的基本信息
采购信息是餐厅的资本输出的重要记录,将采购信息存入数据库可以进行营业额的计算,统计销售情况。
正确分析餐厅的真实情况,进行热门菜品分析进而选择适合客户口味的食材,提高餐厅体验度。
(3)员工的基本信息
餐厅拥有很多的员工,每个人分配有不同的角色,参与不同的工作,员工又有自己不同的职位。
员工的基本信息是非常重要的,首先餐厅营业必须确保自身的安全,再者餐厅需要每个员工工作才能正常工作,员工是餐厅运作的基本。
(4)日常维修的基本信息
每个餐厅都需要定期的维修餐厅中的物品,日常使用过程中不免有损坏。
这样就需要分配人去修理,在修理过程中肯定需要修理费用。
这笔花费必选记录下来保存在数据库中,以便日后统计分析。
2.1.2用户对系统的要求
(1)销售管理
①信息要求
销售管理员能查询座位的全部信息,并且可以编辑,修改座位信息表的所有字段。
可以查询菜单的基本信息。
填写账单信息而后系统自动计算账单的总价格,并将账单的信息进行保存。
②处理要求
当座位被占用时,应该及时的修改座位的状态以防给顾客带来困扰。
(2)人事管理
①信息要求
人事管理员能够查询编辑公司人员信息的全部内容,比如可以查看人员的联系方式,但是不允许查看人员的薪资。
将权利分开来,薪资不允许人事管理员看到。
②处理要求
当人事变动或者人员信息变化时能够对员工信息表修改、删除、增加、查询。
及时的处理人员的基本信息记录。
(3)财务管理
①信息要求
财务管理员能够查看员工考勤信息,查看员工信息,账单信息,维修记录信息,采购信息。
能够查询编辑公司人员工资信息,编辑统计销售信息。
②处理要求
按照公司的规定时间定期根据考勤记录计算修改员工的基本工资信息。
同时定期统计销售情况,增加信息到统计销售信息。
(4)采购管理
①信息要求
采购管理员可以查看采购信息,查看库存信息和修改菜单信息。
采购管理员根据当时的仓库所有的食材,在菜单上勾选那些菜品在一段时间中不会出现。
②处理要求
当仓库的食材缺少或者没有时,能够修改、删除、增加菜单信息。
在采购完成后,能增加、修改、插入、查询采购的基本信息。
(5)后勤管理
①信息要求
后勤管理员能够增加、修改、插入、查询编辑机器的详细维修信息。
②处理要求
当发生维修记录时,能及时的处理人员的维修信息记录,将信息更新到数据库当中。
(6)系统用户
①信息要求
可以查看、修改、删除、增加任何信息,但是为了确保数据库的安全性尽量提醒用户是否继续危险操作。
②处理要求
对于管理员的权限设置应及时,对于数据库的安全性要进行及时处理。
对于过于集中的危险操作要进行限制,数据库要进行定期的维护备份。
③安全与完整性要求
A、安全性要求:
a、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户
设置其密码,保证用户身份不被盗用;
b、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处
理数据的类别和内容;
c、系统应对不同用户设置不同的权限,区分不同的用户,如区分普通管
理员,超级管理员;
B、完整性要求;
a、各种信息记录的完整性,信息记录内容不能为空;
b、各种数据间相互的联系的正确性;
c、相同的数据在不同记录中的一致性。
2.2系统功能的设计和划分
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:
第一部分:
销售管理员部分
第二部分:
采购管理员部分
第三部分:
人事管理员部分
第四部分:
财务管理员部分
第五部分:
后勤管理员部分
第六部分:
系统管理员部分
各部分完成的功能如下:
2.2.1销售管理员部分
查询座位信息。
修改座位状态。
查询菜单信息。
插入账单信息。
2.2.2采购管理员部分
插入采购信息。
查询库存信息。
查询、修改、增加、删除菜单信息。
2.2.3人事管理员部分
查询、修改、增加、删除员工基本信息(除薪资)。
2.2.4财务管理员部分
查看员工考勤信息。
查看员工信息。
编辑员工薪资信息。
查看账单信息。
查看维修记录信息。
查看采购信息。
编辑销售统计信息。
2.2.5后勤管理员部分
查询、修改、增加、删除维修信息。
2.2.6系统管理员部分
处理管理员登录。
管理员可以编辑用户信息。
管理员可以设置数据备份。
管理员可以进行安全维护。
2.2.7系统功能图
员工信息管理
账单管理
工资计算
销售统计
用户添加
系统管理
人事管理
采购管理
财务管理
后勤管理
安全维护
数据备份
维修管理
权限设置
菜单管理
采购记录
销售管理
咖啡之翼餐饮营业管理
2.3数据流图
2.3.1销售管理数据流图
2.3.2采购管理数据流图
2.3.3人员信息数据流图
2.3.4财务管理数据流图
2.4数据字典
数据项表
数据项名称
说明
数据类型
长度
取值范围
用户编号
唯一标识顾客
char
12
数字
联系方式
跟顾客联系
varchar
25
数字
用户姓名
区别不同的顾客
varchar
10
汉字或英语
顾客类型
判断是否有会员优惠资格
char
4
是、否
顾客性别
区别男女
char
2
男、女
菜单编号
唯一标识菜肴
int
数字
菜肴名
区别不同的菜肴
varchar
20
汉字或英语
价格
每种菜肴应收的金额
int
数字
备注
职工编号
唯一标识员工
int
数字
职工姓名
区别不同的职工
char
10
汉字或英语
职称
判断员工级别
varchar
20
汉字或英语
工资
职工收入
char
20
数字
联系方式
联系员工
char
20
数字
账单编号
唯一标识菜单
int
菜编号
区别不同的菜单
int
价钱
顾客应付的总金额
char
15
数字
份数
顾客对几份账单进行付款
int
备注
序号
唯一区别不同的订单
int
预订人
提交订单的名字
char
10
汉字或英语
预订桌号
顾客要求的桌子号
int
账单号
编排不同的订单
int
用餐人数
订单用餐人数
int
收银单编号
顾客结账所执单号
int
应收金额
顾客所要付的总金额
char
20
数字
折扣
会员或者拥有会员卡的顾客的福利
char
20
数字
实收金额
减去折扣顾客所要付的金额
char
20
数字
收银时间
工作人员为顾客结账时间
datatime
数字
备注
账单编号
编排不同的订单
int
消费金额
顾客实付的金额
char
20
数字
用餐持续时间
餐厅服务时间
datatime
数字
客户类型
判断顾客会员级别
char
4
汉字或英语
数据结构表
编号
数据结构名
属性
01
用户
顾客编号、顾客名、联系方式、顾客性别、顾客类型
02
菜单
菜编号、菜名、价格、备注
03
职员
职工编号、姓名、职称、工资、联系方式
04
账单
账单编号、菜编号、价钱、份数
05
预订
序号、预订人、桌号、账单号、用餐人数、应付款、备注
06
收银单
收银单编号、应收金额、折扣、实收金额、收银时间
07
账单
帐目编号、消费金额、用餐持续时间、客户类型
第3章数据库设计
3.1根据需求分析说明书设计ER图,设计完成的ER图为:
销售统计
食材
包含
Nmn
坐位
采购
统计
采购表
1
占用
1n
考勤表
账单
结算
工作
111n
菜品
员工
包含
1nnm
111
菜单
制定
维修
管理
菜单
食材
n
菜品
包含
nnnmn
包含
维修记录
仓库
m
3.2转化为关系模型
员工(员工ID,姓名,性别,年龄,身份证号,职务,联系方式,薪资,劳务合同开始日期,劳务合同结束日期)
考勤表(员工ID,日期,工作量百分比)
销售统计(统计ID,统计日期,盈利金额,亏损金额,统计员ID)
维修记录(维修ID,日期,处理花费金额,事件描述,处理人ID)
采购记录(采购ID,日期,采购员ID)
仓库(仓库ID,管理员ID,仓库量,仓库面积,仓库位置)
食材(食材ID,食材名,描述)
食材_仓库(食材ID,仓库ID,数量)
食材_采购(食材ID,采购ID,数量,单价)
菜单(菜单ID,时间,制定人ID)
菜品(菜品ID,菜品名,价格,菜品类型,描述)
菜单_菜品(菜单ID,菜品ID)
账单(流水ID,座位ID,总价格,日期,处理人ID)
座位(座位ID,编号,座位状态)
账单_菜品(流水ID,菜品ID,数量,单价)
3.3逻辑设计
3.3.1关系表设计
将ER图转换为关系模式、要求设计出数据库所有关系表
员工信息表(STAFF)
中文含义
字段名
类型
长度
备注
完整性约束
员工ID
staffID
bigint
主键
姓名
name
varchar(50)
50
notnull
性别
sex
varchar
(2)
2
值为“男”或“女”
年龄
age
int
null
身份证号
identityCardID
varchar(50)
50
notnull
职位
position
varchar(100)
100
null
联系方式
phone
varchar(20)
20
notnull
薪资
wage
int
null
劳务合同结束日期
startWorkTime
date
notnull
劳务合同开始日期
endWorkTime
date
null
表2采购表(PURCHASE)
中文含义
字段名
类型
长度
备注
完整性约束
采购ID
purchaseID
bigin
主键
日期
date
date
notnull
采购员ID
staffID
bigint
外键
表3食材_采购表(IngredientPurchase)
中文含义
字段名
类型
长度
备注
完整性约束
食材ID
ingredientsID
bigin
主键
采购ID
Pname
bigin
主键
数量
number
float
notnull
单价
price
float
null
表4菜单表(MENU)
中文含义
字段名
类型
长度
备注
完整性约束
菜单ID
menuID
bigint
主键
日期
date
date
notnull
指定人ID
staffID
bigint
外键
表5食品表(FOOD)
中文含义
字段名
类型
长度
备注
完整性约束
菜品ID
foodID
bigint
主键
菜品名
foodName
varchar(50)
50
notnull
价格
price
date
notnull
菜品类型
foodType
varchar(50)
50
notnull
描述
description
varchar(100)
100
null
表6维修表(REPAIR)
中文含义
字段名
类型
长度
备注
完整性约束
维修ID
repairID
bigint
主键
日期
date
date
null
处理花费金额
dealMoney
float
null
事件描述
eventDescription
varchar(500)
500
null
处理人ID
staffID
bigint
外键
表7流水表(BILL)
中文含义
字段名
类型
长度
备注
完整性约束
流水ID
billID
bigint
主键
座位ID
seatID
bigint
外键
总价格
allPrice
float
notnull
日期
date
Date
notnull
处理人ID
staffID
bigint
外键
表8考勤表(CHECKWORK)
中文含义
字段名
类型
长度
备注
完整性约束
日期
Uname
date
主键
员工ID
Upassword
bigint
主键
工作量百分比
workPercentage
float
notnull
表9销售统计表(SALE)
中文含义
字段名
类型
长度
备注
完整性约束
统计ID
saleID
bigint
主键
日期
date
date
notnull
盈利金额
profitMoney
float
notnull
亏损金额
lossMoney
float
notnull
统计员ID
staffID
bigint
外键
表10仓库表(REPERTORY)
中文含义
字段名
类型
长度
备注
完整性约束
仓库ID
repertoryID
bigint
主键
仓库容量
capacity
float
null
仓库面积
area
float
null
仓库位置
position
varchar(100)
100
notnull
管理人ID
staffID
bigint
外键
表11账单菜品关系表(BILLFOOD)
中文含义
字段名
类型
长度
备注
完整性约束
流水ID
billID
bigint
主键
菜品ID
foodID
float
null
数量
number
float
null
单价
price
varchar(100)
100
notnull
表12系统用户表(UserSystem)
中文含义
字段名
类型
长度
备注
完整性约束
用户ID
userID
bigint
主键
密码
password
varchar(30)
30
notnull
用户类型
userType
varchar(50)
50
notnull
表13食材_仓库表(IngredientRepertory)
中文含义
字段名
类型
长度
备注
完整性约束
食材ID
repertoryID
bigint
主键
仓库ID
capacity
float
主键
数量
area
float
notnull
表14食材表(INGREDIENTS)
中文含义
字段名
类型
长度
备注
完整性约束
食材ID
ingredientsID
bigint
主键
食材名
ingredientName
varchar(50)
50
notnull
描述
description
varchar(100)
100
null
表15食材_仓库表(SEAT)
中文含义
字段名
类型
长度
备注
完整性约束
座位ID
seatID
bigint
主键
编号
number
int
notnull
以上关系模式均为BCNF。
3.4视图设计
●为了方便程序查询,建立了如下用户视图:
●当前菜单信息视图(菜品名,价格,菜品类型,描述)
●SELECTdbo.FOOD.foodName,dbo.FOOD.price,dbo.FOOD.foodType,dbo.FOOD.description
●FROMdbo.FOODINNERJOINdbo.MENUFOODONdbo.FOOD.foodID=dbo.MENUFOOD.foodIDCROSSJOINdbo.MENU
●WHERE(dbo.FOOD.foodIDIN(SELECTfoodIDFROMdbo.MENUFOODASMENUFOOD_1
●WHERE(menuID=(SELECTTOP
(1)menuID
●FROMdbo.MENUASMENU_1))))
●历史账单信息视图(流水ID,菜品名,数量,总价格,日期,处理人ID)
●SELECTdbo.BILL.billID,dbo.BILL.date,dbo.BILL.staffID,dbo.BILLFOOD.foodID,dbo.BILLFOOD.number,dbo.BILLFOOD.price,dbo.BILL.seatID
●FROMdbo.BILLINNERJOINdbo.BILLFOODONdbo.BILL.billID=dbo.BILLFOOD.billID
●当前库存信息视图(仓库ID,食材名,数量,管理员ID)
●SELECTdbo.IngredientRepertory.repertoryID,dbo.IngredientRepertory.ingredientsID,dbo.INGREDIENTS.ingredientNmae,dbo.IngredientRepertory.number,dbo.INGREDIENTS.description
●FROMdbo.IngredientRepertoryINNERJOINdbo.INGREDIENTSONdbo.IngredientReper