文档编号 XX公司xx事业部 项目名称 版本 A1 密级 商密A Xxx系统 DR-RD-020(V1.1)
编 写:检 查:审 核:批 准:
项目来源 Xxx系统
数据库设计说明书
(部资料 请勿外传)
日 期: 日 期: 日 期: 日 期:
XX公司
所有 不得复制
XXX系统 ................................................................................................................................................... 1 数据库设计说明书 .................................................................................................................................. 1 1
引言.................................................................................................................................................. 2 1.1 1.2 1.3 2 3 4 5
编写目的 ................................................................................................................................. 2 术语表 ..................................................................................................................................... 2 参考资料 ................................................................................................................................. 3
数据库环境说明 .............................................................................................................................. 3 数据库的命名规则 .......................................................................................................................... 3 逻辑设计.......................................................................................................................................... 4 物理设计.......................................................................................................................................... 4 5.1 5.2 5.3 5.4
表汇总 ..................................................................................................................................... 4 表[X]:[XXX表] .................................................................................................................... 5 视图的设计 ............................................................................................................................. 6 存储过程、函数及触发器的设计 .......................................................................................... 6
6 安全性设计 ...................................................................................................................................... 6 6.1 6.2 6.3
防止用户直接操作数据库的方法 .......................................................................................... 7 用户密码的加密方法 ............................................................................................................. 7 角色与权限 ............................................................................................................................. 7
7 8
优化.................................................................................................................................................. 7 数据库管理与维护说明 .................................................................................................................. 8
1
引言
1.1 编写目的
例如:本文档是xx系统概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《xx数据库设计和开发规》。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2 术语表
定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 序号 术语或缩略语 说明性定义
1 2
PM Project Manager,项目经理 1.3 参考资料
列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件;
c.引用文件、资料、软件开发标准等。 资料名称 作者 文件编号、版本 资料存放地点 2
数据库环境说明
提示:
(1)说明所采用的数据库系统,设计工具,编程工具等 (2)详细配置 例如: 数据库实例 实例名,文件名 数据库系统 名称:如4.0 数据库部署环境 软硬件、网络数据库设计工具 例如:pb,visio,rose 数据库存放位置 存放位置,绝对路径/相对路径 说明 实例用途说明 MySql,版本:环境 3
数据库的命名规则
提示:
(1)说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规》命名。
(2)如果本数据库的命名规则与公司的标准不完全一致的话,请作出解释。
4
逻辑设计
提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。如果采用面向对象方法(OOAD),这里实体相当于类(class)。
例如:
合作伙伴partner_sett_rels合同:1inhr_partner_spinhr_partner_cp运营商coop_rels合同模板partner_sett_order服务提供商内容提供商结算帐单coop_settl_ordersp_coop_relscp_coop_relssettle_order_rels结算规则合同:2 5
物理设计
提示:
(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
(2)对表结构进行规化处理(第三式)。
5.1 表汇总
表名 表A 表B 表C 功能说明
5.2 表[X]:[XXX表]
表的索引: 索引是否建立要根据具体的业务需求来确定。 允许为空:不填的表示为“是”。 唯一:不填的表示为“是”。 表的记录数和增长量:根据具体的业务需求确定。增长量应确定单位时间如果量大可以按每天,如果不大可以按每月。 表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。例如:如果一个表的NAME字段有共2000个值,其中有1999个不同值,1999/2000=0.99 越接近1区别度越高,反之区别度越低。 表的并发:根据具体的业务需求预测表的并发。 表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 数据类型(精度围) 允许为空Y/N 唯一Y/N 区别度 默认值 约束条件/说明 此表格的序号,与数据库的序号无关 [字段名称] [数据类型] [Y/N] [Y/N] [高/中/低] 主键、外键,字段含义,相关说明等 Mysql脚本 ( CREATE TABLE [XXX表名] [字段名称] [数据类型] [NOT NULL /NULL] , [字段名称] [数据类型] [NOT NULL /NULL] , [字段名称] [数据类型] [NOT NULL /NULL] , [字段名称] [数据类型] [NOT NULL /NULL] , CONSTRAINT PK_[XXX表名]_[XXX表字段] PRIMARY KEY ([字段名称]) ) type = INNODB; ALTER TABLE [XXX表名] ADD CONSTRAINT FK_[XXX表名]_[YYY表名]_[XXX表字段] FOREIGN KEY ([字段名称]) REFERENCES [YYY表名] ([字段名称]) CREATE INDEX [索引名] ON [XXX表名] ([字段名称]) 记录数 [此表的记录数]