Database 主键列的命名约定是什么?
可能重复:Database 主键列的命名约定是什么?,database,database-design,naming-conventions,primary-key,Database,Database Design,Naming Conventions,Primary Key,可能重复: Db表中主键列的命名约定是什么 例如: PK\u国家或国家ID或ID或PrimaryKey或 这主要取决于数据库的设计者。当我这样做时,我将主键的字段名:id和外键的字段名:tablename id我总是尝试用PK启动主键,用FK启动外键。另外,在命名外键时,我尝试在外键的名称中包含表名和列名:FK_Questions-test-id_Tests-seq-num将是从表问题到表测试的外键,其中questinos.test_id=Tests.seq_num。我认为这样命名有助于在查看
Db表中主键列的命名约定是什么 例如:
PK\u国家或国家ID或ID或PrimaryKey或 这主要取决于数据库的设计者。当我这样做时,我将主键的字段名:id和外键的字段名:tablename id我总是尝试用PK启动主键,用FK启动外键。另外,在命名外键时,我尝试在外键的名称中包含表名和列名:FK_Questions-test-id_Tests-seq-num将是从表问题到表测试的外键,其中questinos.test_id=Tests.seq_num。我认为这样命名有助于在查看键时使用它们。如果该表被称为
test
I会调用PK列TestID
确实没有定义的标准;相反,您应该制定自己的约定,并确保您定义的每个主键都符合该约定。我喜欢Ruby on Rails约定:
- 任何表中的主键都是名为
id
- 外键命名为外键表名加上
。例子:\u id
是与country\u id
表中的记录相对应的外键countries
order
有两列引用同一个表user
:谁是创建订单的用户,谁是批准的用户。在这种情况下,您必须打破惯例,但我建议使用说明明显的名称,如creator\u user\u id
和approver\u user\u id
,或者由创建的和由
批准的。这就是我最终要做的,但我无法稳定一个公约来满足这个公约破坏者的需要:使用只有id的主键有利于活动记录或数据映射模式,但它会使您更难进行类似于联接的查询。使用相同的id
连接表时,必须指出哪些id
字段属于哪个表。