80 votos

¿Cómo su nombre de muchos-a-muchos relación de tablas?

Yo he visto un par de diferentes esquemas de asignación de nombres a través de múltiples idiomas cuando se trata de muchos-a-muchos de relaciones, así que me preguntaba: ¿qué esquema de nomenclatura de ¿utiliza la nomenclatura de estas relaciones? Por favor incluya la plataforma para la que se están desarrollando.

Uso Posts y Tags como ejemplos para las tablas que podrían estar relacionados.

Ejemplos:

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

51voto

TheTXI Puntos 24470

Nunca he tenido una estricta convención para esto, pero en la instancia de los Usuarios y Roles sería Users_Roles con el "dominante" de la tabla teniendo lugar en la izquierda.

20voto

Diego Jancic Puntos 2445

Puedo usar camelcase, singular nombres separados por una "cruz". Por ejemplo:

 User_x_Role
 Post_x_Tag

De esa manera usted siempre recuerde que es muchos-a-muchos mesa. Y el User_Roles sería muy similar a la UserRoles (si usted tiene otras funciones, tales como ApplicationRoles)

19voto

Karen Lopez Puntos 452

Primero intenta encontrar el negocio término que describe la M:N tabla. El mejor lugar para buscar es en los nombres de las relaciones entre las entidades del modelo de datos.

CUSTOMER signs CONTRACT

En este ejemplo, la palabra de la firma es un indicio de que la asociación entre el CLIENTE y el CONTRATO es una especie de la firma o autorización.

A continuación, sólo si no hay ninguna naturales de negocios plazo para la asociativo mesa, pruebe la concatenación de los métodos mencionados en otras respuestas. Yo sólo uso los de la concatenación de los enfoques cuando todo lo demás falla, ya que el negocio rara vez se refiere a los conceptos de la M:N en los términos....pero comprenden las firmas y autorizaciones.

7voto

le dorfier Puntos 27267

Prefiriendo camelcase y singular en lugar de plural, yo use, por ejemplo, PostTag y UserRole para los ejemplos dados. La razón principal es que esta es la forma más natural de expresar el contenido de la tabla en el lenguaje hablado o escrito.

Equivalentes sería post_tag y función_usuario.

Por lo tanto, puedo hablar con sensatez de un determinado UserRole, UserRole registros (o UsersRoles, para abreviar una múltiple).

De esta manera, el dominio del sentido de los términos que se refuerza sobre el sentido técnico, y es más fácil hablar de forma natural con las partes interesadas que no son técnicos.

6voto

cherouvim Puntos 18550

Debe sonar bien en inglés:

posts
tags
post_tags

users
roles
user_roles

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: