文档内容
xx项目数据库设计文档
数据库设计文档
第1页/共10页xx项目数据库设计文档
文档创建信息
产品项目名称 产品项目编号
产品经理 项目经理
创建日期 总页数
正文页数 附录页数
文档修订记录
修改日期 修改的章节 修改类型 修改描述 修改人 审核人 版本号
修改类型分为 A – ADDED(增加) M – MODIFIED(修改) D – DELETED(删除)
第2页/共10页xx项目数据库设计文档
目 录
1 总述......................................................................4
1.1 编写目的............................................................4
1.2 背景................................................................4
1.3 相关资料、缩略语、定义..............................................4
2 外部设计..................................................................4
2.1 环境说明............................................................4
2.2 指导................................................................4
3 数据库逻辑设计............................................................4
3.1 数据实体-关系图.....................................................4
3.2 数据实体描述........................................................5
3.3 实体关系描述........................................................6
4 物理实现..................................................................6
4.1 物理结构............................................................6
4.2 安全设计............................................................6
5 表设计结构................................................................6
6 视图的设计................................................................8
7 存储过程、函数及触发器的设计..............................................9
8 数据库账号及权限说明......................................................9
9 附录......................................................................9
9.1 使用的文字处理和数据库工具..........................................9
第3页/共10页xx项目数据库设计文档
1 总述
1.1 编写目的
(说明编写这份数据设计说明书的目的,指出预期的读者。)
1.2 背景
(待开发数据库的名称和使用此数据库的软件系统的名称,列出本产品的任务提出者、开发
者、用户。)
1.3 相关资料、缩略语、定义
(相关产品计划、引用的文件、采用的标准等)
(列出本文件中用到的专门术语的定义和外文首字母组词的原词组)
2 外部设计
2.1 环境说明
(说明所采用的数据库系统,设计工具,编程工具, 详细配置。)
(说明数据库服务器的基本硬件配置)
(简单介绍同此数据库直接有关的支持软件。说明这些软件的名称、版本号的主要功能特性。
列出这些支持软件的技术文件的标题、编号及来源)
第4页/共10页xx项目数据库设计文档
2.2 指导
(向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导。)
(本项根据实际情况填写)
3 数据库逻辑设计
3.1 数据实体-关系图
(说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立
本数据库的每一幅用户视图。)
例:
第5页/共10页xx项目数据库设计文档
3.2 数据实体描述
(数据实体中文名,数据库表名 ,据实体描述 )
例:
转化为SQL支持的表格式(拆分联系)即为:
CustomerInfo (CID, name, gender, birthday, telephone, address);
分别对应:客户号、姓名、性别、出生日期、联系电话、通信地址
3.3 实体关系描述
(描述每个实体间的关系)
实体1:实体2 (1:1,1:n, m:n)
关系描述:
4 物理实现
4.1 物理结构
(说明是否采用分布式数据库,数据库表如何分布 。每个数据库服务器上建立几个数据库,
存储空间等安排 。数据库表的分配方法,例如:如何创建段,或表空间)
4.2 安全设计
(用户角色划分方法,每个角色的权限,本项根据实际情况填写)
5 表设计结构
[主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关
系成为表的约束。逻辑设计中的实体大部分可以转换成表结构设计中的表,但是它们并
第6页/共10页xx项目数据库设计文档
不一定是一一对应的。
具体的每张表的编写按照《数据库详细设计模版》提供的表结构进行编写。
数据库表: 按照技术架构部的《数据库设计规范》中关于数据库表的命名规范命名
表的主键: 按照技术架构部的《数据库设计规范》中关于主键的命名规范命名。
表的外键: 按照技术架构部的《数据库设计规范》中关于外键的命名规范命名。
。
表的索引: 索引是否建立要根据具体的业务需求来确定。索引的命名按照技术架构部
的《数据库设计规范》中关于索引的命名规范命名。
允许为空:不填的表示为“是”。
唯一:不填的表示为“否”,如果该字段为主键可以不填。
表的记录数和增长量:根据具体的业务需求确定。增长量应确定单位时间如果量大可以
按每天,如果不大可以按每月。
表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段
值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即
可。例如:如果一个表的NAME字段有共2000个值,其中有1999个不
同值,1999/2000=0.99 越接近1区别度越高,反之区别度越低。
表的并发:根据具体的业务需求预测表的并发。
]
表[X]:[XXX表]
[项目名称] 数据表名称:[表名]
主 键:[主 键] 其它排序字段:[其它排序字段]
索引字段:[索引字段] 数据表名称缩写:[ 数据表名称缩写]
字段说 允许
NO 字段名称 数据类型 唯一 外键 区别度 在本系统中含义
明 为空
[NO] [字段 [字段名称] [数据类型] [是/ [是/ [ 高 / [在本系统中含义]
第7页/共10页xx项目数据库设计文档
[XXX]
说明] 否] 否] 表的 中/低]
外键
[字段 [是/ [是/ [高/
[NO] [字段名称] [数据类型] [在本系统中含义]
说明] 否] 否] 中/低]
[字段 [是/ [是/ [高/
[NO] [字段名称] [数据类型] [在本系统中含义]
说明] 否] 否] 中/低]
[字段 [是/ [是/ [高/
[NO] [字段名称] [数据类型] [在本系统中含义]
说明] 否] 否] 中/低]
CREATE TABLE [XXX表名]
(
[字段名称] [数据类型] [NOT NULL /NULL]
, [字段名称] [数据类型] [NOT NULL /NULL]
, [字段名称] [数据类型] [NOT NULL /NULL]
[XXX
, [字段名称] [数据类型] [NOT NULL /NULL]
数据
库]M , CONSTRAINT PK_[XXX表名]_[XXX表字段] PRIMARY KEY ([字段名称])
ySql
脚本 ) type = INNODB;
ALTER TABLE [XXX表名] ADD CONSTRAINT FK_[XXX表名]_[YYY表名]_[XXX表字段]
FOREIGN KEY ([字段名称]) REFERENCES [YYY表名] ([字段名称])
CREATE INDEX [索引名] ON [XXX表名] ([字段名称])
记录
[此表的记录数]
数
增长
[此表的增长量]
量
表的
[此表的并发程度]
并发
补充
[补充说明]
说明
第8页/共10页xx项目数据库设计文档
6 视图的设计
[根据XXX产品的概要设计文档来确定。
视图的命名按照技术架构部的《数据库设计规范》中关于视图的命名规范命名。
视图的设计应注意以下几点:
1 尽量减少列中使用的公式。
2 去掉所有不必要的列。
3 不要使同一个文档属于多个分类。
4 避免使用表单公式。]
7 存储过程、函数及触发器的设计
[存储过程及触发器的命名按照技术架构部的《数据库设计规范》中关于存储过程及触
发器的命名规范命名。
存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。
在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他
特供功能的过程。例如:不要定义定义强制数据完整性的过程(使用完整性约
束)。
函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在SQL
命令中使用函数。就好像建立自己的substr函数一样
触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序
可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户
定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update
或delete语句时执行。]
8 数据库账号及权限说明
[说明本设计使用的数据库名称、帐号及帐号权限,权限可能细化到表或者字段。]
第9页/共10页xx项目数据库设计文档
9 附录
9.1 使用的文字处理和数据库工具
文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ]
数据库工具:[数据库客户端软件或设计工具,如Navicat,PowerDesigner]
第10页/共10页