2009-02-02 4 views
1

Dire que j'ai ce tableau:colonne DB dans Renommage de table faisant référence

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

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

où PersonAddressId est personID et la clé étrangère. Existe-t-il un type de violation de base de données en renommant la clé étrangère? Il peut devenir très déroutant de travailler avec quand ils ont des noms différents.

+0

La convention est de nommer la clé étrangère PersonId, pas PersonAddressId –

Répondre

1

Il est généralement utile de nommer la colonne de clé étrangère de la même manière que la colonne de clé primaire à laquelle elle fait référence, lorsque cela est possible.

Bien sûr, il est parfois impossible:

  • Deux colonnes Address pourraient être à la fois les clés étrangères à Person, donc évidemment vous ne pouvez pas nommer les deux colonnes PersonId.
  • Certaines tables contiennent une clé étrangère à elle-même, par ex. Employee.manager_id pourrait être une référence à Employee.employee_id. Encore une fois, vous ne pouvez pas nommer la colonne de la même manière que la clé primaire référencée dans ce scénario.

Il n'existe aucune convention de dénomination stricte dans SQL. Une source pour les conventions de dénomination de métadonnées suggérées est ISO 11179.

0

D'accord et c'est pourquoi la convention consiste à nommer PersonAddressId en tant que PersonId.

+0

Merci. Où puis-je trouver de la documentation sur la règle? J'aimerais que quelque chose l'appuie autre que la connaissance tribale (ou la meilleure pratique transmise). – 4thSpace

Questions connexes