我发现, 命名规则从MSDN,但它是从微软MSSQL数据库的任何指引?
Answer 1:
在SQL Server的使用的命名约定的AdventureWorks数据库证明无论在款式很多最佳实践。
总结:
- 对象名称容易理解
- 表名不使用复数(“用户”表中没有“用户”)
- 缩写毕竟是少数,但是允许(即数量,金额等)
- PascalCase某些列名的除外(即ROWGUID)专门用于
- 无下划线
- 某些关键字被允许(即名称)
- 存储过程前缀为“USP”
- 功能前缀为“UFN”
你可以在这里找到更多的细节:
- AdventureWorks的数据字典
- AdventureWorks中的存储过程
- AdventureWorks中的作用
有一点需要注意:数据库的命名规则可以是非常有争议的,我见过的最数据库开发人员在他们的风格的个人股份。 我已经在一个表是否应该被命名为“OrderHeader”或听说过激烈的争论“OrderHeaders。”
Answer 2:
没有,没有,但是在你提供的链接的做法是很好的记住。
对于命名的存储过程- 不以“sp_”前缀他们可以了解更多关于为什么在这个链接 :
“不要前缀以sp_存储过程,因为这个前缀保留用于识别系统的存储过程。”
Answer 3:
我不知道什么是“在风格方面的最佳实践”由@ 8KB的答案(在写作的时候)表示。 当然,一些列出的项目(“表名称不使用复数”,“无下划线”等)仅仅是款式选择这显然是主观的。 我本来以为的文档团队领导的个人喜好将是最大的因素在这里。
作为一般的SQL认为启发式(而不是专有的SQL,如T-SQL),只有一个书上的题目: 乔·塞科的SQL编程风格的选择与Celko的指导SQL Server的AdventureWorks数据库冲突。很多。
Celko的命名约定是基于国际标准ISO 11179如指定一个分隔字符(如下划线)应该被用于分隔名称的元素。 其他款式选择也同样备份同比研究例如使用列名专门小写字母,以便援助扫描人眼。 毫无疑问,有主观的个人喜好在里面太多,但它们都是基于多年的经验,在外地。
从有利的一面,事情已经在SQL Server文档近年来如SQL关键字大写的提高,分号来分隔语句等探险工程是Northwind和pubs一个巨大的进步。 现在为什么不能在Management Studio中的脚本功能吐出代码,对眼睛更容易一些?