Php 创建/修改字段命名约定?
考虑使用CodeIgniter 2+的PHP/MySQL应用程序,它有一个“产品”表和一个“用户”表(MySQL)。我很好奇其他人在数据库中创建/修改/分配的字段(外键字段名)使用了什么。也就是说,如何命名用户的外键字段和“产品”表中其他修改/创建的字段Php 创建/修改字段命名约定?,php,mysql,codeigniter,database-design,database-schema,Php,Mysql,Codeigniter,Database Design,Database Schema,考虑使用CodeIgniter 2+的PHP/MySQL应用程序,它有一个“产品”表和一个“用户”表(MySQL)。我很好奇其他人在数据库中创建/修改/分配的字段(外键字段名)使用了什么。也就是说,如何命名用户的外键字段和“产品”表中其他修改/创建的字段 Table: products Primary Key: id Table: users Primary Key: id 为了便于参考,您会使用“name\u table-singular\u id”格式吗?这样,它就包含了引用表“user
Table: products
Primary Key: id
Table: users
Primary Key: id
为了便于参考,您会使用“name\u table-singular\u 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这样的应用程序在命名时也会有一些混淆。他们使用“创建人”和“修改用户id”
此外,您是否对日期时间字段使用任何变体?日期时间、日期时间或dt时间?我认为这都是首选项。我只需要将我的命名设置为一个标准,这样我就可以为Jamie的my_模型类的修改版本进一步开发回调
我通常会使用后者,因为它实际上是一个被指示的关系,而不仅仅是一个外键。也就是说,如果我真的对数据库建模,我会给关系指定逻辑名称,从而得到看起来更规范的第二个示例。但这是我个人的喜好。命名约定是不是在名称中使用类型。因此,与创建日期不同,我更喜欢创建日期,修改日期。
我还希望在列名中直接指出我在“created_by”中使用的外键:因此我使用created_user_id,modified_user_id。感谢您的响应。与users.id字段的关系不是最好用{logical name}来描述吗_用户id?这当然是首选项。我会这样看:
产品
与用户
通过分配
来关联。因此,在产品
到用户
方向中,关系的逻辑名称应该是分配给
。这也是我作为一个大人物一直在努力解决的问题相信所有相关表格上一致的“谁”列便于审核。我使用后一种命名,但我使用created\u date
和modified\u date
与created\u by
和modified\u by
更加一致。