Tenía la misma pregunta, y después de leer todas las respuestas aquí definitivamente me quedo con SINGULAR, razones:
Razón 1 (Concepto). Puedes pensar en una bolsa que contenga manzanas como "AppleBag", no importa si contiene 0, 1 o un millón de manzanas, siempre es la misma bolsa. Las tablas son solo eso, contenedores, el nombre de la tabla debe describir lo que contiene, no cuántos datos contiene. Además, el concepto plural se trata más de un lenguaje hablado (en realidad para determinar si hay uno o más).
Razón 2 . (Conveniencia). es más fácil salir con nombres singulares que con los plurales. Los objetos pueden tener plurales irregulares o no plurales en absoluto, pero siempre tendrán uno singular (con pocas excepciones como Noticias).
- Cliente
- Orden
- Usuario
- Estado
- Noticias
Razón 3 . (Estética y orden). Especialmente en escenarios de detalles maestros, esto se lee mejor, se alinea mejor por nombre y tiene un orden más lógico (Primero maestro, Detalle segundo):
- 1 orden
- 2.Detalles del pedido
Comparado con:
- 1.Detalles del pedido
- 2 órdenes
Razón 4 (simplicidad). Poner todo junto, nombres de tabla, claves primarias, relaciones, clases de entidad ... es mejor tener en cuenta solo un nombre (singular) en lugar de dos (clase singular, tabla plural, campo singular, detalle maestro singular-plural ... .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
Una vez que sepa que está tratando con "Cliente", puede estar seguro de que usará la misma palabra para todas sus necesidades de interacción con la base de datos.
Razón 5 . (Globalización). El mundo se está volviendo más pequeño, puede tener un equipo de diferentes nacionalidades, no todos tienen el inglés como lengua materna. Sería más fácil para un programador de lengua no inglesa pensar en "Repositorio" que en "Repositorios", o "Estado" en lugar de "Estados". Tener nombres singulares puede conducir a menos errores causados por errores tipográficos, ahorrar tiempo al no tener que pensar "¿es niño o niños?", Mejorando así la productividad.
Razón 6 . (¿Por qué no?). ¡Incluso puede ahorrarle tiempo de escritura, ahorrar espacio en disco e incluso hacer que el teclado de su computadora dure más!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 100
Has guardado 3 letras, 3 bytes, 3 golpes de teclado adicionales :)
Y finalmente, puede nombrar a aquellos que se equivocan con nombres reservados como:
- Usuario> LoginUser, AppUser, SystemUser, CMSUser, ...
O use los infames corchetes [Usuario]