数据库编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
命名和注释规范
1.数据库涉及字符规范
采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。
2.数据库对象命名规范
数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。
在SYBASE ASE下,对象名区分大小写,统一使用大写,其他数据库按照本规范。
前缀:使用小写字母
字典表d_
视图view
存储过程proc
函数func
实际名字:实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。如
视图User_List
存储过程User_Delete
因此,合法的对象名字类似如下。
视图view_Message_List
存储过程proc_Message_Add
3.视图命名规范
我们约定,字段由前缀和实际名字组成,中间用下划线连接。
前缀:使用小写字母view,表示视图。
因此,合法的视图名类似如下。
view_User
view_UserInfo
4.存储过程命名规范
我们约定,过程由前缀和实际名字加操作名字组成,中间用下划线连接。前缀:使用小写字母proc,表示存储过程。
操作名字:Insert|Delelte|Update|Caculate|Confirm|Init
例如:
proc_User_Insert
5.存储过程设计注释规范
注释大致格式如下:
CREATE OR REPLACE PROCEDURE proc_xxxx_xxxx ()
IS(或AS)
/**************************************************
* 存储过程名:proc_xxxx_xxxx
* 作者:Yezi(叶子)
* 日期:2004-12-17
* 版本: 1.0
* 描述:保存用户资料
* 入口参数:
* 出口参数:
* 具体流程:
* 变更过程及变更内容描述:
*************************************************/
6.sql语句规范
所有sql关键词全部大写,比如SELECT,UPDATE,FROM,ORDER,BY等。
7.索引命名规范
索引名由前缀和实际名字组成,中间用下划线连接。
普通索引前缀:使用小写字母idx。
位图索引前缀:idx_map_
8.临时表、临时索引命名规范
临时表用表空间:tablespace_name
CREATE TABLE table_name TABLESPACE tablespace_name AS (SELECT * FROM table_name) ;
CREATE TABLE table_name (column_name) TABLESPACE tablespace_name;
CREATE INDEX index_name ON TABLE (column_name) TABLESPACE
tablespace_name ;
9.注释规范
处理过程注释:
在sql语句的上方说明,格式如下:
/*注释*/
EXECUTE IMMEDIT “SELECT COUNT(1) FROM tab1; ”
变量注释:
在变量后面说明变量的用途,格式如下:
var_workdate V ARCHAR2 (10); /*当日日期*/
过程规范
1、过程检查规范
开发人员在提交存储过程前,必须已经使用SET SHOWPLAN ON分析过查询计划,做过自身的查询优化检查。在pl/sql下用F5检查sql的执行计划
SQL的使用规范:
1、尽量避免反复访问同一张或几张表,尤其是数据量较大的表,可以
考虑先根据条件提取数据到临时表中,然后再做连接。
2、尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超
过1万行,那么就应该改写;如果使用了游标,就要尽量避免在游标循
环中再进行表连接的操作。
3、注意WHERE字句写法,必须考虑语句顺序,应该根据索引顺序、
范围大小来确定条件子句的前后顺序,尽可能的让字段顺序与索引顺序
相一致,范围从大到小。
4、不要在WHERE子句中的“=”左边进行函数、算术运算或其他表达
式运算,否则系统将可能无法正确使用索引。
5、尽量使用exists代替SELECT COUNT(1)来判断是否存在记录,
COUNT函数只有在统计表中所有行数时使用,而且COUNT(1)比
COUNT(*)更有效率。
6、尽量使用“>=”,不要使用“>”。
7、注意一些OR子句和UNION子句之间的替换
8、注意表之间连接的数据类型,避免不同类型数据之间的连接。
9、注意存储过程中参数和数据类型的关系。
10、注意INSERT、UPDATE操作的数据量,防止与其他应用冲突。如果
数据量超过200个数据页面(400k),那么系统将会进行锁升级,页级
锁会升级成表级锁。
索引的使用规范:
1、索引的创建要与应用结合考虑,建议大的OLTP表不要超过6个索引。
2、尽可能的使用索引字段作为查询条件,尤其是聚簇索引,必要时可以通
过INDEX index_name来强制指定索引
3、避免对大表查询时进行table scan,必要时考虑新建索引。
4、在使用索引字段作为条件时,如果该索引是联合索引,那么必须使用到