数据库设计说明书模版(附数据库设计指南)_第1页
数据库设计说明书模版(附数据库设计指南)_第2页
数据库设计说明书模版(附数据库设计指南)_第3页
数据库设计说明书模版(附数据库设计指南)_第4页
数据库设计说明书模版(附数据库设计指南)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

V项目名称》

数据库设计说明书

编写人:编写日期:

审核人:审核日期:

批准人:批准日期:

变更记录

版本号修改点说明变更人变更日期审批人审批日期

注:对该文件内容增加、删除或修改均需填写此修订记录,详细记载变更信息,以保证其可

追溯性。

目录

L数据库环境说明...............................................................4

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

2.1.表命名规则..........................................................4

2.2.字段命名规则........................................................4

1数据库逻辑设计...............................................................4

£数据库详细设计...............................................................4

4.1.表名A..............................................................................................................................5

42表名B..............................................................................................................................5

4.3.表名C..............................................................................................................................5

&数据库优化...................................................................5

但数据库角色与权限............................................................6

1数据库管理与维护说明........................................................6

//以下标题定义了样式表,编写文档时可根据需要设置所需标题。注意正文首行

需空两个字符,正文为宋体五号字体,行距为L5倍,表格行距为单倍。

1.数据库环境说明

〃列举出所采用的数据库环境、设计工具、编程工具等。

2.数据库命名规则

//完整并且清楚的说明本数据库的命名规则

2.1.表命名规则

2.2.字段命名规则

3.数据库逻辑设计

//实体关系图

4.数据库详细设计

//数据库设计过程一般有两种情况:由软件需求中所描述的数据约束,设计出数据库结

构;或者依据详细设计中定义的类(从对象的角度思考),定义数据库结构。不论采用哪种

方式,都必须以数据字典为依据。表总汇

功能说明

表A

表B

表c

4.1.表名A

字段名名称主键数据类型(精度)空/非空约束条件默认值备注

说明

4.2.表名B

字段名名称主键数据类型(精度)空/非空约束条件默认值备注

说明

4.3.表名C

字段名名称主键数据类型(精度)空/非空约束条件默认值备注

说明

5.数据库优化

〃描述可以优化数据库性能的相关信息

//删除蓝色示例行,可以正常编写内容

优先级优化对象(目标)措施

〃高扩大数据库索引缓存设置系统参数keybuffersize=32M

//低扩大暂存表缓存设置系统参数tmp_table_size=4M

//高扩大数据库检索缓存设置系统参数query_cache_size=32M

6.数据库角色与权限

//确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有

刚好能够完成任务的权限,不多也不少。

角色可以访问的表与列操作权限

角色A

角色B

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

//在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确

完备的《系统安装说明书》、《系统维护说明书》。

//比如,后台管理员表,需要初始化一条超级管理员的记录;或初始化默认模块、权限

等。

数据库设计指南

变更记录

版本号修改点说明变更人变更日期审批人审批日期

VI.0建立

注:对该文件内容增加、删除或修改均需填写此修订记录,详细记载变更信息,以

保证其可追溯性。

目录

1.数据库设计的步骤

1.1.初始化工程..........................................................5

1.2.定义实体.............................................................5

1.3.定义联系............................................................5

1.4.定义键...............................................................6

1.5.定义属性.............................................................6

1.6.定义其他对象和规则..................................................6

2.数据库设计的命名规范

2.1.实体(表)的命名....................................................6

2.1.1.以名词或短语命名................................................6

2.1.2.缩写.............................................................7

2.1.3.关联表..........................................................7

2.2.属性(列)的命名....................................................8

2.2.1.采用有意义的列名,表内的列要针对键采用一整套设计规则..........8

2.2.2.所有的属性加上有关类型的后缀...................................8

2.3.约束的命名...........................................................8

2.4.视图的命名...........................................................9

2.4.1.视图以V作为前缀,其他命名规则和表的命名类似;................9

2.4.2.命名应尽量体现各视图的功能。...................................9

2.5.触发器的命名........................................................9

2.6.存储过程.............................................................9

2.6.1.存储过程的命名..................................................9

2.6.2.变量名.........................................................9

3.设计原则

3.1.表设计原则.........................................................10

3.1.1.标准化和规范化.................................................10

3.1.2.考虑各种变化...................................................10

3.2.字段设计原则.......................................................10

3.2.1.考虑在每个表添加3个有用的字段................................10

3.2.2.使用角色实体定义属于某类别的列................................10

3.2.3.选择数字类型和文本类型尽量充足................................11

3.2.4.增加删除标记字段...............................................11

3.3.键设计原则..........................................................11

3.3.1.键设计总体原则.................................................11

3.3.2.尽量使用系统生成的主键.........................................12

3.4.索引设计原则.......................................................12

3.4.1.索引外键........................................................12

3.5.不要索引大型字段...................................................12

3.5.1.不要索引常用的小型表...........................................12

4.数据完整性设计

4.1.实体完整性..........................................................13

4.2.参照完整性..........................................................13

4.3.用户定义完整性.....................................................13

4.4.采用视图............................................................13

1.数据库设计的步骤

下面定义的设计步骤仅为参考步骤。

1.1.初始化工程

这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建

模队伍,收集原材.料,制定约束和规范。收集原材料是这阶段的重点。通过调查和观察结果,

业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。

1.2.定义实体

实体成员都有一个共同的特征和属性集,可以从收集的原材料一一基本数据资料表中直

接或间接标识出大部分实体。根据原材料名字表中表示物的术语以及具有“代码”结尾的术

语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找

出潜在的实体,形成初步实体表。

1.3.定义联系

将n元联系定义为n个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标

识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类

型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体

的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识

关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制

的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。

1.4.定义键

通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始

标识侯选键属性,以便唯一识别每个实体的实例,再从侯选键中确定主键。为了确定主键和

关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,

也不能在同一个时刻有一个以上的值。

1.5.定义属性

从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主键属性,

检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则。以得

到至少符合关系理论第三范式的属性视图。

1.6.定义其他对象和规则

定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过

程、视图、角色、同义词、序列等信息。

2.数据库设计的命名规范

数据库实体,属性、视图命名一律全部大写。

2.1.实体(表)的命名

2.1.1.以名词或短语命名

表名称一般命名为"类型一含义”,例如

对于代码表一律以“DM_”开头,DM_USER_QX

用户权限表:QXGL_QXFP(权限管理_权限分配)

所有临时表用TMP_开头

业务表以业务模块简称开头,如DZSB一开头表示是电子申报子系统的表ZG一开头表示

是征管子系统的表

表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义

简单规则(比方说,如果表名是一个单词,别名就取单词的前4个字母;如果表名是两个

单词,就各取两个单词的前两个字母组成4个字母长的别名;如果表的名字由3个单词组

成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4字

母长的别名,其余依次类推)

注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加下划线。

举例:定义的缩写Sales:SAL销售;Order:ORD订单;Detail:DTL明细;则销售订

单明细表命名为:SAL_ORD_DTL

2.1.2.缩写

如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。

举例:

定义的缩写MaterialMa物品;物品表名为:MATERIAL,而不是MA.

但是字段物品编码则是:MA」D;而不是MATERIAL_ID

2.1.3.关联表

关联表用于保存多对多关系。

关联表通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序

罗列两个表名或者表名的缩写。

如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,

建议都使用缩写。

举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;

表Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp

2.2.属性(列)的命名

2.2.1.采用有意义的列名,表内的列要针对键采用一整套设计规则

如果是数据库自动生成的编码,统一命名为:ID;

如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。不能使用id,Id,iD等形式。

如果键是数字类型,你可以用一^'1。作为后缀;

如果是字符类型则可以采用_CODE后缀。

对列名应该采用标准的前缀和后缀。

举例:销售订单的编号字段命名:Sal_Ord」D;如果还存在一个数据库生成的自动编号,

则命名为:ID。

2.2.2.所有的属性加上有关类型的后缀

注意,如果还需要其它的后缀,都放在类型后缀之前。

注:数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以

不写类型后缀。

2.3.约束的命名

主键以PK一表名一歹U名表示,如PK_DJ_SZ_NSRSBH

外键以FK一表名一列名表示,如FK_DJ_NSRXX_DJZCLX_DM

索引以IDX一表名一列名表示,如IDX_DJ_NSRXX_DJZCLX_DM

校验以CHK_表名一列名表示,如CHK_DJ_NSRXX_DJZCLX_DM

2.4.视图的命名

2.4.1.视图以V作为前缀,其他命名规则和表的命名类似;

2.4.2.命名应尽量体现各视图的功能。

2.5.触发器的命名

触发器以trig作为前缀,加上触发时间(AF-Afer,BF-before),触发器类别

(DE-Delete,IN-Insert,UP-Update)和表名。如:trig_af_in_dj_sz

2.6.存储过程

2.6.1.存储过程的命名

存储过程的函数应以'UF」开头,存储过程的过程用“UP_”开头,和系统的存储过程区分。

后续部分主要以动宾形式构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储

过程为UP_Ins_Agent_Account\

2.6.2.变量名

变量名采用小写,若属于词组形式,用下划线分隔每个单词,如@01丫_6m”0。

数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符

之间留空格。小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法

冲突。保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致

性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。

3.设计原则

3.1.表设计原则

3.1.1.标准化和规范化

数据的标准化有助于消除数据库中的数据冗余。设计原则是:ll0neFactinOnePlace"

即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的

关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。

举例:某个存放客户及其有关定单的数据库就可能有两个表:Customer和Order。Order

表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer表里包含

该客户信息的那一行。

事实上,在特殊情况下,为了效率的缘故,对表不进行标准化有时也是必要的。

3.1.2.考虑各种变化

在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。

3.2.字段设计原则

3.2.1.考虑在每个表添加3个有用的字段

dRecordCreationDate,在VB下默认是Now(),而在SQLServer下默认为GETDATE。,

在Oracle中为sysdate()

sRecordCreator,在SQLServer下默认为NOTNULLDEFAULTUSER

nRecordVersion,记录的版本标记;有助于准确说明记录中出现null数据或者丢失数据

的原因

3.2.2.使用角色实体定义属于某类别的列

在需要对属于特定类别或者具有特定角色的事物做定义时,可以用角色实体来创建特定

的时间关联关系,从而可以实现自我文档化。

举例:用PERSON实体和PERSON_TYPE实体来描述人员。比方说,当JohnSmith,

Engineer提升为JohnSmith,Director乃至最后爬到JohnSmith,CIO的高位,而所有你要做

的不过是改变两个表PERSON和PERSON_TYPE之间关系的键值,同时增加一个日期/时

间字段来知道变化是何时发生的。这样,你的PERSON_TYPE表就包含了所有PERSON的

可能类型,比如Associate、Engineer、Director,CIO或者CEO等。还有个替代办法就是改

变PERSON记录来反映新头衔的变化,不过这样一来在时间上无法跟踪个人所处位置的具

体时间。

3.2.3.选择数字类型和文本类型尽量充足

在SQL中使用smallint和tinyint类型要特别小心。比如,假如想看看月销售总额,总

额字段类型是smallint,那么,如果总额超过了$32,767就不能进行计算操作了。

而ID类型的文本字段,比如客户ID或定单号等等都应该设置得比一般想象更大。假

设客户ID为10位数长。那你应该把数据库表字段的长度设为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论