惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
IT之家
IT之家
月光博客
月光博客
U
Unit 42
K
Kaspersky official blog
T
Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
Engineering at Meta
Engineering at Meta
Recorded Future
Recorded Future
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Schneier on Security
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog RSS Feed
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
爱范儿
爱范儿
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
C
Cisco Blogs
Spread Privacy
Spread Privacy
F
Full Disclosure
博客园 - 聂微东
T
The Blog of Author Tim Ferriss

博客园 - Elliott.Dong

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法 - Elliott.Dong - 博客园 虚拟目录继承根Web.Config的问题解决(转) - Elliott.Dong - 博客园 【转】Windows7下IIS7.5的伪静态URL Rewrite安装配置和案例综合 win7下添加microsoft loopback adapter实现xp mode网络共享 sql server 2000日志文件收缩 jquery-autocomplete 参数说明 【转】启用Visual Studio 对jQuery的智能感知 - Elliott.Dong .net Remoting与Web Service的比较 VmWare虚拟机增加硬盘容量 转:sql server 2008收缩数据库日志 格式字符替换 - Elliott.Dong - 博客园 DataView 的 Distinct 功能 Windows 7中使用USB KEY 解决XP下不能识别USB鼠标问题 Silverlight 2 开发环境【转】 oracle trunc()函数的用法 处理Flex 页面的后退/前进/刷新/关闭事件 [备忘]Visual Studio常用小技巧 VS.Net中的快捷键技巧
数据库命名与注释规范
Elliott.Dong · 2011-08-22 · via 博客园 - Elliott.Dong

代码注释规范

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) 参照列名规则