温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
02
Oracle
数据库
设计
文档
模板
淮阴师范学校1004班级
文档编号
版本
A1
密级
商密A
项目名称
超市管理系统
项目来源
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
ENO
企业编号
2
ANO
收银员编号
3
BNO
小票编号
4
CNO
商品编号
1.3 参考资料
2 数据库环境说明
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等
(2)详细配置
例如:
数据库实例
数据库系统
数据库部署环境
数据库设计工具
数据库存放位置
说明
实例名,文件名
名称:如MySql,版本:4.0
软硬件、网络环境
例如:pb,visio,rose
存放位置,绝对路径/相对路径
实例用途说明
3 数据库的命名规则
提示:
(1)说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规范》命名。
(2)如果本数据库的命名规则与公司的标准不完全一致的话,请作出解释。
4 逻辑设计
数据实体-关系图
(说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立本数据库的每一幅用户视图。)
例:
地址
店名
企业编号
超市
性别
姓名
收银员编号
工资
收银员
商品编号
收银员编号
商品单价
小票编号
收银小票
商品名称
个数
总价
商品名称
单价
商品编号
商品库存量
供货商名
库存量
雇佣
超市
收银员
1 n
m
1
收费
包含
n
1
m
n
对应
商品库存量
收银小票
数据实体描述
(数据实体中文名,数据库表名 ,据实体描述 )
例:
转化为SQL支持的表格式(拆分联系)即为:
CustomerInfo (CID, name, gender, birthday, telephone, address);
分别对应:客户号、姓名、性别、出生日期、联系电话、通信地址
超市表(企业编号,店名,地址),主键为企业编号,符合三范式。
收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。
收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键
为小票编号,符合三范式。
商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符
合三范式。
实体关系描述
(描述每个实体间的关系)
实体1:实体2 (1:1,1:n, m:n)关系描述:
雇佣
超市
收银员
1 n
商品库存量
存量
包含
超市
1 1
收银小票
收费
收银员
m n
对应
商品库存量
收银小票
n m
5 物理设计
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
(2)对表结构进行规范化处理(第三范式)。
超市表(企业编号,店名,地址),主键为企业编号,符合三范式。
收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。
收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键
为小票编号,符合三范式。
商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符
合三范式。
5.1 表汇总
表名
功能说明
表A
表B
表C
5.2 表[X]:[XXX表]
表3-1 超市表SHOP
列名
含义
长度
类型
NULL
DEFAULT
ENO
企业编号
10
Char()
no
no
SNAME
店名
30
Char()
no
no
ADDRESS
地址
30
Char()
no
no
表3-2 收银员表ASSISTANT
列名
含义
长度
类型
NULL
DEFAULT
ANO
收银员编号
10
Char()
no
no
ANAME
姓名
6
Char()
no
no
SEX
性别
2
Char()
no
no
SALARY
工资
8
INT
no
no
表3-3收银小票 表BILL
列名
含义
长度
类型
NULL
DEFAULT
BNO
小票编号
20
Char()
no
no
CNO
商品编号
8
Char()
no
no
ANO
收银员编号
8
Char()
no
no
CNAME
商品名称
8
Char()
no
no
PRICE
单价
8
Float()
no
no
QUANTITY
个数
3
Int
no
no
TOTAL
总价
10
Float ()
no
no
表3-4 商品库存表RESERVR
列名
含义
长度
类型
NULL
DEFAULT
CNO
商品编号
8
Char()
no
no
CNAME
商品名称
8
Char()
no
no
PRICE
单价
8
Float()
no
no
LIST
库存量
8
Int
no
no
PROFESSINAL
供货商名
20
Char()
yes
no
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 BILL.CNO
5.4 存储过程、函数及触发器的设计
利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少.
CREATE PROCEDURE SELL ( BCNO CHAR, QLIST INT)
AS DECLARE
BEGIN
SELECT TIST
FROM RESERVE
WHERE BCNO =RESERVE.CNO;
IF LIST IS NULL THEN
ROLLBACK;
RETURN;
END IF;
IF LIST<QUANTITY THEN
ROLLBACK;
RETURN;
END IF;
UPDATE RESERVE
SET LIST=LIST-QLIST
WHERE BCNO=RESERVE.CNO;
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、事务故障的恢复策略
(1)反向扫描日志文件,查找该事务的更新操作.
(2)对事务的更新操作执行逆操作.
(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理.
(4)如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了.
2、系统故障的恢复策略
(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列.同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列.
(2)对撤消队列中的各个事务进行撤消处理.
(3)对重做队列中的各个事务进行重做处理.
3、介质故障恢复策略
(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时一致性状态.
(2)装入相应的日志文件副本,重做已完成的事务.