数据库命名规范(参考.doc_第1页
数据库命名规范(参考.doc_第2页
数据库命名规范(参考.doc_第3页
数据库命名规范(参考.doc_第4页
数据库命名规范(参考.doc_第5页
全文预览已结束

下载本文档

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

文档简介

数据文件命名采用系统名+_+文件类型,比如系统名为kupage,则数据库文件命名为kupage_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为kupage_database.mdf,kupage_log.log。文件名全部采用小写。1. 实体(表)的命名1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组我成4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加上下划线。举例:定义的缩写 Sales: Sal 销售;Order: Ord 订单;Detail: Dtl 明细;则销售订单明细表命名为:Sal_Ord_Dtl;2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。举例:定义的缩写 Material Ma 物品;物品表名为:Material, 而不是 Ma.但是字段物品编码则是:Ma_ID;而不是Material_ID3) 所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在数据库最后。4) 所有的冗余类的命名(主要是累计表)前面加上前缀X冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表5) 关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。关联表用于保存多对多关系。如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,建议都使用缩写。举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;表 Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp2. 属性(列)的命名1) 采用有意义的列名,表内的列要针对键采用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID。2) 所有的属性加上有关类型的后缀,注意,如果还需要其它的后缀,都放在类型后缀之前。注: 数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以不写类型后缀。3) 采用前缀命名给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。3. 视图的命名1) 视图以V作为前缀,其他命名规则和表的命名类似;2) 命名应尽量体现各视图的功能。4. 触发器的命名触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加_I,Delete触发器加_D,Update触发器加_U,如: TR_Customer_I,TR_Customer_D,TR_Customer_U。5. 存储过程名存储过程应以UP_开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储过程为UP_Ins_Agent_Account。6. 变量名变量名采用小写,若属于词组形式,用下划线分隔每个单词,如my_err_no。7. 命名中其他注意事项1) 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符)。2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格。3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。8. SQL语句的编写规范 数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下: 关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、 END . 8.1 Rule ru+Rule标识 8.2 主键 pk+表名+主键标识 8.3 外键 fk+表名+主表名+外键标识 8.4 索引 idx+字段标识 8.5 Default df+Default标识 9 编程结构和描述 SQL SERVER系统中,一个批处理是从客户传给服务器的一个完整的包,可以包含若干条SQL语句。批处理中的语句是作为一组去进行语法分析、编译和执行的。触发器、存储过程等数据对象则是将批处理永久化的方法。 9.1注释 注释可以包含在批处理中。在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性。本规范建议: 1、注释以英文为主。 实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用。为避免后续版本执行过程中发生某些异常错误,建议使用英文注释。 2、注释尽可能详细、全面。 创建每一数据对象前,应具体描述该对象的功能和用途。 传入参数的含义应该有所说明。如果取值范围确定,也应该一并说明。取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。 3、注释语法包含两种情况:单行注释、多行注释 单行注释:注释前有两个连字符(-),最后以行尾序列(CR-LF)结束。一般,对变量、条件子句可以采用该类注释。 多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。 4、注释简洁,同时应描述清晰。 9.2函数注释: 编写函数文本-如触发器、存储过程以及其他数据对象-时,必须为每个函数增加适当注释。该注释以多行注释为主,主要结构如下: /* * 存储过程:读取用户所分配的操作模块及具体权限 * 编 制 者 :saiko * 修 改 人 : * 编制日期:2004.11.27 * 输入参数:共有2个参数 * cUserNo:用户编号 * cUserPassword:验证密码 * 输出参数:eResult 1. 成功= 销售0001 2. 失败 =Null 3.与 eResult 无关 输出是记录集 * 调用例子:declare eResult varchar(50)exec uChkUserPerm 0755 ,123456, 销售 * 说 明: * */ CREATE PROCEDURE spoxxx 9.3条件执行语句ifelse 条件语句块(statenemt block,以 beginend为边界)仅在if子句的条件为真时才被执行。为提高代码的可读性,建议嵌套不多于5层。还有,当嵌套层次太多时,应该考虑是否可以使用case语句。 9.4重复执行while和跳转语句goto 需要多次执行的语句,可以使用while结构。其中,控制while循环的条件在任何处理开始之前需要先执行一次。循环体中的保留字break无条件的退出while循环,然后继续处理后续语句;保留字continue重新计算while条件,如果条件为真,则从循环开始处重新执行各语句。 使用跳转语句goto和标签label也可以方便地实现循环和其他更灵活的操作。SQL SERVER仅具有单通道语法分析器,因此不能解析对尚未创建的对象所做的前向参考。换言之,跳转到某标签的后续语句应该是可执行的(如不存在可能尚未创建的数据对象)。 9.5书写格式 数据库服务器端的触发器和存储过程是一类特殊的文本,为方便开发和维护,提高代码的易读性和可维护性。规范建议按照分级缩进格式编写该文本。 顺序执行的各命令位于同一级;条件语句块(statenemt block,以 beginend为边界)位于下一级,类推。 SQL语句是该文本的主体。为适应某些教复杂的用户需求,SQL语句可能比较庞大。为方便阅读和维护,规范建议按照SQL语句中系统保留字的关键程度再划分为三级。具体分级请参照下表。其中,非系统保留字(如字段名、数据表名、标点符号)相对本级保留字再缩进一级。多个连续的非保留字可以分行书写,也可以写在同一行。当WHERE包含的条件子句教复杂时,应该每行只写一个条件分句,并为重要的条件字句填写单行注释。 在保证基本缩进格式的前提下,可以通过对齐某些重要关键字(如条件关键字AND、OR,符号 = 、 等)来进一步提高文本的易读性和可维护性。 相邻两级的缩进量为10个空格。这也是ISQL编辑器默认的文本缩进量。另外,在ISQL编辑器中,一个TAB键也相当于10个空格。 注:按照功能,四类SQL语句(SELECT、INSERT、UPDATE、DELETE)的关键字可以划分为三类:主关键字、次关键字、一般关键字。如下表所示: 主关键字次关键字一般关键字 SELECTINSERT (INTO)UPDATEDELETE FROMWHEREVALUESINSER

温馨提示

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

评论

0/150

提交评论