这场辩论已经在这里完成了,我特别喜欢阅读这个帖子。但是,我只是想问一个特定的问题,并且该线程现在已关闭,所以就在这里。
我想知道人们对列名的看法。广泛的共识似乎是以格式 ID 命名表的主键,例如 CustomerID。我就是做这个的。
但是其他列呢?我倾向于在每个列名前加上表名,例如 CustomerFirstName、CustomerDOB 等。这对我来说感觉很舒服,但似乎并不常见。省略表名让我感到困扰有两个原因。首先,我担心,随着数据库变得非常大,不同表中可能会有同名的列,并且可能很难区分它们,尤其是在调试时,其次它让我的强迫症困扰着拥有第一列(主键,通常)以表名开头,但其他的不是。
是否有任何规范或原则可以帮助选择最佳命名规则?不过,还有一件事。在我用表名作为前缀的每个列名的约定中,出现了一个问题 - 外键列。有一个名为 CustomerStoreID 的列来保存 StoreID 外键是没有意义的,所以我只称它为 StoreID。但这违反了约定,那么这是否证明约定一开始就很糟糕?你如何命名你的外键列?