数据库课程设计餐饮管理系统_第1页
数据库课程设计餐饮管理系统_第2页
数据库课程设计餐饮管理系统_第3页
数据库课程设计餐饮管理系统_第4页
数据库课程设计餐饮管理系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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、查询所有员工档案 数据库原理课

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

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

8、菜 单详 明 菜 单菜单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.2VIP用户信息折扣处理P3.2.3结账处理P3.2.2票 据账 单原 价 单原价单F3.2.1更 变 顾 客 信息折价单VIP 流程图 图 3-12-7VIP 升级业务(2)数据字典 数据项 表 1 数据项编号数

9、据项名称代号数据类型1员工号workernochar(10)2姓名workernamevarchar(10)3性别workersexchar(4)图 3-12-6 结账业务 数据库原理课程设计报告 - 9 -4年龄workerageint5基本工资workersalarymoney6顾客号customernoVarchar(10)7顾客姓名customernameVarchar(10)8顾客性别customersexVarchar(4)9联系电话customerphonenoVarchar(15)10VIP 等级折扣率VIP_levelint11历史消费总额totalexpendFloat(5

10、)12订单号odernovarchar(10)13订单时间odertimedatetime14菜品编号Dishnochar(10)15菜品名Dishnamechar(20)16菜品类别Dishclass17菜品状态Dishstatechar(2)18价格Dishpriceint19桌台号Foodtablenochar(10)20桌台容量seatingnoint21桌台状态FoodtablestateVarchar(10)22折扣discountfloat23消费总额Saleroomfloat24菜单号MenunoVarchar(10)25数量amountint26折扣后总额after_disc

11、ountfloat27开票时间billtimetime28备注notechar(20)29支付方式paywaychar(10)30 账单编号Bellnoint31发票号Invonochar(20) 数据结构 表 2 数据结构编号 数据结构名属性1员工信息员工号,姓名,性别,年龄,职务,工资2菜谱菜品,菜品号,价格,菜类别3桌台信息桌台号,容纳人数,使用状态4菜单菜单编号,桌台号,点菜时间,顾客号5点单菜单编号,菜品号,菜品名,数量5销售账单销售账单号,时间,销售总额6顾客信息顾客编号,姓名,性别,联系方式消费等级,会员等级,累计消费额7折扣规则VIP 等级,折扣8订单订单编号,顾客编号,分配桌

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

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

14、)订单-顾客 数据库原理课程设计报告 - 13 -图 3-12-12 订单-顾客顾客(顾客号,姓名,年龄,性别,联系方式,等级)订单(订单号,顾客号,订单时间,桌台号)(6)菜单顾客图 3-12-13菜单顾客菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)顾客(顾客号,姓名,年龄,性别,联系方式,等级)3.2.2 整体E-R 图 数据库原理课程设计报告 - 14 -菜单菜品员工发票顾客订单桌号位置对应生成点菜负责包含预定销售账单付款方式对应工资包含11m1 1 11 111 1 1 生成1 1 1 1 1 n1 m n 图 3-12-14 整体 E-R 图3.3 逻辑结构设计1.E-R

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

16、子模式的设计(视图)create view 凉菜asselect Dishname,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 o

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

18、ary key, Dishname varchar(10), Dishclass 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, fore

19、ign key (Customerno) references Customer(Customerno), 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 Foodt

20、ablestate = 占)-drop table Menuscreate table Menus -菜单(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(Custo

21、merno) references Customer(Customerno),)-drop table Menus_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)

22、-drop table Customercreate table Customer -顾客(Customerno 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 colu

23、mn totalexpend float(5)-drop table Discount_rulescreate table 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 = 女

24、), Workerage int, Workersalary int,)-drop table Sales_billcreate table 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(

25、20)asInsert into customer values(Customerno, Customername, Customersex, 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

26、,Foodtablestate)exec 桌台 O_005,20,空3-14-2插入桌台信息-drop proc 预定create procedure 预定 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

27、 proc 查询预订Customerno varchar(10),Oderno varchar(10) outputas if exists(select* 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-

28、14-4预订declare Oderno varchar(10)exec 查询预订 C_035, Oderno output3-14-5预订-开台信息-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,workern

29、o,Customertime)update Foodtable set Foodtablestate=占 where Foodtableno = 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) as insert into D

30、ish values(Dishno,Dishname,Dishclass,Dishprice,Dishstate)exec 菜品 D-10,蒜泥黄瓜,凉,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 varc

31、har(10) ,Amount int as insert into menus_dish values(Menuno,Dishno,Dishname,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

32、- customerno varchar(10), Saleroom float outputas select Saleroom=SUM(Dishprice*Amount) from menus_dish,Dish,Menus where Customerno=customerno and Menus.Menuno=Menus_Dish.Menuno and Dish.Dishno=menus_dish.Dishno -测验-declare Saleroom float, customerno varchar(10) = c_035 exec 消费总额 customerno , Salero

33、om outputselect Customername, Saleroom 总费用from Customerwhere Customerno = customerno3-14-9查询消费额-查询客户点菜信息-drop proc 查询客户点菜create proc 查询客户点菜customerno varchar(10)as select Dish.Dishname ,Amount from Dish,menus_dish,menus where menus.Customerno=customerno and menus_dish.Menuno=menus.Menunoand Dish.Dis

34、hno=menus_dish.Dishno -测验-exec 查询客户点菜 c_035exec 查询客户点菜 c_0013-14-10查询顾客信息 数据库原理课程设计报告 - 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查询菜单 数据库原理课程设计报告 - 2

35、5 -发票信息-create proc 发票信息 customerno varchar(10), Actuallypay1 float, Menuno varchar(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,Menus

36、where Customerno=customerno and Menus.Menuno=Menus_Dish.Menuno and Dish.Dishno=menus_dish.Dishno select customername=customername from customer where customerno = customerno select Menuno=Menuno from Menus where Customerno=customerno set Billtime=getdate() set Actuallypay2=Actuallypay1 select after_

37、discount=Saleroom*0.1*Discount from customer , Discount_rules where customer.VIP_level=Discount_rules.VIP_level print 用户名: + + customername print 实 付: + str(Actuallypay2, 10, 2) 数据库原理课程设计报告 - 26 - print 应 付: + str(Saleroom, 10, 2) print 折扣后: + str(after_discount, 10, 2) print 应 找: + str(Actuallypay2

38、-after_discount, 10, 2) print 时 间: + + cast( Billtime as varchar(20) update customer set totalexpend = (totalexpend+after_discount) where customerno = customerno delete from menus_dish where Menuno =(select Menuno from Menus where customerno = customerno)update Foodtable set Foodtablestate=空 where F

39、oodtableno = (select Foodtableno from Menus where customerno = customerno) delete from Menus where customerno = customerno insert into sales_bill values(Menuno,after_discount,Billtime)-测验-declare customername varchar(10) ,Actuallypay2 float,Saleroom float, Menuno varchar(10), after_discount float ,B

40、illtime datetime exec 发票信息 c_002, 200,customername output, Actuallypay2 output,Saleroom output,Menuno output,after_discount output,Billtime output 3-14-10打印发票 数据库原理课程设计报告 - 27 -查询某一时间段的营业额-drop proc 查询营业额create proc 查询营业额begintime datetime,endtime datetime,sum_of_turnover float(5) outputAsselect sum

41、_of_turnover=sum(Saleroom)from Sales_billwhere Billtime=begintime and Billtimeendtimeprint 从时间:+ cast( begintime as varchar(20)+ 到时间:+ cast( endtime as varchar(20)+ 的营业总额为:+str(sum_of_turnover, 10, 2)-测验-declare sum_of_turnover float(5)exec 查询营业额 2015-6-13 ,2015-9-113,sum_of_turnover outputselect sum_of_turnover 3-14-11查询营业额-VIP升级-create trigger trig_Upgrade_of_VIP_level

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论