2009-02-02 38 views
1

说我有这个表:在引用表重命名数据库列

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

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

其中PersonAddressId是PERSONID和外键。重命名外键时是否存在任何类型的数据库违规?当他们有不同的名字时,处理它会变得非常混乱。

+0

约定是命名外键PersonId,而不是PersonAddressId – 2009-02-02 18:28:47

回答

1

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

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

  • 两列都可以和外键Person,所以很明显你不能命名两列PersonId
  • 一些表包含一个自己的外键,例如Employee.manager_id可能是对Employee.employee_id的引用。同样,在这种情况下,您不能将该列命名为引用的主键。

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

0

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

+0

谢谢。我在哪里可以找到有关规则的文档?除了部落知识之外,我想要一些支持它的东西(或传递最佳做法)。 – 4thSpace 2009-02-02 18:36:27