2010-09-11 116 views
9

¿Cuál es la convención de nomenclatura más común para tablas de base de datos SQL? ¿Fue históricamente de una sola manera y ahora es mejor hacerlo de otra manera? ¿Cuáles son las prácticas más comunes ahora?Nombres de tabla de base de datos: Plural o Singular

+3

Esta es una pregunta de la encuesta y probablemente debería ser CW. –

+0

muchos debates sobre este! –

+0

Esto depende del idioma que use para nombrar sus tablas. – Quassnoi

Respuesta

11

Siempre uso plural para nombres de tabla y singular para nombres de columna. No es que haya una razón técnica real para eso, eso es exactamente lo que prefiero.

No importa mucho, siempre y cuando sea coherente.

I.e.

 
+========+  +==========+ 
| Posts |  | Users | 
+--------+  +----------+ 
| idPost | |-> | idUser | 
| Poster | <-| | Name  | 
+========+  +==========+ 

Mi razonamiento para esto es lo que ocurre cuando se escribe la consulta real:

SELECT idPost, Name FROM Posts 
INNER JOIN Users ON Poster = idUser 

Si utiliza singular, parece que usted está seleccionando de un poste, en lugar de partir del conjunto de todas las publicaciones, y unirse a un solo usuario, en lugar de a todos los usuarios.

+1

Solo "se ve de esa manera" si está condicionado a verlo de esa manera. Si usaste singular por un tiempo ya no se vería tan gracioso. Ese es el camino de todas las cosas. – ErikE

+2

@Emtucifor: Creo que ese era el punto de "No importa, siempre y cuando seas consistente". Eso es lo que tiene más sentido para mí, así que eso es lo que uso. Si te gusta el singular mejor, úsalo. Pero no mezcle n 'coincidencia. –

+1

Hago singular debido a una conversión de ORM a objetos Singulares, también la tabla contiene un solo registro, aunque hay muchos de ellos, lo que sucede y qué debates suceden con "Fiesta" o "Fiestas" o "Fiestas". En los escenarios de creación de scripts, singular siempre ha sido la ruta más fácil con estos puntos. – SnapJag

10

Nope - singular para mí. Es la tabla "USUARIO".

+0

La única razón por la que no me gusta es que hagas algo así como "SELECCIONAR nombre FROM usuario", que parece que estás seleccionando un nombre, no todos. Pero +1 para otra buena respuesta. –

+0

No, varias filas pueden volver. Pero me alegra que te guste. Gracias, Billy. – duffymo

+0

@duffymo: varias instancias de "Usuario". El objeto en la tabla es un "Usuario". –

1

El patrón estándar para LINQ a SQL (y EF, presumiblemente), Ruby/Rails, etc., es decir marcos que eligen convención sobre configuración, es usar nombres de tabla plurales.

8

plural para nombres de tabla, porque las tablas almacenan usuarios, productos, elementos, etc. nombres singulares para modelos ya que son un solo elemento: usuario, producto, artículo. para los campos de tabla me atengo a la convención de nomenclatura mysql - user_id, product_price, item_count.

Usa cualquiera de ellos, pero úsalo consistentemente, esa sería mi respuesta después de todo.

0

Normalmente nombre la tabla dependiendo de cómo me relacione intuitivamente con ella.

+4

Lo siento, pero el 110% no está de acuerdo aquí. Nada peor que trabajar en una pieza de código y tener que detener su tren de pensamiento para buscar cómo se nombra la tabla en el esquema. –

+0

sí, buen punto ... quizás inicie con eso en la primera tabla def, y luego cumpla con esa convención (s o pl) – CheeseConQueso

Cuestiones relacionadas