ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:20.53KB ,
资源ID:7106718      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7106718.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库结构命名规范.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库结构命名规范.docx

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.主键(Prim

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

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

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

5、用其表义名或缩写形式。例如:A.如果有一个模块叫做 Bulletin 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,主键

7、数据一律采用 java程序或存储过程按照一定的规则生成,不允许采用自增长的数据,如 identity,sequences 等。如项目无特定需求,主键生成规则如下:主键采用字符型,长度为 18位 XXXXXX XXXXXXXXX XXX 前六位代表记录生成的年、月、日,如:Q71225 中间九位代表记录生成的时、分、秒、毫秒,如 122009337 后三位为生成的随机码,随机码采用 java.util.Random 生成。那么 2007年 12 月 26日 15 时 44分产生的数据记录,其主键应类似于0712*(注:主键生成的规则需抽象出具体方法放入底层架构中)4)系统中属于是业务范围内的编码

8、的列,其代表一定的业务信息,比如办件信息和单据的编号,这样的列建议命名为:业务含义+“_CODE”,其数据类型为 varchar,该列需加唯一索引。如:组织机构代码可命名为 CL_ORGAN_CODE。5)在命名表的列时,不要重复表名;例如,在名为 T_SYS_USER 的表中避免使用名为 CL_USERNAME 的列,应直接使用 CL_NAME。6)不要在列名中包含数据类型。7)不要使用“ID”作为列名。8)关联列命名以“CL_关联表的表义名(或缩写)_列名”构成。1.3设计规范 1)所有列在设计时,除以下数据类型 timestamp、image、datetime、smalldatetime

9、、uniqueidentifier、binary、sql_variant、varbinary外,必须有默认值。字符型的默认值为一个空字符值串;数值型的默认值为数值 0;逻辑型的默认值为数值0;其中:系统中所有逻辑型中数值 0表示为“假”;数值 1表示为“真”。datetime、smalldatetime类型的列没有默认值,必须为 NULL。当列定义为字符串型时建议使用varchar而不用 nvarchar。在 Oracle中,不建议使用 varchar,建议用 varchar2 或 char类型。2)尽量遵守第三范式的标准(3NF)A.表内的每一个值只能表达一次;B.表内的每一行都应当被唯一的

10、标示;C.表内不应该存储依赖于其他键的非键信息;D.如果列事实上是与其它表的关键字相关联而未设计为外键引用,需建索引;E.如果列与其他表的列相关联,需建索引;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

12、 用于一些特殊过程处理的存储过程 PR_ORG_OTH_SETSYSTEMMESSAGE(注:在 Oracle中应将存储过程进行分类,按照分类建立不同的 PACKAGE,存储过程要从属于某一个 PACKAGE。)3)如果系统中的存储过程只有一级,则遵照以上规则命名,如果存在多级,则需要区分其属于哪一级,具体为“PR+所属的级次+_+后面的部分”表明:其调用了第(所属级次-1)级的存储过程 例如:1.PR1_ORG_ADD_SUBJECT(没有调用其它存储过程)2.PR2_ORG_UPD_SUBJECT(调用了第 1 级的存储过程)3.PR3_ORG_QUERY_SUBJECT(调用了第 2级的

13、存储过程)2.2设计规范 在存储过程中必须说明以下内容:1)目的:说明此存储过程的作用。2)作者:首次创建此存储过程的人的姓名。3)创建日期:创建存储过程时的日期。4)修改记录:修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:log1,log2,log3,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。5)对存储过程各参数及变量的中文注解。示例如下:/*目的:根据部门与物料和会计区间查询生产现场领料汇总报表 作者:张三 创建日期

14、:-09-13*/*修改顺序号:log1 修改者:李四 修改日期:-09-14 修改原因:(具体原因详细描述)*/CREATE PROCEDURE PR_GETLMSSUM ProductionType int=1,-生产类型(1-自制;-委外加工)DeptID int=0,-生产部门 ItemID int=0,-物料 StartDate datetime=2001-11-26,-会计区间开始日期 EndDate datetime=2002-12-25,-会计区间截止日期 AS/*log1 old-自制领料 INSERT INTO#LMSDts SELECT DEPTID FROM T_DEP

15、T.end log1 old*/-log1 new-自制领料 INSERT INTO#LMSDts SELECT DEPTID FROM T_DEPT.-end log1 new 3.函数(Function)命名及设计规范 3.1命名规范 1)函数的命名遵循以下命名规范:“系统名_+FU_+系统模块缩写(与表前缀类似)+_+功能标识+代表函数操作的主要表义名或功能的英文单词或英文单词缩写”,长度不能超过 30个字符。2)如果一个函数只对一个表进行操作,建议函数名就用函数所操作的表的表义名。这样有利于根据表名找到相应的函数。为了在众多的函数中能很快的找到并维护函数,我们按函数的作用将系统的函数进

16、行以下的分类及命名:(以下示例假设函数所在的模块名为 ORG)作用第一前缀第二前缀名(功能标识)示例 用于新增的函数 FU_ORG_ADD_EMPLOYEE 用于修改的函数 FU_ORG_UPD_EMPLOYEE 用于删除的函数 FU_ORG_DEL_EMPLOYEE 用于单据查询的函数 FU_ORG_QUERY_EMPLOYEE 用于报表统计的函数 FU_ORG_RPT_STATSEMPLOYEE 用于一些特殊过程处理的函数 PR_ORG_OTH_SETSYSTEMMESSAGE 3)如果系统中的函数只有一级,则遵照以上规则命名,如果存在多级,则需要区分其属于哪一级,具体为“FU+所属的级次

17、+_+后面的部分”表明:其调用了第(所属级次-1)级的函数。例如:1.FU1_ORG_ADD_SUBJECT(没有调用其他函数)2.FU2_ORG_UPD_SUBJECT(调用了第 1 级的函数)3.FU3_ORG_QUERY_SUBJECT(调用了第 2级的函数)3.2设计规范 在存储过程中必须说明以下内容:1)目的:说明此函数的作用。2)作者:首次创建此函数的人的姓名。3)创建日期:创建函数时的日期。4)修改记录:修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:

18、log1,log2,log3,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。5)对函数各参数及变量的中文注解。示例如下:/*目的:查询生成现场领料汇总报表 作者:张三 创建日期:-09-13*/*修改顺序号:log1 修改者:李四 修改日期:-09-14 修改原因:(具体原因详细描述)*/CREATE FUNCTION FU_GETLMSSUM ProductionType int=1,-生产类型(1-自制;-委外加工)DeptID int=0,-生产部门 ItemID int=0,-物料 StartDate datetime=2001-11-26,-会

19、计区间开始日期 EndDate datetime=2002-12-25,-会计区间截止日期 AS/*log1 old-自制领料 INSERT INTO#LMSDts SELECT DEPTID FROM T_DEPT.end log1 old*/-log1 new-自制领料 INSERT INTO#LMSDts SELECT DEPTID FROM T_DEPT.-end log1 new 4.视图(View)命名及设计规范 4.1命名规范 1)视图的命名遵循以下命名规范:“系统名_+V_+系统模块缩写(与表前缀相似)+_+功能标识+代表视图查询的主要表名(不要带前缀)或功能的英文单词或英文单

20、词缩写”,长度不能超过 30 个字符。2)如果一个视图只对一个表进行查询,建议视图名就用视图查询的表的名(不带前缀)。这样有利于根据表名找到相应的视图,为了在众多的视图中能很快的找到并维护视图,我们按其作用系统的视图进行以下的分类及命名:(以下示例假设视图所在的模块名为 ORG)作用第一前缀第二前缀名(功能标识)示例 用于单据查询的视图 V_ORG_QUERY_EMPLOYEE 用于报表统计的视图 V_ORG_RPT_STATSEMPLOYEE 用于一些特殊过程处理的视图 V_ORG_OTH_SETSYSTEMMESSAGE 3)如果系统中的视图只有一级,则遵照以上规则命名,如果存在多级,则需

21、要区分其属于哪一级,具体为“V+所属的级次+_+后面的部分”表明:其调用了第(所属级次-1)级的视图。例如:1.V1_ORG_ADD_SUBJECT(没有调用其他视图)2.V2_ORG_UPD_SUBJECT(调用了第 1级的视图)3.V3_ORG_QUERY_SUBJECT(调用了第 2 级的视图)4.2设计规范 在视图中必须说明以下内容:1)目的:说明此视图的作用。2)作者:首次创建此视图的人的姓名。3)创建日期:创建视图时的日期。4)修改记录:修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加

22、正确的代码。修改顺序号的形式为:log1,log2,log3,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。5)对视图各参数及变量的中文注解。示例如下:/*目的:查询本月所要培训的科目 作者:张三 创建日期:-09-13*/*log1 old CREATE VIEW V_ADD_SUBJECT AS SELECT SUBJECTCODE AS 课程编号 FROM T_SUBJECT.end log1 old*/*修改顺序号:log1 修改者:李四 修改日期:-09-14 修改原因:学员不需要培训,将不需要培训的课程去掉。*/-log1 new CREAT

23、E VIEW V_ADD_SUBJECT AS SELECT SUBJECTCODE AS 课程编号 FROM T_SUBJECT.-end log1 new 5.触发器(Trigger)命名及设计规范 5.1命名规范 触发器命名遵循如下规范:“系统名_+TR_+表义名(不能带前缀)+_+触发类型简写”,触发器名需大写。Insert触发器加_INS;Update触发器加_UPD;Delete触发器加_DEL。如:T_SYS_USER 表的 Insert触发器为 TR_SYS_USER_INS。5.2设计规范 在触发器中必须说明以下内容:1)目的:说明此触发器的作用。2)创建者:首次此触发器的创

24、建人的姓名。3)修改记录:修改记录需包含修改顺序号、修改者、修改日期、修改原因,修改时不能直接在原来的代码上修改,也不能删除原来的代码,只能先将原来的代码注释掉,再重新增加正确的代码。修改顺序号的形式为:log1,log2,log3,根据修改次数顺序增加,同时在注释掉的原来的代码块和新增的正确代码块前后注明修改顺序号。4)对其中各参数及变量的中文注解。示例如下:/*目的:删除 TR_SYS_A 表中关联的记录 作者:张三 创建日期:-09-13*/*log1 old CREATE TRIGGER TR_SYS_A ON T_SYS_A FOR DELETE AS IF ROWCOUNT=0-n

25、o rows deleted RETURN DELETE T_SYS_B FROM T_SYS_B b,deleted d WHERE b.id=d.id IF ERROR!=0 BEGIN RAISERROR(Error occurred deleting related records,16,1)ROLLBACK TRAN END end log1 old*/*修改顺序号:log1 修改者:李四 修改日期:-09-14 修改原因:(具体原因详细描述)*/-log1 new CREATE TRIGGER TR_SYS_A ON T_SYS_A FOR DELETE AS IF ROWCOUN

26、T=0-no rows deleted RETURN.-end log1 new 6.主键(Primary Key)命名规范 1)任何表都必须定义主键 2)表主键命名格式“PK_该主键所在的表义名(不带前缀)_主键标识”。主键名长度不能超过 30个字符。如果过长,可对表名进行缩写。缩写规则同表名的缩写规则。主键名用大写的英文单词来表示。7.外键(Foreign Key)命名规范 外键命名格式为“FK_该外键所在的表义名_对应的主表义名(不含前缀)_外键标识”。子表义名和父表义名自己用下划线(_)分隔。外键名长度不能超过 30 个字符。如果过长,可对表义名进行缩写。缩写规则同表名的缩写规则一样。外键名用大写的英文单词来表示。8.索引(Index)命名规范 1)索引名用大写的英文字母和数字表示。索引名的长度不能超过 30 个字符。2)主键对应的索引和主键同名。3)每类索引都用_结束。4)唯一性索引用 UNI_开头,后面跟表名(不含前缀),一般性索引用 IND_开头,后面跟表义名(不含前缀)。5)如果索引长度过长,可对表义名进行缩写。缩写规则同表名的缩写规则。9.约束(Check、Constraint)命名规范 约束的命名格式一般为:CHK_表义名_约束标识。(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1