餐饮管理系统之就餐管理模块的数据库设计.docx

上传人:b****6 文档编号:15640129 上传时间:2023-07-06 格式:DOCX 页数:39 大小:287.73KB
下载 相关 举报
餐饮管理系统之就餐管理模块的数据库设计.docx_第1页
第1页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第2页
第2页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第3页
第3页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第4页
第4页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第5页
第5页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第6页
第6页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第7页
第7页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第8页
第8页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第9页
第9页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第10页
第10页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第11页
第11页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第12页
第12页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第13页
第13页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第14页
第14页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第15页
第15页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第16页
第16页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第17页
第17页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第18页
第18页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第19页
第19页 / 共39页
餐饮管理系统之就餐管理模块的数据库设计.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

餐饮管理系统之就餐管理模块的数据库设计.docx

《餐饮管理系统之就餐管理模块的数据库设计.docx》由会员分享,可在线阅读,更多相关《餐饮管理系统之就餐管理模块的数据库设计.docx(39页珍藏版)》请在冰点文库上搜索。

餐饮管理系统之就餐管理模块的数据库设计.docx

餐饮管理系统之就餐管理模块的数据库设计

餐饮管理系统之就餐管理模块的数据库设计

内容摘要

作为计算机应用的一部分,在餐饮管理中引入现代化的信息管理技术,具有人工管理所地无法比拟的优点。

本项目就餐饮管理系统之就餐管理模块提供了相关设计方案,运用数据库系统设计的方法,借用Powerdesigner和Microsoftoffice等工具,从需求分析到数据库的物理设计的过程中,采用了业务流程图,DFD,E-R图等形式建立模型,并对关系模型进行了规范化。

关键词:

数据库系统设计业务流程图DFDE-R图关系模型规范化

Abstract

Aspartofthecomputerapplications,moderninformationmanagementtechnologybeingintroducedtorestaurantmanagementhavemuchmoreadvantagesthanlabormagement.Theprojectprovidessomerelevantdesignproposalontherepastmanagementsectionofrestaurantmanagementsystem.ItusesthemethodofdatabasesystemdesignwithPowerdesignerandMiscrosoftoffice.Fromtheprocedureofdemandanalysistodatabasephysicsdesign,theprojectbuildmodeswithTFD,DFDandE-RDiagram,anddealswiththerelationalmodelswithnormalization.

Keywords:

DatabasesystemdesignTFDDFDE-RDiagramNormalization

1概述

1.1项目背景

随着市场经济的发展,餐饮业已呈现出高速发展的状态。

但是,在快速发展的同时,餐饮业在日常经营管理中大都是以人为主体的,需要很多的人力、物力、财力,且效率不是很高,在系统运营时也可能产生人为的失误。

传统的餐饮管理工作既繁琐而且不利于分析企业的经营状况,在提供决策信息方面也难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升

[1]。

1.2编写目的

作为计算机应用的一部分,在餐饮管理中引入现代化的信息管理技术,具有人工管理所地无法比拟的优点。

例如统计结账快速、安全保密性好、可靠性高、存储量大、寿命长、成本低等。

这些优点能够极大地提高餐饮管理的效率,增强企业的竞争力,同时也是企业的科学化、正规化管理,与世界接轨的重要条件[1]。

1.3软件定义

该软件应用于餐饮业,引入了现代化的信息管理技术,具有良好的用户接口,使用方便。

具有完善的查询,对维护系统起到辅助决策的作用。

能够满足酒店每日营业的变动,对于操作用户有一定的管理,并对用户权限有一定的设置[1]。

1.4开发环境

本系统使用WindowsWindowsXP,MicrosoftOfficeWord2003,MicrosoftOfficeVisio2003,MicrosoftSQLServer2000,PowerDesigner12和SQLServer2000组合开发而成。

2需求分析

2.1问题陈述

系统主要包括开台,点餐,结账等几大部分。

业务流程主要是:

用户登录系统后,进入就餐管理主界面,选择开台,输入信息后保存,然后进入点餐界面,输入信息后保存,最后进入结账界面。

通过分析,得到如下的业务流程图。

图1就餐管理业务流程图

2.2功能分析

本系统的用户是服务员,其职责是登录系统,管理就餐信息。

要求系统有完善的查询功能,能及时、方便、灵活地进行查询、修改、删除等维护性操作,满足酒店的日常营业管理。

功能如下:

(1)登录系统

(2)管理就餐信息

包括开台,点餐,结账等功能。

通过分析,得到DFD。

图2就餐管理顶层DFD

图3就餐管理第一层DFD

图4就餐管理第二层DFD

 

3数据库的概念结构设计

系统涉及的实体有:

1)桌台属性有桌台编号、桌台名称、桌台包间费、桌台位置、桌台状态、桌台类型

2)用户属性有用户账号,登录密码,用户权限

3)顾客开台属性有开台编号,用户编号,桌台编号,消费时间,顾客人数

4)顾客点餐属性有点餐编号,开台编号,菜品编号,菜品名称,消费数量,消费总额,备注,消费时间

5)结账账单属性有账单编号,点餐编号,消费总额,结账时间

6)菜品属性有菜品编号,菜品名称,菜品价格,菜品详情

这些实体的联系如下:

一个桌台只能被一个顾客开台参照,一个顾客开台只能参照一个桌台,因此桌台和顾客开台的关系是一对一的关系。

一个用户可以使用多个顾客开台,一个顾客开台可以被多个用户使用,因此用户和顾客开台是多对多的关系。

一个用户可以点餐多个顾客点餐,一个顾客点餐可以被多个用户点餐,因此用户和顾客点餐是多对多的关系。

一个用户可以结账多个结账账单,一个结账账单可以被多个用户结账,因此用户和结账账单是多对多的关系。

一个顾客点餐可以参照多个菜品,一个菜品可以被多个顾客点餐参照,因此顾客点餐和菜品是多对多的关系。

一个顾客点餐只能被一个结账账单参照,一个结账账单只能参照一个顾客点餐,因此顾客点餐和结账账单是一对一的关系。

由此给出就餐管理E-R图,如下图所示。

图5就餐管理E-R图

4数据库的逻辑结构设计

4.1将E-R图转换为关系模型,如下,关系的主码用下横线给出,外码用下曲线给出。

桌台(桌台编号,桌台名称,桌台包间费,桌台位置,桌台状态,桌台类型)

用户(用户账号,登录密码,用户权限)

使用(用户账号,开台编号)

结账(用户账号,账单编号)

点餐(用户账号,点餐编号)

顾客开台(开台编号,用户编号,桌台编号,消费时间,顾客人数)

顾客点餐(点餐编号,开台编号,菜品编号,菜品名称,消费数量,消费总额,备注,消费时间)

结账账单(账单编号,点餐编号,消费总额,结账时间)

菜品(菜品编号,菜品名称,菜品价格,菜品详情)

●检验所有模式是否属于2NF:

所有关系模式都属于2NF。

●检验所有模式是否属于3NF:

除关系模式

外,都属于3NF。

可改为:

顾客点餐(点餐编号,开台编号,菜品编号,消费数量,消费总额,备注,消费时间)

结账账单(账单编号,点餐编号,结账时间)

●使所有关系达到BCNF范式:

桌台(桌台编号,桌台名称,桌台包间费,桌台位置,桌台状态,桌台类型)

用户(用户账号,登录密码,用户权限)

使用(用户账号,开台编号)

结账(用户账号,账单编号)

点餐(用户账号,点餐编号)

顾客开台(开台编号,用户编号,桌台编号,消费时间,顾客人数)

顾客点餐(点餐编号,开台编号,菜品编号,消费数量,消费总额,备注,消费时间)

结账账单(账单编号,点餐编号,结账时间)

菜品(菜品编号,菜品名称,菜品价格,菜品详情)

4.2视图、索引、主关键字、权限等详见后文相关代码。

5数据库的物理结构设计

5.1用Powerdesigner生成的就餐管理物理数据模型:

图6就餐管理物理数据模型

5.2参考清单

名称

代码

父表格

子表格

使用

使用2

顾客开台

使用

使用

使用

用户

使用

参照1

参照2

顾客开台

桌台

参照1

参照1

桌台

顾客开台

参照2

参照4

菜品

参照2

参照2

参照3

顾客点餐

参照2

参照3

参照5

顾客点餐

结账账单

参照3

参照6

结账账单

顾客点餐

点餐

点餐2

顾客点餐

点餐

点餐

点餐

用户

点餐

结账

结账2

结账账单

结账

结账

结账

用户

结账

5.3表格清单

名称

代码

使用

使用

参照2

参照2

桌台

桌台

点餐

点餐

用户

用户

结账

结账

结账账单

结账账单

菜品

菜品

顾客开台

顾客开台

顾客点餐

顾客点餐

5.4表格列清单

名称

代码

开台编号

开台编号

桌台_桌台编号

桌台_桌台编号

用户编号

用户编号

桌台编号

桌台编号

消费时间

消费时间

顾客人数

顾客人数

点餐编号

点餐编号

账单编号

账单编号

开台编号

开台编号

菜品编号

菜品编号

菜品名称

菜品名称

消费数量

消费数量

消费总额

消费总额

备注

备注

消费时间

消费时间

桌台编号

桌台编号

开台编号

开台编号

桌台名称

桌台名称

桌台包间费

桌台包间费

桌台位置

桌台位置

桌台状态

桌台状态

桌台类型

桌台类型

菜品编号

菜品编号

菜品名称

菜品名称

菜品价格

菜品价格

菜品详情

菜品详情

用户帐号

用户帐号

登录密码

登录密码

用户权限

用户权限

账单编号

账单编号

顾客点_点餐编号

顾客点_点餐编号

点餐编号

点餐编号

消费总额

消费总额

结账时间

结账时间

用户帐号

用户帐号

开台编号

开台编号

用户帐号

用户帐号

账单编号

账单编号

用户帐号

用户帐号

点餐编号

点餐编号

点餐编号

点餐编号

菜品编号

菜品编号

5.5表格键清单

名称

代码

表格

Identifier_1

Identifier_1

顾客开台

Identifier_1

Identifier_1

顾客点餐

Identifier_1

Identifier_1

桌台

Identifier_1

Identifier_1

菜品

Identifier_1

Identifier_1

用户

Identifier_1

Identifier_1

结账账单

Identifier_1

Identifier_1

使用

Identifier_1

Identifier_1

结账

Identifier_1

Identifier_1

点餐

Identifier_1

Identifier_1

参照2

5.6表格索引清单

名称

代码

唯一的

群集器

主要的

外键

候选键

表格

顾客开台_PK

顾客开台_PK

TRUE

FALSE

TRUE

FALSE

FALSE

顾客开台

参照1_FK

参照1_FK

FALSE

FALSE

FALSE

TRUE

FALSE

顾客开台

顾客点餐_PK

顾客点餐_PK

TRUE

FALSE

TRUE

FALSE

FALSE

顾客点餐

参照6_FK

参照6_FK

FALSE

FALSE

FALSE

TRUE

FALSE

顾客点餐

桌台_PK

桌台_PK

TRUE

FALSE

TRUE

FALSE

FALSE

桌台

参照2_FK

参照2_FK

FALSE

FALSE

FALSE

TRUE

FALSE

桌台

菜品_PK

菜品_PK

TRUE

FALSE

TRUE

FALSE

FALSE

菜品

用户_PK

用户_PK

TRUE

FALSE

TRUE

FALSE

FALSE

用户

结账账单_PK

结账账单_PK

TRUE

FALSE

TRUE

FALSE

FALSE

结账账单

参照5_FK

参照5_FK

FALSE

FALSE

FALSE

TRUE

FALSE

结账账单

使用_PK

使用_PK

TRUE

TRUE

TRUE

FALSE

FALSE

使用

使用_FK

使用_FK

FALSE

FALSE

FALSE

TRUE

FALSE

使用

使用2_FK

使用2_FK

FALSE

FALSE

FALSE

TRUE

FALSE

使用

结账_PK

结账_PK

TRUE

TRUE

TRUE

FALSE

FALSE

结账

结账_FK

结账_FK

FALSE

FALSE

FALSE

TRUE

FALSE

结账

结账2_FK

结账2_FK

FALSE

FALSE

FALSE

TRUE

FALSE

结账

点餐_PK

点餐_PK

TRUE

TRUE

TRUE

FALSE

FALSE

点餐

点餐_FK

点餐_FK

FALSE

FALSE

FALSE

TRUE

FALSE

点餐

点餐2_FK

点餐2_FK

FALSE

FALSE

FALSE

TRUE

FALSE

点餐

参照2_PK

参照2_PK

TRUE

TRUE

TRUE

FALSE

FALSE

参照2

参照3_FK

参照3_FK

FALSE

FALSE

FALSE

TRUE

FALSE

参照2

参照4_FK

参照4_FK

FALSE

FALSE

FALSE

TRUE

FALSE

参照2

6编码

/*==============================================================*/

/*DBMSname:

MicrosoftSQLServer2000*/

/*Createdon:

2011-6-2919:

08:

43*/

/*==============================================================*/

 

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('使用')ando.name='FK_使用_使用_用户')

altertable使用

dropconstraintFK_使用_使用_用户

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('使用')ando.name='FK_使用_使用2_顾客开台')

altertable使用

dropconstraintFK_使用_使用2_顾客开台

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('参照2')ando.name='FK_参照2_参照3_顾客点餐')

altertable参照2

dropconstraintFK_参照2_参照3_顾客点餐

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('参照2')ando.name='FK_参照2_参照4_菜品')

altertable参照2

dropconstraintFK_参照2_参照4_菜品

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('桌台')ando.name='FK_桌台_参照2_顾客开台')

altertable桌台

dropconstraintFK_桌台_参照2_顾客开台

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('点餐')ando.name='FK_点餐_点餐_用户')

altertable点餐

dropconstraintFK_点餐_点餐_用户

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('点餐')ando.name='FK_点餐_点餐2_顾客点餐')

altertable点餐

dropconstraintFK_点餐_点餐2_顾客点餐

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('结账')ando.name='FK_结账_结账_用户')

altertable结账

dropconstraintFK_结账_结账_用户

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('结账')ando.name='FK_结账_结账2_结账账单')

altertable结账

dropconstraintFK_结账_结账2_结账账单

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('结账账单')ando.name='FK_结账账单_参照5_顾客点餐')

altertable结账账单

dropconstraintFK_结账账单_参照5_顾客点餐

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('顾客开台')ando.name='FK_顾客开台_参照1_桌台')

altertable顾客开台

dropconstraintFK_顾客开台_参照1_桌台

go

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')

wherer.fkeyid=object_id('顾客点餐')ando.name='FK_顾客点餐_参照6_结账账单')

altertable顾客点餐

dropconstraintFK_顾客点餐_参照6_结账账单

go

ifexists(select1

fromsysobjects

whereid=object_id('菜品信息表')

andtype='V')

dropview菜品信息表

go

ifexists(select1

fromsysobjects

whereid=object_id('顾客开台表')

andtype='V')

dropview顾客开台表

go

ifexists(select1

fromsysobjects

whereid=object_id('顾客点餐表')

andtype='V')

dropview顾客点餐表

go

ifexists(select1

fromsysobjects

whereid=object_id('餐桌信息表')

andtype='V')

dropview餐桌信息表

go

ifexists(select1

fromsysindexes

whereid=object_id('使用')

andname='使用2_FK'

andindid>0

andindid<255)

dropindex使用.使用2_FK

go

ifexists(select1

fromsysindexes

whereid=object_id('使用')

andname='使用_FK'

andindid>0

andindid<255)

dropindex使用.使用_FK

go

ifexists(select1

fromsysobjects

whereid=object_id('使用')

andtype='U')

droptable使用

go

ifexists(select1

fromsysindexes

whereid=object_id('参照2')

andname='参照4_FK'

andindid>0

andindid<255)

dropindex参照2.参照4_FK

go

ifexists(select1

fromsysindexes

whereid=object_id('参照2')

andname='参照3_FK'

andindid>0

andindid<255)

dropindex参照2.参照3_FK

go

ifexists(select1

fromsysobjects

whereid=object_id('参照2')

andtype='

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2