2008-11-12 6 views
1

Considérons deux tables transaction et catégorie ayant chacune leur propre ID et information.Attribution d'un nom à une table intermédiaire dans une base de données

Une transaction peut avoir plus d'une catégorie, j'ai lu en créant une 3ème table pour lier la transaction et la catégorie en utilisant leurs ID est meilleure. Mais comment appelleriez-vous cette table, en supposant que vous en auriez autant? TransactionCategories est le meilleur que je propose, y a-t-il quelque chose de mieux?

Répondre

3

Mon schéma de nommage pour ceux-ci est d'utiliser la terminologie du domaine pour l'interaction s'il y en a un (par exemple, pas student_class, mais enrollment). Quand il n'y a pas une telle terminologie, alors vous retombez sur transaction_category ou category_transaction selon le meilleur son.

De plus, je nomme toujours mes tables au singulier (par exemple, les étudiants et non les étudiants).

+0

Merci, quand j'ai utilisé le pluriel je pense que c'était pour la raison clé en main mentionné. Cela permet de faire ressortir que c'est une table de relation où l'on peut en avoir beaucoup. –

0

TransactionCategories est très bien. Il n'y a probablement rien de "meilleur", juste différent.

Parfois, dans le passé, lorsque je créais une table qui ne possédait que les deux clés étrangères dont elle avait besoin pour résoudre le plusieurs-plusieurs, j'ajoutais "Xref" à son nom, ce qui donne un indice N'avoir aucun attribut. C'est juste là pour résoudre le many-to-many.

+0

Le suffixe "xref" serait ennuyeux si vous décidez ultérieurement d'ajouter un attribut à la table. Vous devrez peut-être revoir beaucoup de code. –

+0

Je ne renommer pas les choses pour être cohérent. Mon plus gros problème est que je ne peux pas me souvenir de mes propres conventions, et c'est particulièrement mauvais de travailler dans un environnement de technologie mixte C++/C#/SQL/javascript ... Est-ce myInt, MyInt, nMyInt, MY_INT .... ne me souviens pas ! –

1

J'utilise généralement la même approche, le pluriel aide à la distinguer comme une table de relations, et il contient les deux noms, donc il est clair quelles tables.

Questions connexes