餐饮管理数据库课程设计.docx

上传人:b****7 文档编号:9711150 上传时间:2023-02-06 格式:DOCX 页数:38 大小:175.93KB
下载 相关 举报
餐饮管理数据库课程设计.docx_第1页
第1页 / 共38页
餐饮管理数据库课程设计.docx_第2页
第2页 / 共38页
餐饮管理数据库课程设计.docx_第3页
第3页 / 共38页
餐饮管理数据库课程设计.docx_第4页
第4页 / 共38页
餐饮管理数据库课程设计.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

餐饮管理数据库课程设计.docx

《餐饮管理数据库课程设计.docx》由会员分享,可在线阅读,更多相关《餐饮管理数据库课程设计.docx(38页珍藏版)》请在冰豆网上搜索。

餐饮管理数据库课程设计.docx

餐饮管理数据库课程设计

信息工程学院

《数据库课程设计》论文

 

题目:

餐饮管理系统数据库设计

学号:

2010012984

专业班级:

软件工程10级3班

姓名:

杨涛

指导老师:

朱珊娜

完成日期:

2010-6-15

 

 

 

餐饮管理系统数据库设计

杨涛

(信息工程学院软件工程10级3班)

摘要:

近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。

然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。

作为传统的餐饮企业更是存在这些问题,进货,库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理企业的日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。

作为计算机应用的一部分,使用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、XX性好、寿命长、成本低等。

这些优点能够极大地提高信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

经过分析,本系统运用了MicrosoftSQLServer2008和Oracle为数据库,系统实现了后台管理、桌台信息的查询、开台信息、点菜、收银、桌台信息管理、员工管理、菜单维护、消费查询和盈利信息查询等功能。

关键字:

餐饮管理系统;SQL Server2008;Oracle;

 

引言:

1、任务陈述

传统的酒店行业使用手工记账和核算,这是极易出现问题的,比如:

1、速度慢且容易出错

2、不容易查询客户的消费信息。

3、收银过程中容易出现账单丢失的情况。

4、做销售数据统计分析既费时又费力,还容易出现偏差。

而目前餐饮行业竞争愈发激烈,只有解决上述问题才能在竞争中求得生存。

因此本系统将实现点餐、管理、销售统计一体化的工作,帮助餐饮管理者快速、有效地分析数据和进行酒店管理。

2、任务目标

本系统主要涉及餐厅的日常运营,包括房台安排、点菜、结算、销售统计、员工管理等功能。

·后台服务:

实现对餐厅顾客开台、点菜/加菜/退菜(只有未签单的菜品可以退订)、预订、签单、结账(打折)功能(所有菜品都签单后才能结账)。

需要实现预订与开台的冲突处理、预订转换开台等。

·后台管理:

房台号/名管理、菜系管理、菜品管理、会员管理。

需要保证对于以上各种信息的管理能够同步反应到前台服务界面,防止出现点已删除菜品等情况。

·销售统计:

统计某一时间段的营业额。

1.需求分析

从分析饭店店的基本情况入手,根据餐饮行业的特点和实际情况,进行系统的可行性分析,来了解企业的管理特点和存在的问题,酒店管理系统应以餐饮业务为基础,在此基础上,进行详细分析,得出系统功能结构图。

本系统主要是用于后台管理,重视营业数据分析等功能,从专业角度出发,努力为餐饮管理者提供科学有效地管理模式和数据分析功能。

2.1数据需求

房台数据包括房台编号、座位数、状态(占/空)。

酒店储存有会员信息,需要折扣信息等。

菜品信息有菜品编号,名称,价格和状态等。

□具体数据需求如下:

◎点菜阶段需要的数据有:

1、菜品信息,包括其名称、所属菜类别等。

2、桌台信息,包括其编号、可容人数、使用状态等。

3、会员信息,包括会员编号、折扣、历史消费总额等。

4、预订信息,包括预订日期、时段、预订菜品等。

◎员工管理需要数据有:

1、员工档案:

包括其XX、性别、工资。

◎销售统计需要的数据有:

1、消费单据:

包括金额、日期、项目单编号等数据。

2、消费项目单据:

消费菜品编号、数量、小计等。

◎会员管理需要的数据有:

1、会员档案:

会员编号、对应折扣等。

2.2事务需求

□数据录入:

1、录入房台信息

2、录入菜品信息

3、录入会员信息

4、录入员工档案信息

□数据更新/删除

1、更新/删除房台信息

2、更新/删除菜系信息

3、更新/删除菜品信息

4、更新/删除会员信息

5、更新/删除员工档案信息

□数据查询

1、查询可用房台信息

2、查询在售菜品信息

3、查询开台信息

4、查询订单信息

5、查询会员折扣信息

6、可查询某时间段的营业额。

8、查询可用房台信息

9、查询所有员工档案

2.3数据流

(1)、顶层数据流

(2)、第一层数据流

(3)、第二层数据流程图(业务数据流程图)

①、点菜业务

点菜业务

②、预订业务

订单业务

③、结帐业务

结账业务

2.4数据字典

(1)、数据项

编号

数据项名称

代号

数据类型

1

员工号

workerno

char(10)

2

XX

workername

varchar(10)

3

性别

workersex

char(4)

4

年龄

workerage

int

5

基本工资

workersalary

int

6

顾客号

customerno

Varchar(10)

7

顾客XX

customername

Varchar(10)

8

顾客性别

customersex

Varchar(4)

9

联系

customerphoneno

Varchar(15)

10

VIP等级

VIP_level

int

11

历史消费总额

totalexpend

Float(5)

12

订单号

oderno

varchar(10)

13

订单时间

odertime

datetime

14

菜品编号

Dishno

char(10)

15

菜品名

Dishname

char(20)

16

菜品类别

Dishclass

17

菜品状态

Dishstate

char

(2)

18

价格

Dishprice

int

19

桌台号

Foodtableno

char(10)

20

桌台容量

seatingno

int

21

桌台状态

Foodtablestate

Varchar(10)

22

折扣

discount

float

23

消费总额

Saleroom

smallint

24

菜单号

Menuno

Varchar(10)

25

数量

amount

int

26

折扣后总额

after_discount

float

27

结账时间

billtime

time

 

(2)、数据结构

编号

数据结构名

属性

1

员工信息

员工号,XX,性别,年龄,工资

2

菜谱

菜品,菜品号,价格,菜类别

3

桌台信息

桌台号,容纳人数,使用状态

4

菜单

菜单编号,桌台号,点菜时间,顾客号

5

点单

菜单编号,菜品号,菜品名,数量

5

销售账单

销售账单号,时间,销售总额

6

顾客信息

顾客编号,XX,性别,联系方式消费等级,会员等级,累计消费额

7

折扣规则

VIP等级,折扣

8

订单

订单编号,顾客编号,分配桌台,订单时间,

(3)、数据流

编号

数据流名

输入

输出

1

菜品信息

增加菜品

菜谱

2

房台信息

增加房台

房台

3

参考菜谱

菜谱

点菜

4

空闲房台

房台

点菜

5

消费项目

点菜

菜单

6

预订菜单

预订

菜单

7

修改菜单

加菜退菜

菜单

8

记入账单

菜单

结账

9

结账

折扣方式

结账

10

销售统计

结账

销售账单

 

(4)、数据存储

编号

数据存储名

输入

输出

1

菜谱更新

增加菜品

菜谱

2

房台更新

增加房台

房台

3

顾客信息更新

顾客新信息

顾客信息

4

销售统计

销售账单

销售统计

5

订单储存

订单

订单信息

 

(5)、处理过程

 

编号

处理过程名

输入数据流

输出数据流

1

顾客点菜

终端

菜单

2

结账

菜单

发票

3

销售统计

销售账单

销售统计表

2.数据库结构设计

2.1概念设计

2.1.1分E-R图建立

(1)、菜单生成过程

(2)、结账过程

(3)、生成发票

(4)、员工信息

2.1.2全局/整体E-R图

2.2逻辑设计

阐述逻辑设计阶段目标、任务和方法,重点介绍逻辑设计的主要内容。

2.2.1建立关系模式

E_R图转换成关系模式如下(下划线的属性为主码)

销售账单(账单编号,发票号,销售额,备注)

桌台(房台号,使用状态,座位数)

订单(订单号,顾客号,订单时间,桌台号)

菜单(菜单号,桌台号,订单号,顾客号,负责员工,时间)

顾客(顾客号,XX,年龄,性别,联系方式,等级)

折扣规则(等级,折扣)

员工(员工号,XX,性别,年龄,工资)

菜品(菜品号,名称,菜系号,价格,状态)

菜单_菜品(菜单号,菜品号,数量)

2.2.2关系模式规X化处理

以上关系根据三X式要求。

2.2.3用户子模式建立

以下是建立的存储过程和触发器,其功能和运用如描述

名称

描述

插入新顾客信息

输入某个客户信息,查询若不存在记录,则插入该顾客的信息,VIP等级、历史消费额都为零

预定

预定包括预定菜单和分配桌台

查询预订

输入用户编号,查询是否预订

开台

顾客来餐,分配桌台

点菜

存储顾客所点的菜品

消费总额

计算顾客本次的消费总额

查询客户点菜

输入顾客的编号,查询顾客所点的菜品

修改菜单

即删除菜品,添加可以视为点菜过程

发票信息

输人顾客的编号和实付费用,打印发票,并保存销售账单,修改顾客历史消费记录,删除Menus_Dish中所点的菜

查询营业额

输入一个开始时间和结束时间,查询在此之间的的营业额

trig_Upgrade_of_VIP_level

触发器,当顾客的历史消费记录修改后,根据所给的条件进行VIP自动升级

 

3.数据库物理设计

数据库在物理设备上的存储结构与存取方法就是数据库的物理结构,它依赖于选定的数据库管理系统。

为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构的过程,就是数据库的物理设计。

这一阶段主要的任务是确定数据库的物理结构,并不断的进行优化处理,主要建立索引,触发器,存储过程。

3.1存储过程

存储过程可以实现数据库操作的增删改功能,在执行时需要调用。

运用想函数一样,也可以有参数的参与。

定义存储过程提供了过程封装的效果,执行只需调用,在更大程度上简化了数据处理过程。

餐饮管理部分存储过程如下表3-1所示。

表3-1存储过程列表

编号存储过程名称定义作用

P-1Add_food见附录7.2.4点餐信息变更,如加菜

P-2Cost_bill见附录7.2.4消费信息查询

P-3Out_sell见附录7.2.4外卖信息清单

P-4paylist见附录7.2.4结账信息清单

P-5serving见附录7.2.4上菜送菜处理

P-6Update_tbale见附录7.2.4结账后桌台信息处理

3.2触发器

表3-2触发器列表

编号触发器名称定义作用

T-1Serving_food见附录7.2.3服务员上菜后点菜信息更新4.数据库实施与测试

4.数据库实施

4.1在SQL中数据库实施

4.1.1数据库及数据库对象建立

createdatabaseRestaurant_Management

--droptableDish

createtableDish--菜谱

(Dishnovarchar(10)primarykey,

Dishnamevarchar(10),

Dishclassvarchar(10),

Dishpricefloat,

Dishstatevarchar(6)check(Dishstate='有'orDishstate='无'),

--droptableOder

createtableOder--订单

(Odernovarchar(10)primarykey,

Customernovarchar(10)notnull,

Odertimedatetimenotnull,

Foodtablenovarchar(10)notnull,

foreignkey(Customerno)referencesCustomer(Customerno),

foreignkey(Foodtableno)referencesFoodtable(Foodtableno)

--droptableFoodtable

createtableFoodtable--桌台信息

(Foodtablenovarchar(10)primarykey,

seatingnointnotnull,

Foodtablestatevarchar(6)check(Foodtablestate='空'orFoodtablestate='占')

--droptableMenus

createtableMenus--菜单

(Menunovarchar(10)primarykey,

Foodtablenovarchar(10)notnull,

Customernovarchar(10)notnull,

Odernovarchar(10),

Workernovarchar(10)notnull,

consumetimedatetime,

foreignkey(Foodtableno)referencesFoodtable(Foodtableno),

foreignkey(Customerno)referencesCustomer(Customerno),

--droptableMenus_Dish

createtableMenus_Dish--菜单_菜品

(Menunovarchar(10),

Dishnovarchar(10),

Dishnamevarchar(20)notnull,

Amountintnotnull,

primarykey(Menuno,Dishno),

foreignkey(Dishno)referencesDish(Dishno)

altertableMenus_Dishaddcheck(Amount>0)

--droptableCustomer

createtableCustomer--顾客

(Customernovarchar(10)primarykey,

Customernamevarchar(10)notnull,

Customersexvarchar(4)check(Customersex='男'orCustomersex='女')notnull,

Custoemrphonenovarchar(20)uniquenotnull,

VIP_levelint,

totalexpendfloat

altertablecustomeraltercolumntotalexpendfloat(5)

--droptableDiscount_rules

createtableDiscount_rules--折扣规则

(VIP_levelintprimarykey,

Discountfloat,

--droptableworker

createtableworker--员工

(Workernovarchar(10)primarykey,

Workernamevarchar(10),

Workersexvarchar(4)check(Workersex='男'orWorkersex='女'),

Workerageint,

Workersalaryint,

--droptableSales_bill

createtableSales_bill--销售账

(Menunovarchar(10),

Saleroomfloat(5),

Billtimedatetime

4.1.2数据入库

对各个主要数据表要录入20条以上的记录,方法可用EXCEL批量导入,也可以逐条录入。

4.2数据库测试

4.2.1对建立的数据库及数据库对象进行测试

(1)、存储过程测试

-------------------------------------插入新顾客信息------------------------------------------------------------

--dropproc插入新顾客信息

createproc插入新顾客信息

Customernovarchar(10),Customernamevarchar(10),

Customersexvarchar(4),Custoemrphonenovarchar(20)

as

Insertintocustomervalues(Customerno,Customername,Customersex,Custoemrphoneno,0,0)

-------------------------------------------测验---------------------------------------------------------------------

exec插入新顾客信息'C_035','杨涛','男',''

-----------------------------------预定-----------------------------------------------------------------------------

--dropproc预定

createprocedure预定

odernovarchar(10),

Customernovarchar(10),

odertimedatetime,

Foodtablenovarchar(10)

as

insertintoOdervalues(oderno,Customerno,odertime,Foodtableno)

----------------------------------------------------------------------------------------------------------------------

exec预定'O_005','C_035','2012-6-16','TB_8'

----------------------------------查询预订--------------------------------------------------------------------

--dropproc查询预订

createproc查询预订

Customernovarchar(10),

Odernovarchar(10)output

as

ifexists(select*fromoderwherecustomerno=Customerno)

begin

print'已预订'

selectOderno=oderno

fromoderwherecustomerno=Customerno

print'预定号为:

'+Oderno

end

elseprint'未预定'

declareOdernovarchar(10)

-------------------------------------------------------------------------------------------------------------------

exec查询预订'C_002',Odernooutput

declareOdernovarchar(10)

exec查询预订'C_035',Odernooutput

--------------------------------开台信息------------------------------------------------------------------------

--dropproc开台

createproc开台

Menunovarchar(10),Foodtablenovarchar(10),customernovarchar(10),

Odernovarchar(10),workernovarchar(10),Customertimedatetime

as

insertintoMenus

values(Menuno,Foodtableno,customerno,Oderno,workerno,Customertime)

updateFoodtablesetFoodtablestate='占'whereFoodtableno=Foodtableno

----------------------------------------------------------------------------------------------------------------------

exec开台'M_010','TB_8','C_035','O_005','W_002','2012-6-11'

插入菜单

修改桌台状态

-------------------------------顾客点餐------------------------------------------

--dropproc点菜

createproc点菜

Menunovarchar(10),Dishnovarchar(20),Dishnamevarchar(10),Amountint

as

insertintomenus_dishvalues(Menuno,Dishno,Dishname,Amount)

---------------------------------------------------------------------------------

点菜

exec点菜'M_010','D-10','蒜泥黄瓜',2

exec点菜'M_010','D-23','麻婆豆腐',1

exec点菜'M_010','D-11','西芹杏仁',1

exec点菜'M_010','D-39','樟茶鸭子',1

exec点菜'M_010','D-57','小炒腊肉',2

exec点菜'M_010','D-72','小炒河虾',1

------------------------------计算总消费额-----------------------------------------------------

--dropproc消费总额

createproc消费总额

customernovarchar(10),

Saleroomfloato

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

当前位置:首页 > 人文社科 > 法律资料

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

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