小型餐饮管理系统数据库设计报告_第1页
小型餐饮管理系统数据库设计报告_第2页
小型餐饮管理系统数据库设计报告_第3页
小型餐饮管理系统数据库设计报告_第4页
小型餐饮管理系统数据库设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章设计任务与要求目的及意义:此小型餐饮业管理系统的设计主要是为了方便管理,对于各个进出账目,支出和收入的管理便于系统化,在每月汇总计算中分析运营趋势和餐馆的发展方向进行一定的规划。通过各个月的盈利进行对比,分析那种方式更适合餐馆的有利运营和更好地服务顾客。实现对餐馆内部各种管理的电子化、自动化,提高各个模块之间的办公效率,为高质量餐馆服务提供保证。任务:1. 能够实现对该系统进行管理的人员的权限限制;2. 使餐馆能够及时并灵活的对菜品品种其价位等进行管理;3. 为餐馆提供从客户点餐到结算等一系列操作的服务,使之能简单易行、方便、清楚地进行管理精选范本,供参考!第二章系统功能分析一功能需求:

2、餐饮管理系统中主要包括对以下几种管理:账单管理,财务管理,订餐管理,菜品管理,系统管理。( 1)系统管理:系统管理包括用户名和密码,主要用于用户登陆界面登陆和查询。( 2)账单管理:账单管理包括账单号和餐台,每一个餐台对应一个一个账单号,通过餐台号的记录来对对应的餐台进行记账管理,即就是记录每一个餐台的消费金额。账单管理是财务管理的一个小分支,是服务于财务管理的。( 3)财务管理:包括账单号,时间和账目。账目用于记录账单号的消费金额及时间,以便用于结算和汇总。每日的结算要通过对每个餐台号的消费金额汇总来记录,然后由每日的结算汇总得出每月的结算。帐务系统功能的完整性。一旦该系统正式运行,餐厅每日

3、营业帐和全部往来客户帐务的操作结算都将依靠计算机,该系统面对当前餐饮业各种复杂的结算要求应具有很强的应变能力。( 4)订餐管理:订餐管理仅包括单价。订餐管理是便于顾客订餐和账单管理时对各个菜品消费金额的记录,这样便于账单管理和财务汇总。( 5)菜品管理:菜品管理包括菜名,菜品类别和菜品品种。菜品管理便于顾客点菜和记录各个餐台的消费记账,菜品品种也便于餐馆的食材采购。2 .数据需求:账单管理中账单号是主键,每一个餐台对应一个账单号。财务管理中账单号是主键,每一个账单号都有对应的时间和账目记录。订餐管理中单价就是主键。菜品管理中菜名是主键。系统管理中用户名是主键。3 .性能需求:该餐饮系统操作简单

4、方便可适应各类中小型餐馆。第三章系统功能模块设计一.在该系统功能分析白基础上,考虑PowerBuilder程序编制的特点,得到如下功能模块图。图1系统功能模块图数据库设计1 .概念结构设计精选范本,供参考!账单管理账单号 <M>餐台账单财务联系财务管理账目账单订餐联系X订餐管理菜名 <M> 单彳介 <M>|系统管理 用户名 <M> 密码 <M>菜品管理菜名<M>单价<M>而别菜品品种点菜2 .逻辑结构设计FK_CAIWUGL_RELATION_ZHANGDAG3 .数据库实施1)数据库及表结构的创建设本系统使用

5、的数据库名为小型餐饮业管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQLServer6.x数据库系统中实现这些逻辑结构。下面是创建基本表的SQL语句:/*=*/*Table:CAIPINGL*/*=*/createtableCAIPINGL(CPGL_NAMECPGLDANJIAchar(20)integernotnull,notnull,CPGL_LE旧IEchar(8)null,CPGL_PINGZHONGchar(8)null,CPGL_DIANCAIintegernull,constraintPK_CAIPINGLprimarykey(CPGL_NAME,CPGL_

6、DANJIA)go/*=*/*Table:XTGL*/*=*/createtableXTGL(USERNAMEchar(20)notnull,PASSWORDchar(8)notnull,constraintPK_XTGLprimarykey(USERNAME,PASSWORD)go/*=*/*Table:ZHANGDAGL*/*=*/createtableZHANGDAGL(ZHANGDAN_NUMBERnumericnotnull,ZHANGDAN_CANTAInumericnull,CAI_ZHANGDAN_NUMBERnumericnull,constraintPK_ZHANGDAGL

7、primarykey(ZHANGDAN_NUMBER)go/*=*/*Index:RELATION_383_FK*/*=*/createindexRELATION_383_FKonZHANGDAGL(CAI_ZHANGDAN_NUMBER)go/*=*/*Table:CAIWUGL*/*=*/createtableCAIWUGL(ZHANGDAN_NUMBERnumericnotnull,CAIWU_TIMEtimestampnull,CAIWU_AMOUNTchar(10)null,constraintPK_CAIWUGLprimarykey(ZHANGDAN_NUMBER)go/*=*/*

8、Table:DINGCANGL*/*=*/createtableDINGCANGL(ZHANGDAN_NUMBERnumericnotnull,DCGL_NAMEchar(20)notnull,DCGL_DANJIAintnotnull,constraintPK_DINGCANGLprimarykey(ZHANGDAN_NUMBER,DCGL_NAME,DCGL_DANJIA)go/*=*/*Index:RELATION_451_FK*/*=*/createindexRELATION_451_FKonDINGCANGL(ZHANGDAN_NUMBER)go建立相关触发器,执行级联删除*=*/*

9、Databasename:MODEL_1*/*DBMSname:MicrosoftSQLServer6.x*/*Createdon:2010-1-2118:15*/*=*/*Inserttrigger"ti_caiwugl"fortable"CAIWUGL"*/createtriggerti_caiwuglonCAIWUGLforinsertasbegindeclarenumrowsint,numnullint,errnoint,errmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Pare

10、nt"ZHANGDAGL"mustexistwheninsertingachildin"CAIWUGL"*/ifupdate(ZHANGDAN_NUMBER)beginif(selectcount(*)fromZHANGDAGLt1,insertedt2wheret1.ZHANGDAN_NUMBER=t2.ZHANGDAN_NUMBER)!=numrowsbeginselecterrno=30002,errmsg='Parentdoesnotexistin"ZHANGDAGL".Cannotcreatechildin"

11、;CAIWUGL".'gotoerrorendendreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Updatetrigger"tu_caiwugl"fortable"CAIWUGL"*/createtriggertu_caiwuglonCAIWUGLforupdateasbegindeclarenumrowsint,numnullint,errnoint,errmsgvarchar(255)selectnumrows=rowcoun

12、tifnumrows=0return/*Parent"ZHANGDAGL"mustexistwhenupdatingachildin"CAIWUGL"*/ifupdate(ZHANGDAN_NUMBER)beginif(selectcount(*)fromZHANGDAGLt1,insertedt2wheret1.ZHANGDAN_NUMBER=t2.ZHANGDAN_NUMBER)!=numrowsbeginselecterrno=30003,errmsg='"ZHANGDAGL"doesnotexist.Cannotmod

13、ifychildin"CAIWUGL".'gotoerrorendend/*Modifyparentcodeof"CAIWUGL"forallchildrenin"ZHANGDAGL"*/ifupdate(ZHANGDAN_NUMBER)beginupdateZHANGDAGLsetCAI_ZHANGDAN_NUMBER=i1.ZHANGDAN_NUMBERfromZHANGDAGLt2,insertedi1,deletedd1wheret2.CAI_ZHANGDAN_NUMBER=d1.ZHANGDAN_NUMBERand(

14、i1.ZHANGDAN_NUMBER!=d1.ZHANGDAN_NUMBER)end精选范本,供参考!return/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Deletetrigger"td_caiwugl"fortable"CAIWUGL"*/createtriggertd_caiwuglonCAIWUGLfordeleteasbegindeclarenumrowsint,errnoint,errmsgvarchar(255)selectnumrows=ro

15、wcountifnumrows=0return/*Deleteallchildrenin"ZHANGDAGL"*/deleteZHANGDAGLfromZHANGDAGLt2,deletedt1wheret2.CAI_ZHANGDAN_NUMBER=t1.ZHANGDAN_NUMBERreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Inserttrigger"ti_dingcangl"fortable"DINGCANGL"*/cre

16、atetriggerti_dingcanglonDINGCANGLforinsertasbegindeclarenumrowsint,numnullint,errnoint,errmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Parent"ZHANGDAGL"mustexistwheninsertingachildin"DINGCANGL"*/ifupdate(ZHANGDAN_NUMBER)beginif(selectcount(*)fromZHANGDAGLt1,insertedt2w

17、heret1.ZHANGDAN_NUMBER=t2.ZHANGDAN_NUMBER)!=numrowsbeginselecterrno=30002,errmsg='Parentdoesnotexistin"ZHANGDAGL".Cannotcreatechildin"DINGCANGL".'gotoerrorendendreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Updatetrigger"tu_dingcangl&quo

18、t;fortable"DINGCANGL"*/createtriggertu_dingcanglonDINGCANGLforupdateasbegindeclarenumrowsint,numnullint,errnoint,errmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Parent"ZHANGDAGL"mustexistwhenupdatingachildin"DINGCANGL"*/ifupdate(ZHANGDAN_NUMBER)beginif(select

19、count(*)fromZHANGDAGLt1,insertedt2wheret1.ZHANGDAN_NUMBER=t2.ZHANGDAN_NUMBER)!=numrowsbeginselecterrno=30003,errmsg='"ZHANGDAGL"doesnotexist.Cannotmodifychildin"DINGCANGL".gotoerrorend精选范本,供参考!endreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Inse

20、rttrigger"ti_zhangdagl"fortable"ZHANGDAGL"*/createtriggerti_zhangdaglonZHANGDAGLforinsertasbegindeclarenumrowsint,numnullint,errnoint,errmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Parent"CAIWUGL"mustexistwheninsertingachildin"ZHANGDAGL"*/ifupdate(

21、CAI_ZHANGDAN_NUMBER)beginselectnumnull=(selectcount(*)frominsertedwhereCAI_ZHANGDAN_NUMBERisnull)ifnumnull!=numrowsif(selectcount(*)fromCAIWUGLt1,insertedt2wheret1.ZHANGDAN_NUMBER=t2.CAI_ZHANGDAN_NUMBER)!=numrows-numnullbeginselecterrno=30002,errmsg='Parentdoesnotexistin"CAIWUGL".Canno

22、tcreatechildin"ZHANGDAGL".'gotoerrorendendreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransaction精选范本,供参考!endgo/*Updatetrigger"tu_zhangdagl"fortable"ZHANGDAGL"*/createtriggertu_zhangdaglonZHANGDAGLforupdateasbegindeclarenumrowsint,numnullint,errnoint,e

23、rrmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Parent"CAIWUGL"mustexistwhenupdatingachildin"ZHANGDAGL"*/ifupdate(CAI_ZHANGDAN_NUMBER)beginselectnumnull=(selectcount(*)frominsertedwhereCAI_ZHANGDAN_NUMBERisnull)ifnumnull!=numrowsif(selectcount(*)fromCAIWUGLt1,insertedt2

24、wheret1.ZHANGDAN_NUMBER=t2.CAI_ZHANGDAN_NUMBER)!=numrows-numnullbeginselecterrno=30003,errmsg='"CAIWUGL"doesnotexist.Cannotmodifychildin"ZHANGDAGL".'gotoerrorendend/*Modifyparentcodeof"ZHANGDAGL"forallchildrenin"CAIWUGL"*/ifupdate(ZHANGDAN_NUMBER)begin

25、updateCAIWUGLsetZHANGDAN_NUMBER=i1.ZHANGDAN_NUMBERfromCAIWUGLt2,insertedi1,deletedd1wheret2.ZHANGDAN_NUMBER=d1.ZHANGDAN_NUMBERand(i1.ZHANGDAN_NUMBER!=d1.ZHANGDAN_NUMBER)end/*Modifyparentcodeof"ZHANGDAGL"forallchildrenin"DINGCANGL"*/ifupdate(ZHANGDAN_NUMBER)beginupdateDINGCANGLset

26、ZHANGDAN_NUMBER=i1.ZHANGDAN_NUMBER精选范本,供参考!fromDINGCANGLt2,insertedi1,deletedd1wheret2.ZHANGDAN_NUMBER=d1.ZHANGDAN_NUMBERand(i1.ZHANGDAN_NUMBER!=d1.ZHANGDAN_NUMBER)endreturn/*Errorshandling*/error:raiserrorerrnoerrmsgrollbacktransactionendgo/*Deletetrigger"td_zhangdagl"fortable"ZHANGD

27、AGL"*/createtriggertd_zhangdaglonZHANGDAGLfordeleteasbegindeclarenumrowsint,errnoint,errmsgvarchar(255)selectnumrows=rowcountifnumrows=0return/*Deleteallchildrenin"CAIWUGL"*/deleteCAIWUGLfromCAIWUGLt2,deletedt1wheret2.ZHANGDAN_NUMBER=t1.ZHANGDAN_NUMBER/*Deleteallchildrenin"DINGCANGL"*/deleteDINGCANGLfromDINGCANGLt2,deletedt1wheret2.ZHA

温馨提示

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

评论

0/150

提交评论