数据库由微软命名约定?数据库由微软命名约定?(Database Naming Conventions

2019-05-13 07:46发布

我发现, 命名规则从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中的脚本功能吐出代码,对眼睛更容易一些?



文章来源: Database Naming Conventions by Microsoft?