收藏 分享(赏)

数据库课程设计餐饮管理系统.doc

上传人:精品资料 文档编号:10602550 上传时间:2019-12-04 格式:DOC 页数:31 大小:664.50KB
下载 相关 举报
数据库课程设计餐饮管理系统.doc_第1页
第1页 / 共31页
数据库课程设计餐饮管理系统.doc_第2页
第2页 / 共31页
数据库课程设计餐饮管理系统.doc_第3页
第3页 / 共31页
数据库课程设计餐饮管理系统.doc_第4页
第4页 / 共31页
数据库课程设计餐饮管理系统.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、河南城建学院数据库原理课程设计报告课程名称: 数据库原理课程设计 设计题目: 餐饮管理系统 指导教师: 班 级: 学 号: 学生姓名: 同组人员: 计算机科学与工程学院2015 年 6 月成 绩: 评 语: 数据库原理课程设计报告 - 1 -目 录第 1 章 概述21.1 选题的背景与意义 .21.2 相关技术分析2第 2 章 系统功能设计32.1 系统总体结构设计图32.2 系统功能模块 .31.2.1 模块一(具体模块的名称)31.2.2 模块二3第 3 章 数据库设计53.1 需求分析 .53.2 概念结构设计 .53.3 逻辑结构设计 .143.4 物理结构设计 .163.5 数据库实

2、施 .18第 4 章 结束语29参考文献30数据库原理课程设计报告 - 2 -第 1 章 概述1.1 选题的背景与意义近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。作为传统的餐饮企业更是存在这些问题,进货,库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理企业的日常运作

3、,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。作为计算机应用的一部分,使用计算机对餐饮企业信息进行管理, 具有手工管理所无法比拟的优点.例如: 检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。1.2 相关技术分析经过分析,本系统运用了 Microsoft SQL Server2008 为数据库,系统实现了后台管理、桌台信息的查询、开台信息、点菜、收银、桌台信息管理、员工管理、菜单维护、消费查询和盈利信息查询等功能。数据库原理课程设计报告 - 3 -第 2 章 系统功能设计

4、2.1 系统总体结构设计图2.2 系统功能模块1.2.1 模块一(具体模块的名称)桌台数据包括房台编号、座位数、状态(占/空) 。酒店储存有会员信息,需要折扣信息等。菜品信息有菜品编号,名称,价格和状态等1.2.2 模块二具体数据需求如下:点菜阶段需要的数据有:1、菜品信息,包括其名称、所属菜类别等。2、桌台信息,包括其编号、可容人数、使用状态等。3、会员信息,包括会员编号、折扣、历史消费总额等。4、预订信息,包括预订日期、时段、预订菜品等。员工管理需要数据有:1、员工档案:包括其姓名、性别、职位(经理,厨师,服务员) 、工资。销售统计需要的数据有:1、消费单据:包括金额、日期、项目单编号等数

5、据。2、消费项目单据:消费菜品编号、数量、小计等。会员管理需要的数据有:1、会员档案:会员编号、对应折扣等。3.13 事务需求 数据录入:1、录入房台信息2、录入菜品信息3、录入会员信息数据库原理课程设计报告 - 4 -4、录入员工档案信息 数据更新/删除1、更新/删除房台信息2、更新/删除菜系信息3、更新/删除菜品信息4、更新/删除会员信息5、更新/删除员工档案信息 数据查询1、查询可用房台信息2、查询在售菜品信息3、查询开台信息4、查询订单信息5、查询会员折扣信息6、可查询某时间段的营业额。8、查询可用房台信息9、查询所有员工档案数据库原理课程设计报告 - 5 -第 3 章 数据库设计3.

6、1 需求分析311 开发背景从分析饭店的基本情况入手,根据餐饮行业的特点和实际情况,进行系统的可行性分析,来了解企业的管理特点和存在的问题,酒店管理系统应以餐饮业务为基础,在此基础上,进行详细分析,得出系统功能结构图。本系统主要是用于后台管理,重视营业数据分析等功能,从专业角度出发,努力为餐饮管理者提供科学有效地管理模式和数据分析功能。3.12 功能模块(1) 数据流图业务流程图图 3-12-1 顶层数据流数据库原理课程设计报告 - 6 -E1顾 客 菜 单 处 理P0F1 更 变 信 息E2收 银 员明 细 菜 单VIP用 户一 般 用 户图 3-12-2 第一层数据流P1E2.1顾 客预

7、定 菜单P2.2直 接 下单P2.3 菜 单 处 理P2.4后 台 处 理P2.5F2.1 更 变 顾 客 信 息预 定 点 单点 单 菜 单菜 单 帐 单菜 谱票 据菜 单 完 成是 否 预订 处 理P2.1顾 客 信 息E2.2收 银 员结 账P2.6F2.2 VIP用 户 信 息图 3-12-3 第二层数据流程图(业务数据流程图)点菜业务数据库原理课程设计报告 - 7 -E3.1.1顾 客 菜 单 处 理P3.1.2F3.1.1 账 单 储 存后 台 处 理P3.1.3更 变 处 理P3.1.5判 定 更 变方 式P3.1.4顾 客 信 息 菜 谱更变菜单加 菜 、 减 菜申 请 更 变

8、更 变 反 馈账 单是 否 订 单处 理P3.1.1F3.3.2 储 存 定 单直 接 点 菜P3.1.1菜 单详 明 菜 单菜单P2.1点 菜预订业务E3.3.1顾 客 预 定 处 理P3.3.1整 理 预 订信 息P3.3.2F3.3.2 储 存 定 单F3.3.1 营 业 信 息预 订 申 请 信 息是 否 预 定查 询 结 果预订单信 息 反 馈P2.2预 定结帐业务图 3-12-5 订单业务图 3-12-4 点菜业务数据库原理课程设计报告 - 8 -P2.6结 账E3.2.1顾 客 客 户 类 型判 定P3.2.1F3.2.2 VIP用 户 信 息折 扣 处 理P3.2.3结 账 处

9、 理P3.2.2票 据账 单原 价 单原价单F3.2.1 更 变 顾 客 信息折价单VIP 流程图图 3-12-7VIP 升级业务(2) 数据字典 数据项表 1 数据项编号 数据项名称 代号 数据类型1 员工号 workerno char(10)2 姓名 workername varchar(10)3 性别 workersex char(4)图 3-12-6 结账业务数据库原理课程设计报告 - 9 -4 年龄 workerage int5 基本工资 workersalary money6 顾客号 customerno Varchar(10)7 顾客姓名 customername Varchar

10、(10)8 顾客性别 customersex Varchar(4)9 联系电话 customerphoneno Varchar(15)10 VIP 等级折扣率 VIP_level int11 历史消费总额 totalexpend Float(5)12 订单号 oderno varchar(10)13 订单时间 odertime datetime14 菜品编号 Dishno char(10)15 菜品名 Dishname char(20)16 菜品类别 Dishclass17 菜品状态 Dishstate char(2)18 价格 Dishprice int19 桌台号 Foodtableno

11、char(10)20 桌台容量 seatingno int21 桌台状态 Foodtablestate Varchar(10)22 折扣 discount float23 消费总额 Saleroom float24 菜单号 Menuno Varchar(10)25 数量 amount int26 折扣后总额 after_discount float27 开票时间 billtime time28 备注 note char(20)29 支付方式 payway char(10)30 账单编号 Bellno int31 发票号 Invono char(20) 数据结构表 2 数据结构编号 数据结构名

12、属性1 员工信息 员工号,姓名,性别,年龄,职务,工资2 菜谱 菜品,菜品号,价格,菜类别3 桌台信息 桌台号,容纳人数,使用状态4 菜单 菜单编号,桌台号,点菜时间,顾客号5 点单 菜单编号,菜品号,菜品名,数量5 销售账单 销售账单号,时间,销售总额6 顾客信息 顾客编号,姓名,性别,联系方式消费等级,会员等级,累计消费额7 折扣规则 VIP 等级,折扣8 订单 订单编号,顾客编号,分配桌台,订单时间, 数据流数据库原理课程设计报告 - 10 -表 3 数据流编号 数据流名 输入 输出1 菜品信息 增加菜品 菜谱2 房台信息 增加房台 房台3 参考菜谱 菜谱 点菜4 空闲房台 房台 点菜5

13、 消费项目 点菜 菜单6 预订菜单 预订 菜单7 修改菜单 加菜退菜 菜单8 记入账单 菜单 结账9 结账 折扣方式 结账10 销售统计 结账 销售账单 数据储存表 4 数据储存编号 数据存储名 输入 输出1 菜谱更新 增加菜品 菜谱2 房台更新 增加房台 房台3 顾客信息更新 顾客新信息 顾客信息4 销售统计 销售账单 销售统计5 订单储存 订单 订单信息 处理过程表 5 处理过程编号 处理过程名 输入数据流 输出数据流1 顾客点菜 终端 菜单2 结账 菜单 发票3 销售统计 销售账单 销售统计表3.2 概念结构设计3.2.1 局部 E-R 图(1)菜单-菜品数据库原理课程设计报告 - 11

14、 -图 3-12-8 菜单-菜品菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)菜品(菜品号,名称,菜系号,价格,状态)菜单_菜品(菜单号,菜品号,数量)(2)订单菜单图 3-12-9 订单菜单数据库原理课程设计报告 - 12 -菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)订单(订单号,顾客号,订单时间,桌台号)(3)菜单-员工图 3-12-10 菜单-员工员工(员工号,姓名,性别,年龄,工资)菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)(4)发票-账单图 3-12-11 发票-账单(5)订单-顾客数据库原理课程设计报告 - 13 -图 3-12-12 订单- 顾客顾

15、客(顾客号,姓名,年龄,性别,联系方式,等级)订单(订单号,顾客号,订单时间,桌台号)(6)菜单顾客图 3-12-13 菜单顾客菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)顾客(顾客号,姓名,年龄,性别,联系方式,等级)3.2.2 整体 E-R 图数据库原理课程设计报告 - 14 -菜单菜品员工发票顾客订单桌号 位置 对应生成 点菜负责 包含预定销售账单付款方式对应 工资包含1 1 m1 1 11 11 1 1 1 生成1 1 1 11n1 m n 图 3-12-14 整体 E-R 图3.3 逻辑结构设计1.E-R 图向关系模式转换原则根据以上关系模型的转换。首先个关系模式都满足第一

16、范式,因为每个属性都是不可分割的基本数据项。而且非主属性完全函数依赖于候选码,符合第二范式,而且非主属性不存在传递符合第三范式要求。2.图转换成关系模式如下(下划线的属性为主码)销售账单(账单编号,发票号,销售额,备注)桌台(房台号,使用状态,座位数)订单(订单号,顾客号,订单时间,桌台号)菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)顾客(顾客号,姓名,年龄,性别,联系方式,等级)折扣规则(等级,折扣)员工(员工号,姓名,性别,年龄,工资)菜品(菜品号,名称,菜系号,价格,状态)菜单_菜品(菜单号,菜品号,数量)3.子模式的设计(视图)create view 凉菜asselect D

17、ishname,Dishpricefrom Dish 数据库原理课程设计报告 - 15 -where Dishclass=凉with check option3-13-1 凉菜表create view 热菜asselect Dishname,Dishpricefrom Dish where Dishclass=热with check option3-13-2 热菜create view 空桌台asselect Foodtablenofrom Foodtablewhere Foodtablestate=空with check option数据库原理课程设计报告 - 16 -3-13-3 空桌3.

18、4 物理结构设计1.存储结构与存取方法数据库在物理设备上的存储结构与存取方法就是数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构的过程,就是数据库的物理设计。这一阶段主要的任务是确定数据库的物理结构,并不断的进行优化处理,主要建立索引,触发器,存储过程。2.数据库、表建立的代码create database Restaurant_Management-drop table Dishcreate table Dish -菜谱(Dishno varchar(10)primary key,Dishname varchar(10),Dishcl

19、ass varchar(10),Dishprice float ,Dishstate varchar(6) check(Dishstate = 有 or Dishstate = 无 ),)-drop table Odercreate table Oder-订单(Oderno varchar(10) primary key,Customerno varchar(10) not null,Odertime datetime not null,Foodtableno varchar(10) not null,foreign key (Customerno) references Customer(C

20、ustomerno),foreign key (Foodtableno) references Foodtable(Foodtableno)-drop table Foodtablecreate table Foodtable-桌台信息(Foodtableno varchar(10)primary key,数据库原理课程设计报告 - 17 -seatingno int not null,Foodtablestate varchar(6) check(Foodtablestate = 空 or Foodtablestate = 占)-drop table Menuscreate table Me

21、nus -菜单(Menuno varchar(10)primary key,Foodtableno varchar(10) not null,Customerno varchar(10)not null,Oderno varchar(10),Workerno varchar(10)not null,consumetime datetime,foreign key(Foodtableno) references Foodtable(Foodtableno),foreign key(Customerno) references Customer(Customerno),)-drop table M

22、enus_Dishcreate table Menus_Dish -菜单 _菜品(Menuno varchar(10) ,Dishno varchar(10) ,Dishname varchar(20) not null,Amount int not null,primary key(Menuno,Dishno),foreign key (Dishno) references Dish(Dishno)alter table Menus_Dish add check(Amount0)-drop table Customercreate table Customer -顾客(Customerno

23、varchar(10) primary key,Customername varchar(10) not null,Customersex varchar(4) check(Customersex = 男 or Customersex = 女)not null,Custoemrphoneno varchar(20) unique not null,VIP_level int,totalexpend float)alter table customer alter column totalexpend float(5)-drop table Discount_rulescreate table

24、Discount_rules-折扣规则(VIP_level int primary key,Discount float,)-drop table worker数据库原理课程设计报告 - 18 -create table worker-员工(Workerno varchar(10) primary key,Workername varchar(10),Workersex varchar(4) check(Workersex = 男 or Workersex = 女),Workerage int,Workersalary int,)-drop table Sales_billcreate tab

25、le Sales_bill-销售账(Menuno varchar(10),Saleroom float(5),Billtime datetime)3.5 数据库实施3.5.1-插入新顾客信息-drop proc 插入新顾客信息create proc 插入新顾客信息Customerno varchar(10), Customername varchar(10), Customersex varchar(4), Custoemrphoneno varchar(20)asInsert into customer values(Customerno, Customername, Customersex

26、, Custoemrphoneno, 0, 0)-测验- -exec 插入新顾客信息 C_035,杨涛,男,187008090523-14-1插入新顾客信息create proc 桌台(Foodtableno varchar(10),seatingno int ,Foodtablestate varchar(6) )as数据库原理课程设计报告 - 19 -Insert into Foodtable values(Foodtableno,seatingno,Foodtablestate)exec 桌台 O_005,20,空 3-14-2插入桌台信息-drop proc 预定create proc

27、edure 预定oderno varchar(10),Customerno varchar(10),odertime datetime,Foodtableno varchar(10)as insert into Oder values(oderno,Customerno,odertime,Foodtableno)-exec 预定 O_005,C_035,2012-6-16,TB_83-14-3预订-查询预订-drop proc 查询预订create proc 查询预订Customerno varchar(10),Oderno varchar(10) outputas if exists(sel

28、ect* from oder where customerno=Customerno)数据库原理课程设计报告 - 20 -beginprint 已预订select Oderno=odernofrom oder where customerno=Customernoprint 预定号为:+ Odernoendelse print 未预定declare Oderno varchar(10)exec 查询预订 C_002, Oderno output3-14-4预订declare Oderno varchar(10)exec 查询预订 C_035, Oderno output3-14-5预订-开台信

29、息 -drop proc 开台create proc 开台Menuno varchar(10),Foodtableno varchar(10),customerno varchar(10),Oderno varchar(10),workerno varchar(10),Customertime datetimeas insert into Menusvalues(Menuno,Foodtableno,customerno,Oderno,workerno,Customertime)update Foodtable set Foodtablestate=占 where Foodtableno =

30、Foodtableno-exec 开台 M_010,TB_8,C_035,O_005,W_002,2012-6-11数据库原理课程设计报告 - 21 -3-14-6开台3-14-7开台create proc 菜品Dishno varchar(10),Dishname varchar(10),Dishclass varchar(10),Dishprice float ,Dishstate varchar(6) asinsert into Dish values(Dishno,Dishname,Dishclass,Dishprice,Dishstate)exec 菜品 D-10,蒜泥黄瓜, 凉,

31、10,有exec 菜品 D-23,麻婆豆腐, 热, 15,有exec 菜品 D-11,西芹杏仁, 热, 15,有exec 菜品 D-39,樟茶鸭子, 热, 45,有exec 菜品 D-57,小炒腊肉, 热, 23,有exec 菜品 D-72,小炒河虾, 热, 40,有3-14-7菜品数据库原理课程设计报告 - 22 -顾客点餐-create proc 点菜Menuno varchar(10) ,Dishno varchar(20),Dishname varchar(10) ,Amount int as insert into menus_dish values(Menuno,Dishno,Di

32、shname,Amount)-点菜exec 点菜 M_010,D-10,蒜泥黄瓜,2exec 点菜 M_010,D-23,麻婆豆腐,1exec 点菜 M_010,D-11,西芹杏仁,1exec 点菜 M_010,D-39,樟茶鸭子,1exec 点菜 M_010,D-57,小炒腊肉,2exec 点菜 M_010,D-72,小炒河虾,13-14-8点菜-计算总消费额-drop proc 消费总额create proc 消费总额数据库原理课程设计报告 - 23 -customerno varchar(10),Saleroom float outputas select Saleroom=SUM(Di

33、shprice*Amount)from menus_dish,Dish,Menuswhere Customerno=customerno and Menus.Menuno=Menus_Dish.Menunoand Dish.Dishno=menus_dish.Dishno -测验-declare Saleroom float, customerno varchar(10) = c_035 exec 消费总额 customerno , Saleroom outputselect Customername, Saleroom 总费用from Customerwhere Customerno = c

34、ustomerno3-14-9查询消费额-查询客户点菜信息-drop proc 查询客户点菜create proc 查询客户点菜customerno varchar(10)as select Dish.Dishname ,Amountfrom Dish,menus_dish,menuswhere menus.Customerno=customernoand menus_dish.Menuno=menus.Menunoand Dish.Dishno=menus_dish.Dishno -测验-exec 查询客户点菜 c_035exec 查询客户点菜 c_0013-14-10查询顾客信息数据库原理

35、课程设计报告 - 24 -3-14-11查询顾客信息-菜品的删除 -drop proc 修改菜单create proc 修改菜单Menuno varchar(10), Dishname varchar(20)as delete from menus_dishwhere Menuno=Menunoand Dishname= Dishname-测验-exec 修改菜单 M_010,小炒腊肉 3-14-12查询菜单数据库原理课程设计报告 - 25 -发票信息-create proc 发票信息customerno varchar(10),Actuallypay1 float,Menuno varcha

36、r(10) output,Actuallypay2 float output,customername varchar(10) output,Saleroom float output,after_discount float output,Billtime datetime outputas select Saleroom=SUM(Dishprice*Amount)from menus_dish,Dish,Menuswhere Customerno=customerno and Menus.Menuno=Menus_Dish.Menunoand Dish.Dishno=menus_dish.

37、Dishno select customername=customername from customer where customerno = customernoselect Menuno=Menunofrom Menus where Customerno=customerno set Billtime=getdate() set Actuallypay2=Actuallypay1select after_discount=Saleroom*0.1*Discountfrom customer , Discount_rules where customer.VIP_level=Discoun

38、t_rules.VIP_levelprint 用户名: + + customernameprint 实 付: + str(Actuallypay2, 10, 2)数据库原理课程设计报告 - 26 -print 应 付: + str(Saleroom, 10, 2)print 折扣后: + str(after_discount, 10, 2)print 应 找: + str(Actuallypay2-after_discount, 10, 2)print 时 间: + + cast( Billtime as varchar(20)update customerset totalexpend =

39、(totalexpend+after_discount) where customerno = customernodelete from menus_dish where Menuno =(select Menuno from Menus where customerno = customerno)update Foodtable set Foodtablestate=空 where Foodtableno = (select Foodtableno from Menus where customerno = customerno)deletefrom Menuswhere customer

40、no = customernoinsert into sales_bill values(Menuno,after_discount,Billtime)-测验- -declare customername varchar(10) ,Actuallypay2 float,Saleroom float, Menuno varchar(10), after_discount float ,Billtime datetime exec 发票信息 c_002, 200,customername output, Actuallypay2 output,Saleroom output,Menuno outp

41、ut,after_discount output,Billtime output 3-14-10打印发票数据库原理课程设计报告 - 27 -查询某一时间段的营业额 -drop proc 查询营业额create proc 查询营业额begintime datetime,endtime datetime,sum_of_turnover float(5) outputAsselect sum_of_turnover=sum(Saleroom)from Sales_billwhere Billtime=begintime and Billtime= 500 and expend = 1000 and expend = 1800 and expend = 2500 and expend 3500)set level = 4elseset level = 5update Customer set VIP_level = level where Customerno = no-drop trigger trig_Upgrade_of_VIP_level-删除触发器3.5.2数据库备份与还原的原则1备份类型的选择和还原模式的确定都应遵循这样的原则:尽最大可能、以最快速度减少或消灭数据丢失。2数据库备份和还

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报