数据库编程规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库编程规范
版
合肥
版本历史
状态版本作者参与人起止日期备注草稿2011-4-26 ~ 2011-4-28
目录
数据库编程规范 (1)
合肥 (1)
版本历史 (2)
目录 (3)
第一部分概述 (5)
1.1文档目的 (5)
1.2文档范围 (5)
1.3术语定义 (5)
1.4参考文献 (5)
第二部分对象命名规则 (6)
2 (6)
2.1通用规则 (6)
2.2数据库 (6)
2.3数据库文件 (6)
2.4表 (6)
2.5属性(列或字段) (7)
2.6主键 (7)
2.7外键 (7)
2.8索引 (8)
2.9Default标识 (8)
2.10Rule标识 (8)
2.11自定义数据类型 (8)
2.12触发器 (8)
2.13视图 (8)
2.14存储过程 (8)
2.15函数 (9)
2.16变量名 (9)
2.17角色 (9)
2.18用户 (9)
2.19命名中的其它注意事项 (9)
第三部分编程规范 (10)
3 (10)
3.1一般性注释 (10)
3.2函数头注释 (11)
3.3大小写约定 (11)
3.4代码缩进约定 (11)
3.5多表连接约定 (11)
3.6常用SQL 语句的编写规范 (12)
3.6.1CREATE 语句 (12)
3.6.2SELECT语句 (12)
3.6.3INSERT语句 (12)
3.6.4UPDATE语句 (13)
3.6.5DELETE语句 (13)
3.7条件执行语句(IF)编写规范 (13)
3.7.1条件选择语句(CASE)编写规范 (13)
3.7.2循环执行语句(WHILE)编写规范 (14)
第四部分查询优化 (15)
4 (15)
4.1查询速度慢的原因 (15)
4.2优化查询方法 (15)
第一部分概述
1.1 文档目的
本文档的编写目的是为了项目开发人员在使用数据库的过程中,使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。遵守数据库编码规范是提高数据库性能最基本的也是最重要的途径。
1.2 文档范围
本文档适用于合肥公司范围内所有数据库应用系统和项目开发工作。
1.3 术语定义
缩写、术语解释
Database或DB 数据库系统
ORG合肥
1.4 参考文献
《Microsoft SQL Server 2005 联机丛书》
《T-SQL 编码标准》
《编写可移植的 Transact-SQL 代码》
第二部分对象命名规则
2.1 通用规则
Pascal规则
每个单词的首字母大写。
如:TestEmployee。
Camel规则
除了第一个单词外的其他单词的首字母大写。
如:testEmployee。
Upper规则
仅用于被广泛认可的缩写命名。
一般不超过四个字符,超过四个字符长度应该使用Pascal规则,如:OLAP、PIN。
2.2 数据库
数据库名定义为系统名_模块名,如”crm_customer”,表示CRM系统的Customer模块数据库。数据库名全部采用小写。
2.3 数据库文件
数据文件命名采用数据库名+_+文件类型+[文件序号]+文件后缀,[文件序号]为1、2、…、9等数值,当数据库中某一文件类型的文件有多个时加上文件序号加以区别。只有一个时可以不加。
文件后缀:主数据文件为.mdf,其它数据文件为.ndf,日志文件为.ldf。
文件名全部采用小写。
比如系统名为“crm_customer”,则数据库数据文件命名为“”,日志文件命名为“”。2.4 表
表命名要遵循以下原则:
➢规范要求使用表义名,不使用任何前缀。但考虑到有可能存在表重名的问题,建议公司的项目数据库表命名采用“ORG_”作为前缀。以示区分。
➢整个表名的长度不要超过30 个字符。
➢表义名尽量以英文命名,也可使用汉语拼音的首字符命名。表义名中汉语拼音均采用小写,且字符间不加分割符;单词命名的表义名采用名词性质的单词,各单词的首字符大写,其它字符小写。多个单词间不加任何分割符,如果整个单词太长,则使用完整的第一音节或经过仔细选择的缩写词。名词全部采用单数形式。
➢表别名取表义名(不含前缀)的前3个字符加最后一个字符。
➢如果存在冲突,适当增加字符(如取表义名的前4 个字符加最后一个字符等)。
➢关联表命名为“ZD_Re_表A_表B”形式,Re 是Relative的缩写,表A 和表B均采用其表义名或缩写形式。
2.5 属性(列或字段)
属性命名遵循以下原则:
➢采用有意义的列名,尽量使用英文,或有实际含义的汉语拼音的首字符,且字符间不加任何分割符。
➢如果字段为bool型,则使用"IsShow", "IsValid", "HasPassed", "HasExamined", "
IgnoreCase"这种形式表示。
➢属性名前不要加表名等作为前缀。
➢属性后不加任何类型标识作为后缀。
➢关联字段命名以“cd+_+关联表的表义名(或缩写)+_+字段名”进行。
2.6 主键
➢任何表都必须定义与业务无关的自增形式的键值,一律命名为ID。
➢表主键命名为“表名+ID”,如Customer表的主键命名为CustomerID。
2.7 外键
➢外键名称为主表名+对应列名,如:
➢在表Department中,其字段有:ID, DepartmentName
➢在表UserInfo中,其字段有:UserId,UserName,DepartmentsID
➢其中,DepartmentID为外键,参照Depertment表的ID字段。