假设我有这张桌子:
Person table
--------------
PersonId
Address table
------------
AddressId
PersonAddressId
其中 PersonAddressId 是 PersonId 和外键。重命名外键是否存在任何类型的数据库违规?当它们具有不同的名称时,使用起来会变得非常混乱。
假设我有这张桌子:
Person table
--------------
PersonId
Address table
------------
AddressId
PersonAddressId
其中 PersonAddressId 是 PersonId 和外键。重命名外键是否存在任何类型的数据库违规?当它们具有不同的名称时,使用起来会变得非常混乱。
在可能的情况下,将外键列命名为与其引用的主键列相同通常会有所帮助。
当然,有时这是不可能的:
Address
可能都是 的外键Person
,因此显然您不能同时命名这两列PersonId
。Employee.manager_id
可能是对Employee.employee_id
. 同样,在这种情况下,您不能将列命名为与引用的主键相同的名称。SQL 中没有严格的命名约定。建议的元数据命名约定的一个来源是ISO 11179。
同意,这就是为什么约定将 PersonAddressId 命名为 PersonId。