您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 餐饮管理系统之就餐管理模块的数据库设计
餐饮管理系统之就餐管理模块的数据库设计内容摘要作为计算机应用的一部分,在餐饮管理中引入现代化的信息管理技术,具有人工管理所地无法比拟的优点。本项目就餐饮管理系统之就餐管理模块提供了相关设计方案,运用数据库系统设计的方法,借用Powerdesigner和Microsoftoffice等工具,从需求分析到数据库的物理设计的过程中,采用了业务流程图,DFD,E-R图等形式建立模型,并对关系模型进行了规范化。关键词:数据库系统设计业务流程图DFDE-R图关系模型规范化AbstractAspartofthecomputerapplications,moderninformationmanagementtechnologybeingintroducedtorestaurantmanagementhavemuchmoreadvantagesthanlabormagement.Theprojectprovidessomerelevantdesignproposalontherepastmanagementsectionofrestaurantmanagementsystem.ItusesthemethodofdatabasesystemdesignwithPowerdesignerandMiscrosoftoffice.Fromtheprocedureofdemandanalysistodatabasephysicsdesign,theprojectbuildmodeswithTFD,DFDandE-RDiagram,anddealswiththerelationalmodelswithnormalization.Keywords:DatabasesystemdesignTFDDFDE-RDiagramNormalization1概述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就餐管理第二层DFD3数据库的概念结构设计系统涉及的实体有:1)桌台属性有桌台编号、桌台名称、桌台包间费、桌台位置、桌台状态、桌台类型2)用户属性有用户账号,登录密码,用户权限3)顾客开台属性有开台编号,用户编号,桌台编号,消费时间,顾客人数4)顾客点餐属性有点餐编号,开台编号,菜品编号,菜品名称,消费数量,消费总额,备注,消费时间5)结账账单属性有账单编号,点餐编号,消费总额,结账时间6)菜品属性有菜品编号,菜品名称,菜品价格,菜品详情这些实体的联系如下:一个桌台只能被一个顾客开台参照,一个顾客开台只能参照一个桌台,因此桌台和顾客开台的关系是一对一的关系。一个用户可以使用多个顾客开台,一个顾客开台可以被多个用户使用,因此用户和顾客开台是多对多的关系。一个用户可以点餐多个顾客点餐,一个顾客点餐可以被多个用户点餐,因此用户和顾客点餐是多对多的关系。一个用户可以结账多个结账账单,一个结账账单可以被多个用户结账,因此用户和结账账单是多对多的关系。一个顾客点餐可以参照多个菜品,一个菜品可以被多个顾客点餐参照,因此顾客点餐和菜品是多对多的关系。一个顾客点餐只能被一个结账账单参照,一个结账账单只能参照一个顾客点餐,因此顾客点餐和结账账单是一对一的关系。由此给出就餐管理E-R图,如下图所示。用户结账结账账单顾客点餐顾客开台mn使用菜品点餐桌台参照1参照2参照3mn11mnnm11桌台编号桌台名称桌台状态桌台位置桌台包间费桌台类型点餐编号账单编号用户帐号登录密码消费总额菜品编号用户权限菜品详情菜品价格菜品名称用户编号桌台编号消费时间顾客人数开台编号图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顾客点餐点餐点餐点餐用户点餐FK__使用_FK__使用2_FK__参照1_FK__参照2_FK__结账_FK__结账2_FK__点餐_FK__点餐2_FK__参照3_FK__参照4_FK__参照5_FK__参照6_顾客开台开台编号桌台_桌台编号用户编号桌台编号消费时间顾客人数intintintintdatetimeintpkfk顾客点餐点餐编号账单编号开台编号菜品编号菜品名称消费数量消费总额备注消费时间intintintintvarchar(50)intdecimal(9)varchar(50)datetimepkfk桌台桌台编号开台编号桌台名称桌台包间费桌台位置桌台状态桌台类型intintchar(10)decimal(9)char(10)char(10)char(10)pkfk菜品菜品编号菜品名称菜品价格菜品详情intvarchar(50)decimal(9)varchar(200)pk用户用户帐号登录密码用户权限char(10)varchar(50)char(10)pk结账账单账单编号顾客点_点餐编号点餐编号消费总额结账时间intintintdecimal(9)datetimepkfk使用用户帐号开台编号char(10)intpk,fkpk,fk结账用户帐号账单编号char(10)intpk,fkpk,fk点餐用户帐号点餐编号char(10)intpk,fkpk,fk参照2点餐编号菜品编号intintpk,fkpk,fk顾客点餐表开台编号菜品名称,消费数量顾客点餐顾客开台表开台编号顾客人数顾客开台餐桌信息表桌台编号桌台状态桌台菜品信息表菜品名称菜品价格菜品结账结账2结账账单结账结账结账用户结账5.3表格清单名称代码使用使用参照2参照2桌台桌台点餐点餐用户用户结账结账结账账单结账账单菜品菜品顾客开台顾客开台顾客点餐顾客点餐5.4表格列清单名称代码开台编号开台编号桌台_桌台编号桌台_桌台编号用户编号用户编号桌台编号桌台编号消费时间消费时间顾客人数顾客人数点餐编号点餐编号账单编号账单编号开台编号开台编号菜品编号菜品编号菜品名称菜品名称消费数量消费数量消费总额消费总额备注备注消费时间消费时间桌台编号桌台编号开台编号开台编号桌台名称桌台名称桌台包间费桌台包间费桌台位置桌台位置桌台状态桌台状态桌台类型桌台类型菜品编号菜品编号菜品名称菜品名称菜品价格菜品价格菜品详情菜品详情用户帐号用户帐号登录密码登录密码用户权限用户权限账单编号账单编号顾客点_点餐编号顾客点_点餐编号点餐编号点餐编号消费总额消费总额结账时间结账时间用户帐号用户帐号开台编号开台编号用户帐号用户帐号账单编号账单编号用户帐号用户帐号点餐编号点餐编号点餐编号点餐编号菜品编号菜品编号5.5表格键清单名称代码表格Identifier_1Identifier_1顾客开台Identifier_1Identifier_1顾客点餐Identifier_1Identifier_1桌台Identifier_1Identif
本文标题:餐饮管理系统之就餐管理模块的数据库设计
链接地址:https://www.777doc.com/doc-4246209 .html