当前位置:
文档之家› 小型餐饮管理系统数据库设计报告
小型餐饮管理系统数据库设计报告
create table DINGCANGL
(
ZHANGDAN_NUMBER numeric not null,
DCGL_NAME char(20) not null,
DCGL_DANJIA int not null,
constraint PK_DINGCANGL primary key (ZHANGDAN_NUMBER, DCGL_NAME, DCGL_DANJIA)
第一章设计任务与要求
目的及意义:
此小型餐饮业管理系统的设计主要是为了方便管理,对于各个进出账目,支出和收入的管理便于系统化,在每月汇总计算中分析运营趋势和餐馆的发展方向进行一定的规划。通过各个月的盈利进行对比,分析那种方式更适合餐馆的有利运营和更好地服务顾客。实现对餐馆部各种管理的电子化、自动化,提高各个模块之间的办公效率,为高质量餐馆服务提供保证。
and (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER)
end
return
/* Errors handling */
error:
raiserror errno errmsg
rollback transaction
end
go
/* Delete trigger "td_caiwugl" for table "CAIWUGL" */
return
/* Parent "ZHANGDAGL" must exist when inserting a child in "CAIWUGL" */
if update(ZHANGDAN_NUMBER)
begin
if (select count(*)
from ZHANGDAGL t1, inserted t2
)
go
/* ============================================================ */
/* Index: RELATION_451_FK */
/* ============================================================ */
create table CAIPINGL
(
CPGL_NAME char(20) not null,
CPGL_DANJIA integer not null,
CPGL_LEIBIE char(8) null ,
CPGL_PINGZHONG char(8) null ,
CPGL_DIANCAI integer null ,
if update(ZHANGDAN_NUMBER)
begin
update ZHANGDAGL
set CAI_ZHANGDAN_NUMBER = i1.ZHANGDAN_NUMBER
from ZHANGDAGL t2, inserted i1, deleted d1
where t2.CAI_ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBER
三. 性能需求:该餐饮系统操作简单方便可适应各类中小型餐馆。
第三章系统功能模块设计
一. 在该系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如下功能模块图。
图1 系统功能模块图
二. 数据库设计
1. 概念结构设计
2. 逻辑结构设计
3. 数据库实施
1) 数据库及表结构的创建
设本系统使用的数据库名为小型餐饮业管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQL Server 6.x数据库系统中实现这些逻辑结构。
go
/* ============================================================ */
/* Table: CAIWUGL */
/* ============================================================ */
create table XTGL
(
USERNAME char(20) not null,
PASSWORD char(8) not null,
constraint PK_XTGL primary key (USERNAME, PASSWORD)
)
go
/* ============================================================ */
where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != numrows
begin
select errno = 30002,
errmsg = 'Parent does not exist in "ZHANGDAGL". Cannot create child in "CAIWUGL".'
constraint PK_CAIPINGL primary key (CPGL_NAME, CPGL_DANJIA)
)
go
/* ============================================================ *=========================================================== */
create trigger ti_caiwugl on CAIWUGL for insert as
begin
declare
numrows int,
numnull int,
errno int,
errmsg varchar(255)
select numrows = rowcount
if numrows = 0
errmsg = '"ZHANGDAGL" does not exist. Cannot modify child in "CAIWUGL".'
goto error
end
end
/* Modify parent code of "CAIWUGL" for all children in "ZHANGDAGL" */
goto error
end
end
return
/* Errors handling */
error:
raiserror errno errmsg
rollback transaction
end
go
/* Update trigger "tu_caiwugl" for table "CAIWUGL" */
create trigger tu_caiwugl on CAIWUGL for update as
/* Table: ZHANGDAGL */
/* ============================================================ */
create table ZHANGDAGL
(
ZHANGDAN_NUMBER numeric not null,
ZHANGDAN_CANTAI numeric null ,
/* Index: RELATION_383_FK */
/* ============================================================ */
create index RELATION_383_FK on ZHANGDAGL (CAI_ZHANGDAN_NUMBER)
(4)订餐管理:订餐管理仅包括单价。订餐管理是便于顾客订餐和账单管理时对各个菜品消费金额的记录,这样便于账单管理和财务汇总。
(5)菜品管理:菜品管理包括菜名,菜品类别和菜品品种。菜品管理便于顾客点菜和记录各个餐台的消费记账,菜品品种也便于餐馆的食材采购。
二. 数据需求:账单管理中账单号是主键,每一个餐台对应一个账单号。财务管理中账单号是主键,每一个账单号都有对应的时间和账目记录。订餐管理中单价就是主键。菜品管理中菜名是主键。系统管理中用户名是主键。
/* DBMS name: Microsoft SQL Server 6.x */
/* Created on: 2010-1-21 18:15 */
/* ============================================================ */
/* Insert trigger "ti_caiwugl" for table "CAIWUGL" */
begin
declare
numrows int,
numnull int,
errno int,
errmsg varchar(255)
select numrows = rowcount
if numrows = 0
return
/* Parent "ZHANGDAGL" must exist when updating a child in "CAIWUGL" */
下面是创建基本表的SQL语句:
/* ============================================================ */
/* Table: CAIPINGL */
/* ============================================================ */