【发布时间】:2010-09-05 16:18:04
【问题描述】:
每当我设计数据库时,我总是想知道是否有最好的方法来命名我的数据库中的项目。我经常问自己以下问题:
- 表名应该是复数吗?
- 列名应该是单数吗?
- 我应该为表或列添加前缀吗?
- 我应该在命名项目时使用任何大小写吗?
对于数据库中的项目命名是否有任何推荐的准则?
【问题讨论】:
-
我认为我们应该将表命名为复数,将列命名为单数。
-
我将表格视为包含多个项目的“存储”,而不是单个“实体”,因此我将其命名为复数。当我将表映射到对象时,我会将对象命名为单数。这只是我个人的看法。
-
@Tryinko 在所有地方使用 ID 对于任何连接多个表的人来说都是地狱。知道这一点是 PK 的微小优势不可能超过在每个血腥查询中一遍又一遍地重新为 dang ID 列重新别名的令人难以置信的烦恼。如果您想要一种在表格中表示 PK 的方法,请将其设为第一列。此外,在我看来,在列名称中表示 FK 是另一种非常邪恶的反模式。
-
看看this Answer。
-
关于大小写,我建议使用snake_case,因此您不必担心首字母缩略词的大小写,就像PascalCase 一样。例如:PHPVersion 还是 PhpVersion?在蛇的情况下,它显然是 php_version 等。
标签: database database-design language-agnostic naming-conventions