sql >> Base de Datos >  >> RDS >> Sqlserver

Dilema de nombres de tablas:nombres singulares versus plurales

Tenía la misma pregunta, y después de leer todas las respuestas aquí definitivamente me quedo con SINGULAR, razones:

Motivo 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 la cantidad de datos que contiene. Además, el concepto plural se trata más de un idioma hablado (en realidad, para determinar si hay uno o más).

Motivo 2 . (Conveniencia). es más fácil salir con nombres en singular, que en plural. Los objetos pueden tener plurales irregulares o no tener ningún plural, pero siempre tendrán uno en singular (con pocas excepciones, como Noticias).

  • Cliente
  • Orden
  • Usuario
  • Estado
  • Noticias

Motivo 3 . (Estética y Orden). Especialmente en escenarios maestro-detalle, esto se lee mejor, se alinea mejor por nombre y tiene un orden más lógico (Primero maestro, segundo detalle):

  • 1.Pedido
  • 2.Detalle del pedido

Comparado con:

  • 1.Detalles del pedido
  • 2.Pedidos

Motivo 4 (Sencillez). En conjunto, nombres de tablas, claves primarias, relaciones, clases de entidades... es mejor tener en cuenta un solo nombre (singular) en lugar de dos (clase singular, tabla plural, campo singular, maestro-detalle 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 utilizará la misma palabra para todas sus necesidades de interacción con la base de datos.

Motivo 5 . (Globalización). El mundo se está haciendo más pequeño, puedes 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 idioma inglés no nativo 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 Child o Children?", lo que mejora la productividad.

Motivo 6 . (¿Por qué no?). ¡Incluso puede ahorrarle tiempo de escritura, 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 = 103

Ha guardado 3 letras, 3 bytes, 3 pulsaciones de teclado adicionales :)

Y finalmente, puedes nombrar a aquellos que se equivocan con nombres reservados como:

  • Usuario> Usuario de inicio de sesión, Usuario de aplicación, Usuario de sistema, Usuario de CMSU,...

O use los infames corchetes [Usuario]