SQL Server - 架构/代码分析规则 - 您的规则包含哪些内容?

Ran*_*der 5 sql t-sql sql-server code-analysis

我们使用Visual Studio Database Edition(DBPro)来管理我们的架构.这是一个很棒的工具,它可以做很多事情,可以根据规则分析我们的模式和T-SQL代码(很像FxCop用C#代码做的事情),并将某些事情标记为警告和错误.

一些示例规则可能是每个表必须有一个主键,列名中没有下划线,每个存储过程必须有注释等.

DBPro内置的规则数量相当少,有点奇怪.幸运的是,DBPro有一个允许开发人员创建自己的API.我很好奇您和您的数据库团队将创建的规则类型(架构规则和T-SQL规则).查看一些规则可能有助于我们决定应该考虑什么.

谢谢 - 兰迪

Phi*_*ler 1

我的一些。并非所有内容都可以通过编程方式进行测试:

\n\n
    \n
  • 没有匈牙利风格的前缀(例如表的“tbl”,视图的“vw”)
  • \n
  • 如果有可能将其移植到 Oracle,标识符不得超过 30 个字符。
  • \n
  • 所有表名和列名仅以小写字母表示
  • \n
  • 列名和表名中的单词之间的下划线——我们在这一点上明显不同
  • \n
  • 表名是单数(“customer”而不是“customers”)
  • \n
  • 除非必要,否则组成表、列和视图名称的单词不会缩写、串联或基于首字母缩略词。
  • \n
  • 索引将以 \xe2\x80\x9cIX_\xe2\x80\x9d 为前缀。
  • \n
  • 主键的前缀为 \xe2\x80\x9cPK_\xe2\x80\x9d。
  • \n
  • 外键以 \xe2\x80\x9cFK_\xe2\x80\x9d 为前缀。
  • \n
  • 唯一约束以 \xe2\x80\x9cUC_\xe2\x80\x9d 为前缀。
  • \n
\n