我从MSDN找到了命名准则,但是对于Microsoft的MSSQL数据库有任何准则吗?
Answers:
SQL Server AdventureWorks数据库中使用的命名约定在样式方面展示了许多最佳实践。
总结一下:
您可以在此处找到更多详细信息:
一个警告:数据库命名约定可能会引起很大争议,我遇到的大多数数据库开发人员在样式方面都有个人利益。我听说过关于表应命名为“ OrderHeader”还是“ OrderHeaders”的激烈争论。
usp
和开头存储过程和函数有什么好处ufn
?存储过程通常以动词开头,函数通常通过其函数指定名称。
不,没有,但是请牢记您提供的链接中的做法。
关于命名存储过程-不要在它们前面加上“ sp_”前缀。您可以在此链接中了解有关其原因的更多信息:
“不要为存储过程添加sp_前缀,因为该前缀保留用于标识系统存储过程。”
我不知道@ 8kb(在撰写本文时)的答案中的“关于样式的最佳实践”是什么意思。当然,其中列出的某些项目(“表名不复数”,“无下划线”等)仅仅是样式选择,显然是主观的。我本以为文档团队负责人的个人喜好将是这里的最大因素。
至于一般的SQL启发式算法(与诸如T-SQL之类的专有SQL相对),只有一本书涉及:Joe Celko的SQL编程风格。SQLServer的AdventureWorks数据库的许多选择都与Celko的准则相冲突。
Celko的命名约定基于国际标准ISO 11179,例如,指定使用分隔字符(例如下划线)分隔名称中的元素。其他样式选择也通过研究得到了类似的支持,例如,仅对列名使用小写字母,从而有助于人眼扫描。毫无疑问,那里也有主观的个人喜好,但是它们是基于该领域多年的经验。
从正面来看,近年来,SQL Server文档中的情况有所改善,例如大写SQL关键字,使用分号分隔语句等。Adventure作品对Northwind和pubs进行了巨大改进。现在,为什么管理Studio中的脚本功能不能吐出看起来更容易的代码?
如果要构建SQL Server命名约定指南,建议从GitHub上的Konstantin文档开始。