这是我的方法:
- 表名是小写,下划线的用途来分隔词语,并且是单数(例如
foo
,foo_bar
等 - 我通常(并非总是)具有自动增量PK。我用下面的约定:
tablename_id
(例如foo_id
,foo_bar_id
等)。 - 当表包含作为外键的列时,我只需从它来自的任何表中复制该键的列名。例如,假设表格
foo_bar
具有FKfoo_id
(foo_id
的PKfoo
)。 - 在定义FK以强制执行参照完整性时,我使用以下内容:(
tablename_fk_columnname
例如,扩展示例3,它将是foo_bar_foo_id
)。由于这是表名/列名的组合,因此可以保证它在数据库中是唯一的。 - 我按如下顺序排列列:PK,FK,然后按字母顺序排列其余列
有没有更好,更标准的方法来做到这一点?
id_tableB
=> 哦,不, 不同名称的列 id
,一致性id_tableB
=> id_tableB
只是看起来整洁......或OP做的:foo_id
=> foo_id
而不是foo_id
=>id