数据库结构命名规范

上传人:M****1 文档编号:457870153 上传时间:2022-10-14 格式:DOC 页数:17 大小:54.50KB
返回 下载 相关 举报
数据库结构命名规范_第1页
第1页 / 共17页
数据库结构命名规范_第2页
第2页 / 共17页
数据库结构命名规范_第3页
第3页 / 共17页
数据库结构命名规范_第4页
第4页 / 共17页
数据库结构命名规范_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数据库结构命名规范》由会员分享,可在线阅读,更多相关《数据库结构命名规范(17页珍藏版)》请在金锄头文库上搜索。

1、数据库结构命名规范目 录第一章 介绍1. 目的2. 范围3. 文档约定4. 参考文档第二章 命名及设计规范1. 数据库表(Table)、字段(Field)命名及设计规范1.1 表命名规范1.2 列命名规范1.3 设计规范2. 存储过程(Procedure)命名及设计规范2.1 命名规范2.2 设计规范3. 函数(Function)命名及设计规范3.1 命名规范3.2 设计规范4. 视图(View)命名及设计规范4.1 命名规范4.2 设计规范5. 触发器(Trigger) 命名及设计规范5.1 命名规范5.2 设计规范6. 主键(Primary Key)命名规范7. 外键(Foreign Ke

2、y)命名规范8. 索引(Index)命名规范9. 约束(Check、Constraint)命名规范 第一章 介绍1. 目的整理数据库结构规范的目的是:增加数据库对象的可读性,在设计上尽量规范化,标准化,方便系统后期维护。2. 范围如没有特殊规定,本数据库结构规范文档适用于产品中心的所有开发项目的数据库设计。3. 文档约定在本规范中,采用标准的文档书写约定,章标题使用粗体三号字,节标题使用粗体的小四号宋体,小节标题采用粗体的五号字体,正文采用正常的五号宋体。术语解释时术语部分加以下划线表示。4. 参考文档1. 百度文库数据库命名及设计规范V1.0.3 第二章 命名及设计规范1. 数据库表(Tab

3、le)、字段(Field)命名及设计规范1.1表命名规范1) 表名用T_作为标识,表名一般不超过三个英文单词,长度不能超过30个字符。表名必须是易于理解,能表达表的功能的英文单词或缩写英文单词:如果业务表的含义用英文表述困难,也可用汉语拼音方式命名。无论是完整英文单词还是缩写英文单词,抑或是汉语拼音,单词必须大写。表名中含有单词全部采用单数形式,例如,使用USER,而不是USERS。2) 表中含有的单词建议用完整的单词,多个单词间用下划线(_)进行连接。如果导致表名长度过长,则从最后一个单词开始,依次向前采用该单词的缩写。(如果没有约定的缩写,则采用该单词前4个字母来表示)。3) 对于有主明细

4、的表来说。明细表名为:主表名+_DTS。例如:采购定单的表名为:T_PO_ORDER,则采购定单的明细表名为:T_PO_ORDER_DTS。4) 一般表采用“系统名_+T_模块名_表义名”格式构成,其他特殊情况如:l 若数据库中只含有单个系统,命名可去掉前缀“系统名_”,采用“T_模块名_表义名”格式构成。l 若数据库中只含有单个模块,命名可去掉“模块名”,采用“系统名_+T_表义名”格式构成。l 临时表采用“系统名_+T_TEMP_表义名”格式构成。l 关联表命名为RE_表A_表B,RE是Relative的缩写,表A和表B均采用其表义名或缩写形式。例如:A. 如果有一个模块叫做Bulleti

5、n Board System(缩写为BBS),那么你的数据库中所有对象的名称都要加上这个前缀:T_BBS_+数据库对象名称,T_BBS_CUSTOMER_INFO标示论坛模块中的客户信息表。B. 如果有一个系统叫做行政服务(缩写为XZFW),其中有一张表记录补齐补正业务,由于用英文表达其含有较难或不准确,可以用汉语拼音为其命名:XZFW_T_ +拼音名,XZFW_T_ BUQIBUZHENG.1.2列命名规范1) 列统一采用“CL_”作为前缀。2) 采用有意义的列名,列名必须是易于理解,能表达列功能的英文单词或缩写英文单词;如果列的含义用英文表述困难或不准确,也可用汉语拼音字母的方式命名。无论

6、是完整英文单词还是缩写英文单词,抑或是汉语拼音,不超过三个英文单词,长度不能超过30个字符,一般用完整的英文单词,单词必须大写。在同一数据表内,不允许同时出现英文和拼音字母两种命名方式的列。多个单词间用下划线(_)进行连接。例如:人员信息表中的电话号码所在列可命名为:CL_TELEPHONE或CL_TEL。产品明细表中的产品名称所在列名可用CL_PRODECT_NAME表示。办件表中的审批事项名称所在列名可用拼音字母的方式表示为CL_SPSXMC。3) 表中的主键名使用:“CL_ID”,其数据类型为varchar,主键数据一律采用java程序或存储过程按照一定的规则生成,不允许采用自增长的数据

7、,如identity,sequences等。如项目无特定需求,主键生成规则如下:主键采用字符型,长度为18位XXXXXX XXXXXXXXX XXX前六位代表记录生成的年、月、日,如:Q71225中间九位代表记录生成的时、分、秒、毫秒,如122009337后三位为生成的随机码,随机码采用java.util.Random生成。那么2007年12月26日15时44分产生的数据记录,其主键应类似于0233901(注:主键生成的规则需抽象出具体方法放入底层架构中)4) 系统中属于是业务范围内的编码的列,其代表一定的业务信息,比如办件信息和单据的编号,这样的列建议命名为:业务含义+“_CODE”,其数据

8、类型为varchar,该列需加唯一索引。如:组织机构代码可命名为CL_ORGAN_CODE。5) 在命名表的列时,不要重复表名;例如,在名为T_SYS_USER的表中避免使用名为CL_USERNAME的列,应直接使用CL_NAME。6) 不要在列名中包含数据类型。7) 不要使用“ID”作为列名。8) 关联列命名以“CL_关联表的表义名(或缩写)_列名”构成。1.3设计规范1) 所有列在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、varbinary外,必须有默认值。字符

9、型的默认值为一个空字符值串;数值型的默认值为数值0;逻辑型的默认值为数值0;其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。datetime、smalldatetime类型的列没有默认值,必须为NULL。当列定义为字符串型时建议使用varchar而不用nvarchar。在Oracle中,不建议使用varchar,建议用varchar2或char类型。2) 尽量遵守第三范式的标准(3NF)A. 表内的每一个值只能表达一次;B. 表内的每一行都应当被唯一的标示;C. 表内不应该存储依赖于其他键的非键信息;D. 如果列事实上是与其它表的关键字相关联而未设计为外键引用,需建索引;E.

10、如果列与其他表的列相关联,需建索引;F. 如果列需做模糊查询之外的条件查询,需建索引;G. 除了主关键字允许建立簇索引外,其他列所建索引必须为非簇索引。3) 列必须填写描述信息2. 存储过程(Procedure)命名及设计规范2.1命名规范1) 存储过程的命名遵循以下命名规范:“系统名_+PR_系统模块缩写(与表前缀类似)_功能标识_代表存储过程操作的主要表义名(不带前缀)或功能的英文单词或英文单词缩写”,长度不能超过30个字符。2) 如 果一个存储过程只对一个表进行操作,建议存储过程的名称就用存储过程所操作的表的表名(不带前缀)。这样有利于根据表名找到相应的存储过程。为了在众多的 存储过程中

11、能很快的找到并维护存储过程,我们按存储过程的作用将系统的存储过程进行以下的分类及命名:(以下示例假设存储过程所在的模块名为ORG)作用第一前缀第二前缀名(示例)用于新增的存储过程PR_ORG_ADD_EMPLOYEE用于修改的存储过程PR_ORG_UPD_EMPLOYEE用于删除的存储过程PR_ORG_DEL_EMPLOYEE用于单据查询的存储过程PR_ORG_QUERY_EMPLOYEE用于报表统计的存储过程PR_ORG_RPT_STATSEMPLOYEE用于一些特殊过程处理的存储过程PR_ORG_OTH_SETSYSTEMMESSAGE(注:在Oracle中应将存储过程进行分类,按照分类建

12、立不同的PACKAGE,存储过程要从属于某一个PACKAGE。)3) 如果系统中的存储过程只有一级,则遵照以上规则命名,如果存在多级,则需要区分其属于哪一级,具体为“PR+所属的级次+_+后面的部分”表明:其调用了第(所属级次-1)级的存储过程例如:1. PR1_ORG_ADD_SUBJECT(没有调用其它存储过程)2. PR2_ORG_UPD_SUBJECT(调用了第1级的存储过程)3. PR3_ORG_QUERY_SUBJECT(调用了第2级的存储过程)2.2设计规范在存储过程中必须说明以下内容:1) 目的:说明此存储过程的作用。2) 作者:首次创建此存储过程的人的姓名。3) 创建日期:创

13、建存储过程时的日期。4) 修改记录:修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:log1,log2,log3,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。5) 对存储过程各参数及变量的中文注解。示例如下:/*目的:根据部门与物料和会计区间查询生产现场领料汇总报表作者:张三创建日期:-09-13*/*修改顺序号:log1修改者:李四修改日期:-09-14修改原因:(具体原因详细描述)*/CREATE PROCEDURE P

14、R_GETLMSSUMProductionType int=1, -生产类型(1-自制;-委外加工)DeptID int=0, -生产部门ItemID int=0, -物料StartDate datetime=2001-11-26, -会计区间开始日期EndDate datetime=2002-12-25, -会计区间截止日期AS/*log1 old-自制领料INSERT INTO #LMSDtsSELECT DEPTID FROM T_DEPT.end log1 old*/-log1 new-自制领料INSERT INTO #LMSDtsSELECT DEPTID FROM T_DEPT.-end log1 new3. 函数(Function)命名及设计规范3.1命名规范1) 函数的命名遵循以下命名

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号