大话数据库编程规范 前言目前在软件圈内有这么一个现象,就是:DBA 不太懂写PL/SQL ,而开发人员写的又是五花八门,而且效率不高。如此以来,造成诸多弊端:1. 可读性差。读别人写的一个程序花费的时间,比自己写一个程序的花费时间还要长;非但别人看不懂,时间久了连自己也看不懂了。2. 可维护性差。程序越写越长,越改越烂,像懒婆娘的裹脚布,又臭又长。3. 可移植性差。今天用oracle 写一套,明天换成SQLServer 的时候再写一套,众多的数据库开发人员在程序的苦海中重复着低级劳动……4. 效率和性能差。一个存储过程或SQL 执行效率简直可以让你感觉到对时间的绝望,你很快就理解什么是相对论了。 编程规范概述 事实上为了统一软件开发过程中关于数据库设计时的命名规范和编程规范,正规一些的IT 公司都会制定一些关于数据库对象的命名和编程规范。否则的话,你写你的我写我的,各自为战不兼容,彼此看不懂,甚至到最后连自己都弄不明白了,这样的经历相信每个人都曾经遇到过。例如下面这段简单的代码,您看的明白吗?就算暂时明白,过个一年半载您还明白吗?就算您记忆超群,想必也会忘记,不是么?A:=1;b:=2;SeLeCTusernamefromEmPLOyeewhereid=aaNdType=b;如果你改为下面这样的写法,相信稍微懂点数据库的人都应该看的明白不是?vID:=1; --A 为IDvType=2; --B 为类型SELECTusernameFROMemployeeWHEREid=vIDANDtype=vType; 书写规范丑陋的书写规范不仅可读性较差,而且给人以敬而远之的感觉,就是您是大侠也不行啊;而良好的书写规范则给人以享受和艺术的体验。 大小写风格规则所有数据库关键字和保留字均使用大写;关于字段、 详细介绍。 缩进风格规则 程序块严格采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4 个。必须使用空格,不允许使用TAB 键。以免用不同的编辑器阅读程序时,因TAB 键所设置的空格数目不同而造成程序布局不整齐。规则同一条语句需要占用多于一行时,每行的其它关键字与第一行的关键字进行右对齐。IFflag=1THEN SELECTusername -- 同上一行相比缩进4 个空格 INTOvuserinfo --INTO 与SELECT 进行右对齐 FROMuserinfo --FROM 与SELECT 进行右对齐 WHEREuserid=:iuserid; --WHERE 与SELECT 进行右对齐ENDIF; 空格及换行规则不允许把多个语句写在一行中,即一行只写一条语句。规则避免将复杂的SQL 语句写到同一行,建议要在关键字和谓词处换行。规则相对独立的程序块之间必须加空行。BEGIN 、END 独立成行规则太长的表达式应在低优先级操作符处换行,操作符或关键字放在新行之首。划分出新行应当适当地缩进,使排版整齐,语句可读。不同类型的操作符混合使用时,建议使用括号进行隔离,以使代码清晰。规则减少控制语句的检查次数,如在 IF…ELSE 控制语句中,对最常用符合条件,尽量前置以被检查到。DECLARE -- 定义局部变量 vFlagVARCHAR2(10); -- 判断标志 …BEGIN IF((a=bANDa=cANDa=d)OR -- 在OR 处断行,可使得逻辑更为清晰 (a=eANDe=f))THEN--Processsomething IFvFlag=1THEN --vFlag=1 为经常出现之条件,可有效减少判断检查次数--Processsomething ELSIFvFlag=2THEN --vFlag=2 为次之出现的条件--Processsomething ELSE --Processsomething ENDIF; 其它规则 避免使用SELECT* 语句;不要用* 来代替所有字段,应给出字段列表,以避免表结构发生变化时应用程序出现无法识别的情况。规则 INSERT 语句必须给出字段列表,以避免表结构发生变化时发生编译错误。规则 当一个PL/SQL 或SQL 语句中涉及到多个表时,始终使用别名来限定表名和字段名,这使其它人阅读起来更方便,避免了含义模糊的引用,并能够别名中清晰地判断出表名和相关字段名。规则 确保变量和参数在类型和长度与表数据列类型和长度相匹配。说明:如果与表数据列宽度不匹配,则
大话数据库编程标准 来自淘豆网m.daumloan.com转载请标明出处.