创建/修改字段命名约定?

时间:2013-06-25 17:17:07

标签: php mysql codeigniter database-design database-schema

使用CodeIgniter 2+考虑PHP / MySQL应用程序,带有'产品'表和'用户'表(MySQL)。我很好奇其他人正在使用他们的数据库中创建/修改/分配的字段(外键字段名称)。也就是说,您如何在“产品”表中命名用户的外键字段和其他修改/创建的字段?

Table: products
Primary Key: id

Table: users
Primary Key: id

您是否会使用'name_table-singular_id'格式,以便于参考?这样,它包含引用表'users'的单数版本。

assigned_user_id
created_user_id
date_created
modified_user_id
date_modified

或者你会使用更简化的东西吗?

assigned_to
created_by
date_created
modified_by
date_modified

我真的不知道这些问题的标准。甚至像SugarCRM这样的应用程序在命名时往往会有点混乱。他们使用'created_by'和'modified_user_id'。

另外,您对日期时间字段使用任何变体吗? date_,date_time还是dt_?我认为这是所有的偏好。我只需要将我的命名命名为标准,这样我就可以进一步为我修改过的Jamie的MY_Model类开发回调。

https://github.com/jamierumbelow/codeigniter-base-model

2 个答案:

答案 0 :(得分:1)

我通常会使用后者,因为它实际上是一个关系被指示,而只是一个外键。也就是说,如果我实际上是在对数据库进行建模,那么我会为关系提供逻辑名称,从而导致更具规范性的第二个示例。但这是我的个人品味。

答案 1 :(得分:-1)

是命名约定,不使用名称中的类型。因此,我将更喜欢created_on,modified_on,而不是date_created。 我还希望直接在列名称中指明我在“ created_by”中使用的外键:因此,我使用created_user_id,modified_user_id。