1

假设我有这张桌子:

Person table
--------------
PersonId

Address table
------------
AddressId
PersonAddressId

其中 PersonAddressId 是 PersonId 和外键。重命名外键是否存在任何类型的数据库违规?当它们具有不同的名称时,使用起来会变得非常混乱。

4

2 回答 2

1

在可能的情况下,将外键列命名为与其引用的主键列相同通常会有所帮助。

当然,有时这是不可能的:

  • 中的两列Address可能都是 的外键Person,因此显然您不能同时命名这两列PersonId
  • 一些表包含自身的外键,例如Employee.manager_id可能是对Employee.employee_id. 同样,在这种情况下,您不能将列命名为与引用的主键相同的名称。

SQL 中没有严格的命名约定。建议的元数据命名约定的一个来源是ISO 11179

于 2009-02-02T18:51:17.067 回答
0

同意,这就是为什么约定将 PersonAddressId 命名为 PersonId。

于 2009-02-02T18:32:07.607 回答