欢迎来到天天文库
浏览记录
ID:39468452
大小:82.00 KB
页数:14页
时间:2019-07-04
《SQL命名编码规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.引言12.命名规范12.1基本命名规则12.2定制对象命名规则22.3变量命名规则23.程序书写规范43.1大小写风格:43.2注释风格:43.3缩进规则:63.4其他73.5例子74.SQL优化规则94.1索引的使用原则94.2其他111.引言本规范用于说明在利用PL/SQL开发Oracle数据库后台应用程序时,应遵守的某些原则。本规范的制定主要出于以下几方面的考虑:ü效率ü可读性ü可维护性ü规范性规范中未做声明的内容,以满足开发总则为准。2.命名规范2.1基本命名规则本规范中采用的命名规则,基本模式为:前缀_描述其中前缀根据定制对象,变量类型的不同而变化。描述的命名规
2、则为:信息结构通则命名规则与字母标识符命名两者相结合(1)与表中字段相对应的变量命名采取代码方式,以与字段命名相对应(2)其余用有意义的字母标识符(如:拼音——各个字汉语拼音首字母联结成的字符串,对只有两个字符的,采用名称全拼)2.2定制对象命名规则如表2-1所示前缀定制对象举例说明pkg程序包个人帐户pkg_grzhprc过程生成个人帐户prc_scgrzhfun函数确定缴费比例fun_qdjfblind索引ind_grzhtri触发器tri_grcbzlvi视图vi_seq序列发生器seq_pk主键fk外键syn同义词dlkDBLINKsnp快照表2-1定制对象命名规则2
3、.3变量命名规则变量命名规则中前缀由两部分组成:变量类型前缀+数据类型前缀变量类型前缀规则如下表2-2:前缀变量类型g全局变量def常量表2-2变量类型命名规则数据类型前缀命名规则如下表2-3:前缀数据类型binBinary_IntegerbBooleancChardDatelLonglobLOBnNumberdecDecimaldblDoubleiIntegerfFloatrRealplsPls_IntegerRec%ROWTYPErawRAWrowROWIDstrVarchar2curCURSORrecRecordtabTablerefcurREFCURSORu用户自定义
4、数据类型typTYPE自定义类型类型e异常(EXCEPTION)表2-3数据类型前缀命名规则例:声明一全局类数值型:gn_grsxh声明一局部类:str_name说明:对于未在上述数据类型中列出的其它数据类型(包括系统提供的数据类型),其数据类型前缀的命名必须不与表3-4中的前缀重名,它们的前缀命名规则是未规定的。3.程序书写规范3.1大小写风格:类型约定举例保留字大写BEGIN、DECLARE、ELSIF内置函数大写SUBSTR、COUNT、TO_NUMBER预定义类型大写NUMBER(7,2)、BOOLEANSQL关键字大写SELECT、INTO、WHERE数据库对象小写
5、abc007、ac021变量名小写gn_dwhrbl表3-1大小写书写规范3.2注释风格:注释总是加在程序的需要一个概括性说明或不易理解或易理解错的地方。注释应语言简炼、易懂而又准确。3.2.1源代码文件的注释(1)在文件的头部必须标明程序名称,它所完成的主要功能。(2)文件的作者,及完成时间。(3)文件的状态:测试/未测试。(4)主要修改活动的修改人、时间、简单原因说明列表、版本号。(5)维护过程中需要修改程序时,应在被修改语句前面注明修改时间和原因说明。例:REM文件名:REM功能描述:REM状态:REM作者:REM完成时间:REM修改:时间版本号修改人修改原因3.2.2
6、包、过程、函数的注释(1)头部必须进行功能和参数说明;(2)主体部分,如算法复杂时,应以注释的方式对其算法结构作出说明;3.2.3语句的注释注释单独成行、放在语句前面。(1)应对不易理解的分支条件表达式加注释;(2)不易理解的循环,应说明出口条件(有GOTO的程序还应说明入口条件);(1)对重要的计算应说明其功能;(2)过长的函数实现,应将其语句按实现的功能分段加以概括性说明;(3)供别的文件或函数调用的函数,绝不应使用全局变量交换数据;(4)每条SQL语句均应有注释说明(表名、字段名)。例:SELECTabc007,abc008,abc009,--上年计入金额,本年计入金额
7、,本年缴费月数abc010,abc011,--年度、本年缴费基数、abc012,abc013--本年帐户支付累计金额、本年统筹支付金额INTOln_abc007,ln_abc008,ln_abc009,ln_abc010,ln_abc011,ln_abc012,ln_abc013FROMab003--个人帐户WHEREabc001=ivc_shbzh--ANDabd004=...;--UPDATEab003--SETabc004=ln_abc004,--abc005=ln_abc005,--...WHE
此文档下载收益归作者所有