80 votes

Comment vous nommez vos tables relation plusieurs-à-plusieurs ?

J'ai vu un peu les différents schémas de nommage dans de multiples langues quand il s'agit de plusieurs-à-plusieurs liens, alors je me demandais: quel schéma de nommage utilisez-vous pour le nommage de ces relations? Veuillez inclure la plate-forme pour laquelle vous êtes en développement.

Utiliser Posts et Tags à titre d'exemples pour les tables qui seraient liées.

Exemples:

  • PostsTags
  • Posts_Tags
  • PostTagAssociations
  • posts_tags
  • etc...

51voto

TheTXI Points 24470

Je n’ai jamais eu une convention stricte pour cela, mais dans le cas d’utilisateurs et de rôles c’est Users_Roles avec le tableau « dominant » se déroulant sur la gauche.

20voto

Diego Jancic Points 2445

J’ai utiliser camelcase, singulier s├⌐par├⌐s par une « croix ». Par exemple :

De cette façon vous rappelez toujours qu’est une table de plusieurs-à-plusieurs. Et la User_Roles serait très semblable à UserRoles (si vous avez d’autres rôles tels que ApplicationRoles)

19voto

Karen Lopez Points 452

Essayez d'abord de trouver le terme d'affaires qui décrit le M:N table. Le meilleur endroit pour regarder est dans les noms des relations entre les entités dans votre modèle de données.

CUSTOMER signs CONTRACT

Dans cet exemple, le mot de signature est un indice que l'association entre le CLIENT et le CONTRAT est une sorte de signature ou de l'autorisation.

Alors que si il n'est pas naturel d'entreprise terme pour la associative, tableau, essayez de la concaténation des méthodes mentionnées dans d'autres réponses. Je n'utilise que ceux concaténation des approches quand tout le reste échoue, que les affaires ne font que rarement référence aux concepts de la M:N dans ces conditions....mais ils comprennent des signatures et des autorisations.

7voto

le dorfier Points 27267

Préférant camelcase et singulier plutôt qu'au pluriel, je voudrais utiliser, par exemple, PostTag et UserRole pour les exemples donnés. La principale raison est que ce est la façon la plus naturelle d'exprimer le contenu de la table dans le langage parlé ou écrit.

Équivalents serait post_tag et user_role.

Donc je ne peux parler intelligemment de spécifique UserRole, UserRole enregistrements (ou UsersRoles, pour abréger un multiple).

De cette façon, le domaine, sens des termes est renforcé sur le plan technique, et il est plus facile de parler naturellement avec les parties prenantes qui ne sont pas des techniciens.

6voto

cherouvim Points 18550

Doit sembler bon en anglais :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X