数据库-设计规范.doc
文本预览下载声明
数据库设计规范
目的
为规范数据库管理,统一数据库设计, 特制定本规范。
本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦;同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证。?
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
数据库物理模型设计意为用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为关联表的表
名;并用下划线将它们分隔标注 , 类型为VARCHAR2(32)
第二种情况,是间接关联的(不在同一个系统中) ;
如:ID_XXX
其中的ID表示该字段为外键;XXX为关联的另外一个系统中的表名,(本系统中联系了人力资源这个系统), 类型为VARCHAR2(32)
每张表必须有一个名为ID的键作为主键,类型为 VARCHAR2(32),这里的ID统一为自增;
一定要标注每个字段是否为空;
下面是一些难确定的字段的类型和范围要求
数量,个数等为 NUMBER
价格,金额等为 NUMBER(10,6)
备注,意见,内容等为VARCHAR2(500)
附件等为 BLOB
存储过程相关设计要求
存储过程必须有以下注释说明:
/******************************************
DESCRIPTION:(描述此存储过程的功能或创建存储过程的原因)
PARAMETER:(存储过程的输入输出参数说明)
CREATE_DATE:(存储过程的创建日期/修改日期)
CREATE_AUTHOR:(创建/修改存储过程的作者)
*****
显示全部