数据库设计文档

数据库设计文档

2023年7月27日发(作者:)

文档编号

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

数据库的命名规则 .......................................................................................................................... 4

逻辑设计.......................................................................................................................................... 4

物理设计.......................................................................................................................................... 5

5.1

5.2

5.3

5.4

表汇总 ..................................................................................................................................... 5

表[X]:[XXX表] .................................................................................................................... 5

视图的设计 ............................................................................................................................. 7

存储过程、函数及触发器的设计 .......................................................................................... 7

6

安全性设计 ...................................................................................................................................... 7

6.1

6.2

6.3

防止用户直接操作数据库的方法 .......................................................................................... 7

用户帐号密码的加密方法 ..................................................................................................... 8

角色与权限 ............................................................................................................................. 8

7

8

优化.................................................................................................................................................. 8

数据库管理与维护说明 .................................................................................................................. 8

一、引言

1.1 编写目的

例如:本文档是xx系统概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《xx数据库设计和开发规范》。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。

1.2 术语表

定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。

序号

1

术语或缩略语

PM

说明性定义

Project Manager,项目经理 2

1.3 参考资料

列出有关资料的名称、作者、文件编号或版本等。参考资料包括:

a.需求说明书、架构设计说明书等;

b.本项目的其他已发表的文件;

c.引用文件、资料、软件开发标准等。

资料名称

作者

文件编号、版本

资料存放地点

二、 需求规约

提示:本部分完成此数据库系统业务描述和需求分析

2.1 业务描述

提示:本部分完成此数据库系统的业务描述,例如:

(1)数据库系统创建的背景

(2)数据库系统要解决的问题

(3)数据库系统要完成的业务流程及工作内容

(4)揭示该数据库的资源需求和设计约束

2.2 需求分析

提示:本部分完成此数据库系统的需求分析,例如:

(1) 分析该业务流程的内在联系

(2) 业务流程各个节点的依赖关系在数据上的反映

(3) 揭示创建此数据库系统的目的、目标、已知条件

(4) 将业务流程节点抽象成数据库对象 三、 数据库环境说明

提示:

(1)说明所采用的数据库系统,设计工具,编程工具等

(2)详细配置

例如:

数据库实例

实例名,文件名

数据库系统

名称:如4.0

数据库部署环境

软硬件、网络数据库设计工具

例如:pb,visio,rose

数据库存放位置

存放位置,绝对路径/相对路径

说明

实例用途说明

MySql,版本:环境

四、 数据库的命名规则

3.1 数据库对象命名规则

提示:

(1)说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规范》命名。

(2)如果本数据库的命名规则与公司的标准不完全一致的话,请作出解释。

3.2 数据项编码规则

提示:

说明本数据库数据项的编码规则,例如:

学号:班号+班内序号(两位整数00-99)

五、 逻辑设计

提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(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

六、 物理设计

提示:

(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]

[高/中/低]

主键、外键,字段含义,相关说明等

sql脚本

(

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表名] ([字段名称])

记录数

增长量

表的并发

补充说明

[此表的记录数]

[此表的增长量]

[此表的并发程度]

[补充说明]

5.3 视图的设计

[根据XXX产品的概要设计文档来确定。

视图的命名按照《xx数据库设计规范》中关于视图的命名规范命名。

视图的设计应注意以下几点:

1

尽量减少列中使用的公式。

2

去掉所有不必要的列。

3

不要使同一个文档属于多个分类。

4

避免使用表单公式。]

5.4 存储过程、函数及触发器的设计

[存储过程及触发器的命名按照《xx数据库设计规范》中关于存储过程及触发器的命名规范命名。

存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。

在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他提供功能的过程。例如:不要定义强制数据完整性的过程(使用完整性约束)。

函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在SQL命令中使用函数。就好像建立自己的substr函数一样

触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update或delete语句时执行。]

七、 安全性设计

提示:提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。

例如:应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。

6.1 防止用户直接操作数据库的方法

提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操作数据库。 6.2 用户帐号密码的加密方法

提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。

例如:用户帐号采用MD5进行数据加密后再录入数据库,以防止任何地方密码的安全性要求。

6.3 角色与权限

提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。

角色

例如:管理员

可以访问的表与列

可访问所有表

角色B

完全控制权限

操作权限

八、 优化

提示:分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数据占用空间”。

(1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。

(2)当优化对象(目标)之间存在对抗时,给出折衷方案。

(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。

优先级

优化对象(目标)

措施

九、 数据库管理与维护说明

提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690430079a348786.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信