SQL Server - 您的团队有哪些编码/开发规则?

时间:2010-04-26 11:18:16

标签: sql-server tsql

上周我问了一个类似的问题并没有得到很好的回答,所以也许我没有以正确的方式说出问题。

我想知道您的团队在编写T-SQL代码和数据库架构时采用了哪些流程/策略/规则。以下是几个例子:

1) All foreign key columns should be indexed
2) All primary key columns should be integer Identity
3) All stored procedures/user defined functions need comments
4) No underscores in T-SQL variable names

这些是我很好奇的事情。

谢谢!

3 个答案:

答案 0 :(得分:0)

我不同意所有被索引的外键。如果只有3个选项的主表有一个外键,那么在一个包含数百万行的表中,就会产生大量无意义索引的开销。从密钥到数据的反向查找不太可能。

答案 1 :(得分:0)

似乎#1,#2和#3都是非常糟糕的规则。并不总是需要索引外键。当存在良好的自然键时创建代理键是没有意义的。注释不编译,因此它们很容易与代码不同步,并且可以欺骗读者。它们只应在绝对必要时使用。评论要实现一个坚定而快速的规则比浪费时间更糟糕。

第4项非常好。我一直在研究的团队更关注实现质量的事情(例如,所有存储过程中的错误处理都很好,而存储过程只做一件事)

答案 2 :(得分:0)

  1. 不是真的。我们在一些较大的表FK上没有索引,因为我们从不删除或更新父值,或者选择性差

  2. 主要是,但要明白为什么。也就是说,我会将3位数代码本身用于存储ISO货币代码(如CHF或GBP)的表格。而且你仍然需要对自然键

  3. 的唯一约束