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

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

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