0

我有一个名为的表Order,其中包含客户订单。

我希望人们能够为订单添加注释。命名这个新表的最佳方式是什么?因为其他表也可能有注释,例如Customer,我需要为表命名,以便显示与相关表的关联。关系是一个订单将有 0 个或多个注释。

所以我应该命名它:

  1. Order_Note
  2. OrderNote

他们看起来都很好。我还需要创建另一个表来列出Order已放置的“类型”。一个Order可以有 1 个或多个“类型”。那么如何在表名中命名这个关联呢?

  1. Order_Type
  2. OrderType

在此Order_Type表中,它将只有两列OrderIDTypeID. 所以我需要一个决赛桌,它可以容纳所有可能Types的订单。鉴于它会与上表混淆,我该如何命名?

  1. Order_Types
  2. OrderTypes

但这打破了表名中没有复数的规则。

编辑:Order表是一个数据表。Order_Type是一个连接表。最后,OrderTypes是一个查找表。感谢霍根让我明白这一点。我还删除了单词之间的连字符作为选项,因为它可能会导致将来出现问题。

解决方案 1:

  1. 使用下划线的表之间的名称关联,例如 Order_Type
  2. 不带下划线的名称查找和数据表,例如 Order、OrderType

我还将使用一个模式,以便查找表显示为 Lookup.OrderType,这有助于阐明什么是什么。

4

1 回答 1

1

下面列出了我的做法

作为旁注,这些建议与如何考虑连接表名有关,无论您是否使用驼峰式大小写、下划线等都无关紧要。

这里需要注意的是,连接表、查找表和数据表之间存在根本区别。名称应反映这一点并保持一致。

1)

我会做一个笔记表并称之为笔记。然后我会在订单和笔记之间添加一个关系,并称之为 order2note 或 orderNote 或 orderNoteRel

此表名以某种顺序定义了两个连接表,有时您可以将非 FK 放在首位,但在许多情况下,最好只默认为字母顺序。

2)

对于定义代码(或您所说的类型)的表,我将约定以表名中的“类型”或“代码”或“CD”等结尾。

因此 orderType 或 orderCD 或 orderCode 将用于定义订单类型的表。

3)

最终表实际上是 order 表和 orderType 表之间的连接,因此它将是

order2orderType 或 orderOrderCD 或 orderOrderCodeRel

(或我展示的其他约定的组合。)

这是重要的一个。如果您记得要加入的表的名称中应该包含 order(它是 orderType 表),那么 order 和 order 类型之间的连接应该在其名称中包含两次 order。虽然一旦你习惯了这似乎是多余的,但它完全有道理。

于 2013-10-24T13:56:50.967 回答