【发布时间】:2010-07-06 01:14:31
【问题描述】:
这可能是一个愚蠢的问题,但这里是:
是否有描述 mssql 表中外键列顺序的标准或最佳实践?
我喜欢这样的想法,即 PK 是表中的第一列,然后是所有外键,然后是与该表相关的所有其他列。
另一种方法是将 PK 作为第一列,然后是所有支撑列,然后是所有外键...
我想这真的没关系,但我想在我的组织中制定一个标准。
【问题讨论】:
-
最好让您的组织使用的表架构图或列表以一致的方式排序(先 pk 然后 fks,或者 pks 采用一种颜色/字体,fks 采用另一种... ),这是对命名约定的补充。
-
当您从头开始构建新表时,可能会作为建议使用 - 但随着时间的推移维护它几乎是不可能的。另外:根据定义,列排序在关系数据库中是无关紧要的——毕竟我们只是在谈论无序元组。所以不要在真正不成问题的事情上投入太多精力。
-
表示表的主键、候选键和外键的列(记住每一个都可以是跨多列的组合)可以重叠,因此您的标准需要非常具体......但它会实现什么,我想知道?
-
如果设计得当,计算机可能不太关心您将列放置在什么顺序。但是,人类并不擅长探索数据结构,因此以一致且可识别的模式对它们进行排序会大有帮助新手了解您的数据库。
标签: sql database design-patterns database-design