2

在我的搜索中,我发现主要是关于是否在数据库命名约定中使用复数以及在任何一种情况下处理它的方法的争论。我已经决定我更喜欢复数表名,所以我不想争论。

我需要在数据库中表示动物的物种和属等。“物种”的复数和单数形式相同,“属”的复数形式为“属”。

顺便说一句,我正在使用微软的实体数据模型。我关心的主要是我以后是否会遇到问题,具体取决于我的命名选择。

我想我可以通过: 表:属 | 栏目:属

但我不确定我应该如何处理:表:物种 | 栏目:物种

如果我真的想对此感到懒惰,我只会将它们命名为“物种>物种”和“属>属”,但我更愿意以正确的形式阅读它们。

任何意见,将不胜感激。

4

2 回答 2

4

我会选择属/属和种/种。这就是您用英语所说的方式,那么为什么要使用不正确的单词形式呢?

于 2010-05-15T21:12:45.227 回答
0

我通常避免使用与表名相同的列名,因为它可能会使人类读者感到困惑。数据库引擎知道在任何给定的上下文中它是否需要一个表名或列名,我不记得这是个问题。(有没有任何一个有效的上下文?我想不出一个。)

也就是说,如果您遇到此问题,则表明您为其中一个或另一个选择了一个错误的名称。Species 作为表名很有意义:此表包含有关物种的数据。因此,如果该表中的一个字段被称为“物种”……那么物种呢?大概表中的所有内容都与一个物种有关。我猜这可能是某种标识符,而不是染色体数量或繁殖方法。但它是一个身份证号码吗?缩写?通用名?二项式命名法名称?等等。如果它是通用名称,我会称之为“common_name”而不是“species”。

顺便说一句,您应该决定的另一个命名约定是,如果脱离上下文可能会产生歧义的列名是否应该具有指定上下文的名称,或者是否使用表名来消除歧义。例如,您可以拥有许多具有“名称”的事物。您可以将任何此类字段简称为“名称”,如果有歧义,请对其进行限定,例如“species.name”、“laboratory.name”等。或者您可以为每个字段指定一个唯一名称,例如“species_name”、“实验室名称”等。这是我认为没有明确正确答案的问题之一,只是利弊,做出决定并保持一致。

于 2016-02-11T15:27:03.880 回答