0

这场辩论已经在这里完成了,我特别喜欢阅读这个帖子。但是,我只是想问一个特定的问题,并且该线程现在已关闭,所以就在这里。

我想知道人们对列名的看法。广泛的共识似乎是以格式 ID 命名表的主键,例如 CustomerID。我就是做这个的。

但是其他列呢?我倾向于在每个列名前加上表名,例如 CustomerFirstName、CustomerDOB 等。这对我来说感觉很舒服,但似乎并不常见。省略表名让我感到困扰有两个原因。首先,我担心,随着数据库变得非常大,不同表中可能会有同名的列,并且可能很难区分它们,尤其是在调试时,其次它让我的强迫症困扰着拥有第一列(主键,通常)以表名开头,但其他的不是。

是否有任何规范或原则可以帮助选择最佳命名规则?不过,还有一件事。在我用表名作为前缀的每个列名的约定中,出现了一个问题 - 外键列。有一个名为 CustomerStoreID 的列来保存 StoreID 外键是没有意义的,所以我只称它为 StoreID。但这违反了约定,那么这是否证明约定一开始就很糟糕?你如何命名你的外键列?

4

1 回答 1

3

这完全是个人的决定。每个人都试图保留易于识别和易于推断的列名称。

因此,数据库中列的命名约定没有标准。每个人都保留了可以轻松跟踪和理解的列名称。

我只是举个例子:-

假设您有一个名为的表Employee

在此表中,您必须存储information员工的信息,包括那里namecontact详细信息。

因此,如果您将列命名为Emp_First_nameEmp_Last_NameEmp_PhoneNoEmp_EmailAdreess。然后这更具可读性,任何将来使用您的表格的人都会理解这些列而无需任何解释。

用表名作为每个列名的前缀会出现一个问题 - 外键列。

我不这么认为。由于通常的做法是,如果任何列上有外键,则在该列前加上FK_XXXXX。所以任何人都可以跟踪它是一个外键

同样,如果您创建一个索引,那么人们通常会添加一个前缀IDX_XXXX来标记这是索引的名称。

于 2013-08-29T16:55:38.913 回答