我从MSDN找到了Naming Guidelines,但它是否是微软MSSQL数据库的指南?
答案 0 :(得分:137)
SQL Server的AdventureWorks数据库中使用的命名约定在样式方面展示了许多最佳实践。
总结:
您可以在此处找到更多详细信息:
有一点需要注意:数据库命名约定可能会引起很大争议,我遇到的大多数数据库开发人员都有自己的风格。关于表是否应该命名为“OrderHeader”或“OrderHeaders”,我听到了激烈的争论。
答案 1 :(得分:15)
不,没有,但您提供的链接中的做法很好记住。
关于命名存储过程 - 不 在其前面添加“sp_”您可以read more about why in this link:
“不要为存储过程添加前缀 sp_,因为此前缀是保留的 用于识别系统存储的 程序“。
答案 2 :(得分:6)
@ 8kb(在撰写本文时)的答案中,我不知道“风格方面的最佳做法”是什么意思。当然,一些列出的项目(“表名不是多元化”,“没有下划线”等)仅仅是风格选择,显然是主观的。我原本认为文档团队负责人的个人偏好是最重要的因素。
关于SQL中的启发式(与专有SQL相比,如T-SQL),只有一本关于这个主题的书:Joe Celko's SQL programming style。许多SQL Server的AdventureWorks数据库的选择与Celko的冲突准则。
Celko的命名惯例基于国际标准ISO 11179,例如指定应使用分隔字符(例如下划线)来分隔名称中的元素。其他风格选择同样通过研究备份,例如仅使用小写字母表示列名,以便人眼进行扫描。毫无疑问,那里也有主观的个人偏好,但它们是基于该领域多年的经验。
从好的方面来看,近年来SQL Server文档中的情况有所改善,例如SQL关键字大写,分号分隔语句等。冒险工作是Northwind和pubs的巨大改进。现在为什么管理工作室中的脚本功能不能吐出更容易看到的代码?!
答案 3 :(得分:0)
如果要构建SQL Server命名约定指南,建议从Konstantin's document on GitHub开始。