数据库设计规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库设计规范

目的

为规范数据库管理,统一数据库设计,特制定本规范。

本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦;同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证。

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库物理模型设计意为用PowerDesigner 或者其他工具生成数据表结构模型以及其它各种数据库对象。生成各种数据库对象必须按照该规范的规定进行创建,以便统一开发和维护。

工具:PowerDesigner 15.1

设计概要:

一个系统对应一个Model,每个Model下分成多个Physical Diagram,每个Physical Diagram代表每个子系统的设计模型。

命名规范

Model以中文名字命名,如:危废综合监管云平台V0.1

其中V 是version 的首写大写字母,0.1标明该模型是0.1版本,若以后做修改,将由DBA进行升级,该版本号将随着项目的进展而变化升级,如:危废综合监管云平台V2.5。

数据表相关设计要求

通用规范

使用英文:要用简单明了的英文单词,不要用拼音,特别是拼音缩写。主要目的很明确,让人容易明白这个对象是做什么用的;

一律大写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写;

数据库对象命名规范

表的命名

表名的前缀:前缀_表名。为表的名称增加一个或者多个前缀,前缀名不要太长,可以用缩写,最好用下划线与后面的单词分开;其目的有这样几个:为了不与其他项目或者其他系统、子系统的表重名;

表示某种从属关系,比如表明是属于某个子系统、某个模块或者某个项目等等。表示这种从属关系的一个主要目的是,从表名能够大概知道如何去找相关的人员。比如以子系统为前缀的,当看到这个表的时候,就知道有问题可以去找该子系统的开发和使用人员;

表名称必须用英文大写字母,且具有代表含义的单词(字母)构成;

表名称命名必须遵循以下规则:

T_XXX_YYY T_+每个单词(每个字母大写) ,表名只有以下下两种情况T_ 代表生产系统。

第一种情况;如:(单据审批)T_BILL_EXMINE中。因为表名可能有1-2个单词构成,所以XXX表示T_后的第一个的单词,YYY T_后的第二个的单词。

第二种情况;如:(申请计划)T_PLAN中, 同上。

表的备注内容,必须写清楚。

字段名称命名必须遵循:

a) Name 字段汉语名称;

b) Code 字段英文名称,必须取该字段的英文单词,若有多个单词必须有下滑线相隔。

c) 根据自己的情况命名字段名,但是必须是有意义且科学的单词,必须控制在1-2个之内,每个单词的每个字母必须大写。如:(审批顺序)EXMINE_ORDER

d) Table Property 属性中必须有字段的注释(Comment)属性详细描述

下面是一些公用的字段命名

a) 姓名NAMES

b) 编号NUMBERS

c) 时间TIMES

d) 日期DATES

e) 如果一张表中有一个以上的;如: XXX_TIMES

外键名称命名规则,有一下两种情况

第二种情况,是直接关联的(在同一个系统中);

如:ID_P_PLAN

其中ID表示该字段为外键;P_PLAN为关联表的表

名;并用下划线将它们分隔标注, 类型为V ARCHAR2(32)

第二种情况,是间接关联的(不在同一个系统中);

如:ID_XXX

其中的ID表示该字段为外键;XXX为关联的另外一个系统中的表名,(本系统中联系了人力资源这个系统), 类型为V ARCHAR2(32)

每张表必须有一个名为ID的键作为主键,类型为V ARCHAR2(32),这里的ID统一为自增;

一定要标注每个字段是否为空;

下面是一些难确定的字段的类型和范围要求

数量,个数等为NUMBER

价格,金额等为NUMBER(10,6)

备注,意见,内容等为V ARCHAR2(500)

附件等为BLOB

存储过程相关设计要求

存储过程必须有以下注释说明:

/******************************************

DESCRIPTION:(描述此存储过程的功能或创建存储过程的原因)PARAMETER:(存储过程的输入输出参数说明)

CREATE_DATE:(存储过程的创建日期/修改日期)

CREATE_AUTHOR:(创建/修改存储过程的作者)

******************************************/

函数相关设计要求

/******************************************

DESCRIPTION:(描述此函数的功能或创建函数的原因)

PARAMETER:(函数的输入输出参数说明)

CREATE_DATE:(函数的创建日期/修改日期)

CREATE_AUTHOR:(创建/修改函数的作者)

******************************************/

触发器相关设计要求

/******************************************

DESCRIPTION:(描述此触发器的功能或创建触发器的原因)

PARAMETER:(触发器的输入参数说明)

CREATE_DATE:(触发器的创建日期/修改日期)

CREATE_AUTHOR:(创建/修改触发器的作者)

******************************************/

相关文档
最新文档