数据库命名与注释规范

代码注释规范

1 代码头部注释

在SQL代码块(sql文件或存储过程)的头部进行注释,标注创建人(Author)、创始日期(Create date)、修改信息(Modify [n])。

格式:

-- =============================================

-- Author:      <Author,,Name>

-- Create date: <Create Date,,>

-- Description: <Description,,>

-- Modify [n]:  < Modifier,Date, Description >

-- =============================================

示例:

-- ================================================

-- Author:      Zhanghaifeng

-- Create date: 2006-12-25

-- Description: H2000报关单回执处理

-- Modify [1]:  郑佐, 2006-12-31, 简化逻辑判断流程

-- Modify [2]:  郑佐, 2007-01-20, 更新条件判断

-- ================================================

注:日期格式使用 yyyy-MM-dd。Modify [n] n代表修改序号,从1开始,每次修改加1。

2. TRANSACTION注释

建议在每个事务的开头进行注释,说明该事务的功能。

-- < Modifier,Date, Description >

BEGIN TRANSACTION;

 

一、数据库命名规则

数据库命名规则取决于数据库兼容的级别。

MS SQL数据库版本和兼容级别对照表: 

MS SQL数据库版本兼容级别
不知60
不知65
MS SQL 7.070
MS SQL 200080
MS SQL 200590
MS SQL 2008100

备注:数据库级别可以使用存储过程“sp_dbcmptlevel”来修改。

这里以兼容级别90为例来说明数据库的命名规则: 
step1 名称长度不能超过128个字符,本地临时表的名称不能超过116个字符。

step2 名称字符由英文字母组成,采用Pascal命名法。比如NorthWind。

step3 名称中间不允许有空格或其它特殊字符。

step4 名称不能是保留字,也不能是变量或局部对象的表示符号(具体参考变量命名部分)。

 

二、T-SQL书写规范

  1. “@”表示局部变量;“@@”表示全局变量;“##”表示全局临时对象;
  2. 自定义存储过程:“pr_”+Pascal命名的英文字符,系统存储过程:“sp_“+全部小写的英文字符
  3. 视图:“vw_”+Pascal命名的英文字符
  4. 表:“tb_”+Pascal命名的英文字符
  5. 触发器:“trg_”+Pascal命名的英文字符+“_”+“功能描述”。比如:trg_Product_Insert
  6. 游标:“crs_”+Pascal命名的英文字符

 

良好的命名习惯是一种美德,下面是个人整理的数据库命名规范:

 

数据库命名规范:
 1. 数据库名: 
        1.1)用产品或项目的名字命名;
        1.2)Pascal Case,如AdventureWork; 
        1.3)避免使用特殊字符,如数字,下划线,空格之类;
        1.4)避免使用缩写
 
2. 表名
        2.1)使用复数,Pascal Case,而复数只加在最后一个单词上如:Products,Users,UserRoles
        2.2)避免使用特殊字符,如数字,下划线,空格之类;
        2.3)避免使用缩写
 
3. 列名
        3.1) 使用Pascal Case
        3.2) 避免和表名重复,避免数据类型前缀如: Int
        3.3) 避免使用缩写或者特殊字符

 
4. 存储过程
        4.1)用动词加表名描述操作类型
        4.2)使用前缀:sp+{“Insert”, “Update”, “Delete”, “Get”, “Validate”,...}

 
5.  视图
            5.1)参考表名规则
            5.2)用"vw"做前缀

 
6. 触发器
            6.1)使用"trg"前缀
            6.2) 使用操作类型+表名,如:trg_ProductsInsert

 
7. 索引
            7.1)使用格式如:idx_{表名}_{索引列名}_{Unique/NonUnique}_{Cluster/NonCluster}

 
8. 主键
          8.1) 使用格式如:pk_{表名}_{主键列名}

 
9. 外键
          9.1) 使用格式如:fk_{主表名}_{主表的列名}_{引用表名}_{引用表的列名}
 
10. default
      10.1) 使用格式如:df_{表名}_{列名}

 
11. 约束
      11.1) 使用格式如:ck_{表名}_{列名}

 
12. 变量
      12.1) 参照列名规则 

 

posted @ 2011-08-22 16:47  Elliott.Dong  阅读(2951)  评论(0编辑  收藏  举报