-1

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

Table: products
Primary Key: id

Table: users
Primary Key: id

您会使用“name_table-singular_id”格式以便于参考吗?这样,它包括引用表“用户”的单数版本。

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

4

2 回答 2

1

我通常会使用后者,因为它实际上是一种关系,而不仅仅是外键。也就是说,如果我实际上是在对数据库进行建模,我会给关系赋予逻辑名称,从而得到看起来更规范的第二个示例。但这是我个人的口味。

于 2013-06-25T17:24:57.427 回答
-1

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

于 2020-09-21T09:05:18.307 回答