小型餐饮管理系统的大数据库设计报告材料Word文件下载.docx
《小型餐饮管理系统的大数据库设计报告材料Word文件下载.docx》由会员分享,可在线阅读,更多相关《小型餐饮管理系统的大数据库设计报告材料Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
(1)系统管理:
系统管理包括用户名和密码,主要用于用户登陆界面登陆和查询。
(2)账单管理:
账单管理包括账单号和餐台,每一个餐台对应一个一个账单号,通过餐台号的记录来对对应的餐台进行记账管理,即就是记录每一个餐台的消费金额。
账单管理是财务管理的一个小分支,是服务于财务管理的。
(3)财务管理:
包括账单号,时间和账目。
账目用于记录账单号的消费金额及时间,以便用于结算和汇总。
每日的结算要通过对每个餐台号的消费金额汇总来记录,然后由每日的结算汇总得出每月的结算。
帐务系统功能的完整性。
一旦该系统正式运行,餐厅每日营业帐和全部往来客户帐务的操作结算都将依靠计算机,该系统面对当前餐饮业各种复杂的结算要求应具有很强的应变能力。
(4)订餐管理:
订餐管理仅包括单价。
订餐管理是便于顾客订餐和账单管理时对各个菜品消费金额的记录,这样便于账单管理和财务汇总。
(5)菜品管理:
菜品管理包括菜名,菜品类别和菜品品种。
菜品管理便于顾客点菜和记录各个餐台的消费记账,菜品品种也便于餐馆的食材采购。
二.数据需求:
账单管理中账单号是主键,每一个餐台对应一个账单号。
财务管理中账单号是主键,每一个账单号都有对应的时间和账目记录。
订餐管理中单价就是主键。
菜品管理中菜名是主键。
系统管理中用户名是主键。
三.性能需求:
该餐饮系统操作简单方便可适应各类中小型餐馆。
第三章系统功能模块设计
一.在该系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如下功能模块图。
小型餐饮业管理系统
系统管理
账单管理
订餐管理
财务管理
菜品管理
用户管理
密码管理
账单号管理
餐台管理
订单查询
餐台点餐管理
每日账目管理
账目时间管理
菜名管理
菜价管理
类别管理
图1系统功能模块图
二.数据库设计
1.概念结构设计
2.逻辑结构设计
3.数据库实施
1)数据库及表结构的创建
设本系统使用的数据库名为小型餐饮业管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQLServer6.x数据库系统中实现这些逻辑结构。
下面是创建基本表的SQL语句:
/*============================================================*/
/*Table:
CAIPINGL*/
createtableCAIPINGL
(
CPGL_NAMEchar(20)notnull,
CPGL_DANJIAintegernotnull,
CPGL_LEIBIEchar(8)null,
CPGL_PINGZHONGchar(8)null,
CPGL_DIANCAIintegernull,
constraintPK_CAIPINGLprimarykey(CPGL_NAME,CPGL_DANJIA)
)
go
XTGL*/
createtableXTGL
USERNAMEchar(20)notnull,
PASSWORDchar(8)notnull,
constraintPK_XTGLprimarykey(USERNAME,PASSWORD)
ZHANGDAGL*/
createtableZHANGDAGL
ZHANGDAN_NUMBERnumericnotnull,
ZHANGDAN_CANTAInumericnull,
CAI_ZHANGDAN_NUMBERnumericnull,
constraintPK_ZHANGDAGLprimarykey(ZHANGDAN_NUMBER)
/*Index:
RELATION_383_FK*/
createindexRELATION_383_FKonZHANGDAGL(CAI_ZHANGDAN_NUMBER)
CAIWUGL*/
createtableCAIWUGL
CAIWU_TIMEtimestampnull,
CAIWU_AMOUNTchar(10)null,
constraintPK_CAIWUGLprimarykey(ZHANGDAN_NUMBER)
DINGCANGL*/
createtableDINGCANGL
DCGL_NAMEchar(20)notnull,
DCGL_DANJIAintnotnull,
constraintPK_DINGCANGLprimarykey(ZHANGDAN_NUMBER,DCGL_NAME,DCGL_DANJIA)
RELATION_451_FK*/
createindexRELATION_451_FKonDINGCANGL(ZHANGDAN_NUMBER)
建立相关触发器,执行级联删除
*============================================================*/
/*Databasename:
MODEL_1*/
/*DBMSname:
MicrosoftSQLServer6.x*/
/*Createdon:
2010-1-2118:
15*/
/*Inserttrigger"
ti_caiwugl"
fortable"
CAIWUGL"
*/
createtriggerti_caiwuglonCAIWUGLforinsertas
begin
declare
@numrowsint,
@numnullint,
@errnoint,
@errmsgvarchar(255)
select@numrows=@@rowcount
if@numrows=0
return
/*Parent"
ZHANGDAGL"
mustexistwheninsertingachildin"
ifupdate(ZHANGDAN_NUMBER)
begin
if(selectcount(*)
fromZHANGDAGLt1,insertedt2
wheret1.ZHANGDAN_NUMBER=t2.ZHANGDAN_NUMBER)!
=@numrows
select@errno=30002,
@errmsg='
Parentdoesnotexistin"
.Cannotcreatechildin"
.'
gotoerror
end
/*Errorshandling*/
error:
raiserror@errno@errmsg
rollbacktransaction
end
/*Updatetrigger"
tu_caiwugl"
createtriggertu_caiwuglonCAIWUGLforupdateas
mustexistwhenupdatingachildin"
wheret1.ZHANGDAN_NUMBER=t2.ZHANG