2008-09-04 12 views

Répondre

2

L'inconvénient principal de l'utilisation de ID, Nom etc. est que vous devez les qualifier avec le nom de la table si vous écrivez une jointure SQL qui chevauche deux tables. Malgré cela, je trouve qu'il est beaucoup plus concis et lisible d'utiliser simplement l'identifiant et le nom - votre code et vos tableaux vont «couler» beaucoup plus facilement au-delà des yeux. Plus facile à taper et moins redondant. Et en tapant SELECT Business.Name FROM ... dans une requête SQL n'est pas vraiment plus gênant que de taper SELECT BusinessName FROM ...

En général, si je me trouve en répétant des informations sémantiques, il m'invite à chercher des moyens d'éliminer ou au moins reconnaître pourquoi il se répète. Cela pourrait être à petite échelle (noms d'attributs) ou à grande échelle (modèles de comportement ou structures de classes communes).

5

La seule "bonne" réponse est d'être cohérent. Décidez en amont de celui que vous utiliserez dans un projet, et respectez-le.

0

Pour les propriétés très courantes telles que "Name" et "ID", la convention que j'ai utilisée est de ne pas mettre le nom de l'entité dans le champ. Pour des propriétés plus inhabituelles, je mets le nom de l'entité. C'est une décision de convention de dénomination, mais je n'ai pas regretté les projets où c'est la convention, si vous mettez le nom de l'entité pour chaque ID, il finit par sembler trop verbeux.

0

nous faisons ID sur tout ce qui est la clé primaire. Dire SubCategory.SubCategoryID semble redondant,

0

Je n'ai peut-être pas raison, mais je pense que Id est un plat plus savoureux. Parce que si vous voulez écrire n'importe quoi qui traite vos objets et dont vous avez besoin de la clé primaire, il est plus facile de le savoir partout, puis de le déterminer avec une formule. Quant à l'autre, c'est la préférence totale et je ne vois pas d'implications réelles autres que le temps perdu à taper les autres caractères, et son .net donc personne ne tape réellement les espaces de noms de toute façon.