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