Oracle数据库设计文档模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DR-RD-020(V1.1)
超市管理系统
数据库设计说明书
(内部资料请勿外传)
编写:丁东亚日期:2013-12-03
检查:日期:
审核:日期:
批准:日期:
淮阴师范学校
超市管理系统 (1)
数据库设计说明书 (1)
1 引言 (2)
1.1 编写目的 (2)
1.2 术语表 (2)
1.3 参考资料 (3)
2 数据库环境说明 (3)
3 数据库的命名规则 (3)
4 逻辑设计 (3)
5 物理设计 (4)
5.1 表汇总 (4)
5.2 表[X]:[XXX表] (4)
5.3 视图的设计 (6)
5.4 存储过程、函数及触发器的设计 (6)
6 安全性设计 (6)
6.1 防止用户直接操作数据库的方法 (6)
6.2 用户帐号密码的加密方法 (7)
6.3 角色与权限 (7)
7 优化 (7)
8 数据库管理与维护说明 (7)
1引言
1.1 编写目的
本需求的编写目的在于研究超市管理系统软件的开发途径和应用方法。
本需求的预期读者是与超市管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
1.2 术语表
定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。
1.3 参考资料
2数据库环境说明
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等
(2)详细配置
3数据库的命名规则
提示:
(1)说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规范》命名。
(2)如果本数据库的命名规则与公司的标准不完全一致的话,请作出解释。
4逻辑设计
数据实体-关系图
(说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,建
立本数据库的每一幅用户视图。) 例:
数据实体描述
(数据实体中文名,数据库表名,据实体描述)
例:
转化为SQL支持的表格式(拆分联系)即为:
CustomerInfo (CID, name, gender, birthday, telephone, address);
分别对应:客户号、姓名、性别、出生日期、联系电话、通信地址
超市表(企业编号,店名,地址),主键为企业编号,符合三范式。
收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。
收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键为小票编号,符合三范式。
商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符合三范式。
实体关系描述
(描述每个实体间的关系)
实体1:实体2 (1:1,1:n, m:n)关系描述:
5物理设计
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
(2)对表结构进行规范化处理(第三范式)。
超市表(企业编号,店名,地址),主键为企业编号,符合三范式。
收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。
收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键为小票编号,符合三范式。
商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符合三范式。
5.1 表汇总
5.2 表[X]:[XXX表]表3-1 超市表SHOP
表3-2 收银员表ASSISTANT
表3-3收银小票表BILL
表3-4 商品库存表RESERVR
5.3索引及视图的设计
(1)商品库存表商品编号索引
CREATE UNIQUE INDEX CRESERVE ON RESERVE(CNO );
(2)收银小票表小票编号索引
CREATE UNIQUE INDEX BBILL ON BILL (BNO);
(3)收银员表中收银员编号索引
CREATE UNIQUE INDEX AASSISTANT ON ASSISTANT (ANO);
某种商品的销售量和库存量的视图
GREATE VIEW COMMODITY (CNO,CNAME,MARKET,LIST)
AS
SELECT RESERVR .CNO,RESERVR .CNAME,SUM(QUANTITY),LIST FROM RESERVR ,BILL
GROUP BY O
5.4存储过程、函数及触发器的设计
利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少.
CREATE PROCEDURE SELL ( BCNO CHAR, QLIST INT)
AS DECLARE
BEGIN
SELECT TIST
FROM RESERVE
WHERE BCNO =O;
IF LIST IS NULL THEN
ROLLBACK;
RETURN;
END IF;
IF LIST ROLLBACK; RETURN; END IF; UPDATE RESERVE SET LIST=LIST-QLIST WHERE BCNO=O; COMMIT; END; 定义一个触发器,当商品库存表中,供货商为空时,自动改为”本店制作”。 CREATE TRIGGER UDLIST BEFORE UPDATE OR TNSERT ON RESERVR FOR EACH ROW AS BEGIN IF PROFESSINAL IS NULL THEN PROFESSINAL:=’本店制作’; END IF; END; 6安全性设计 1、事务故障的恢复策略