数据库表名:Plural或Singular

时间:2010-09-11 00:10:22

标签: sql sql-server database sql-server-2008 database-design

SQL数据库表最常见的命名约定是什么? 它在历史上是一种方式,现在以另一种方式做得更好吗? 现在最常见的做法是什么?

5 个答案:

答案 0 :(得分:13)

我总是对表名使用复数,对列名使用单数。并不是说它有任何真正的技术原因,这正是我喜欢的。

只要你保持一致,没关系。

+========+       +==========+
| Posts  |       | Users    |
+--------+       +----------+
| idPost |   |-> | idUser   |
| Poster | <-|   | Name     |
+========+       +==========+

我的理由就是当您编写实际查询时会发生什么:

SELECT idPost, Name FROM Posts
INNER JOIN Users ON Poster = idUser

如果你使用单数,看起来你正在从帖子中选择,而不是从所有帖子的集合中选择,并加入单个用户,而不是所有用户。

答案 1 :(得分:11)

不,对我来说很奇怪。这是“用户”表。

答案 2 :(得分:8)

表名称的复数 - 因为表存储用户,产品,项目等。模型的单数名称,因为它们是单项 - 用户,产品,项目。对于表字段,我符合mysql命名约定 - user_id,product_price,item_count。

使用其中任何一种,但始终如一地使用 - 毕竟这将是我的答案。

答案 3 :(得分:2)

LINQ to SQL(以及EF,可能),Ruby / Rails等的标准模式 - 即选择约定优于配置的框架 - 是使用多个表名。

答案 4 :(得分:0)

我通常根据我与其直观关系的方式命名表。