Dilema de nomenclatura de tablas: nombres singulares versus plurales [cerrado]

Resuelto ProfK asked hace 16 años • 41 respuestas

La academia dice que los nombres de las tablas deben ser el singular de la entidad de la que almacenan atributos.

No me gusta ningún T-SQL que requiera corchetes alrededor de los nombres, pero he cambiado el nombre de una Userstabla al singular, sentenciando para siempre a quienes usan la tabla a tener que usar corchetes a veces.

Mi intuición es que es más correcto quedarse con el singular, pero mi intuición también es que los corchetes indican elementos indeseables como nombres de columnas con espacios, etc.

¿Debo permanecer o debo ir?

ProfK avatar Dec 04 '08 01:12 ProfK
Aceptado

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 contiene 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 qué contiene, no cuántos datos contiene. Además, el concepto plural se trata más de un idioma hablado (en realidad, para determinar si hay uno o más).

Razón 2 . (Conveniencia). Es más fácil salir con nombres en singular que en plural. Los objetos pueden tener plurales irregulares o ningún plural, 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 maestro-detalle, esto se lee mejor, se alinea mejor por nombre y tiene un orden más lógico (Maestro primero, Detalle segundo):

  • 1.Orden
  • 2.Detalle del pedido

En comparación con:

  • 1.Detalles del pedido
  • 2 órdenes

Razón 4 (Simplicidad). 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, 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 utilizará la misma palabra para todas sus necesidades de interacción con la base de datos.

Razón 5 . (Globalización). El mundo es cada vez más pequeño, puede que tengas un equipo de diferentes nacionalidades, no todo el mundo tiene el inglés como lengua materna. Sería más fácil para un programador no nativo en inglés pensar en "Repositorio" que en "Repositorios", o en "Estado" en lugar de "Estados". Tener nombres singulares puede generar 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, 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

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

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

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

O utilice los infames corchetes [Usuario]

Nestor avatar Apr 30 '2011 10:04 Nestor

Prefiero usar el sustantivo sin flexiones , que en inglés resulta ser singular.

Inclinar el número del nombre de la tabla causa problemas ortográficos (como muestran muchas de las otras respuestas), pero elegir hacerlo porque las tablas generalmente contienen varias filas también está semánticamente lleno de agujeros. Esto es más obvio si consideramos un lenguaje que flexiona los sustantivos según el caso (como lo hace la mayoría):

Dado que normalmente hacemos algo con las filas, ¿por qué no poner el nombre en caso acusativo? Si tenemos una tabla en la que escribimos más de lo que leemos, ¿por qué no poner el nombre en dativo? Es una tabla de algo, ¿por qué no usar el genitivo? No haríamos esto porque la tabla se define como un contenedor abstracto que existe independientemente de su estado o uso. Declinar el sustantivo sin una razón semántica precisa y absoluta es balbucear.

Usar el sustantivo sin flexiones es simple, lógico, regular e independiente del idioma.

Ian Mackinnon avatar Oct 08 '2010 20:10 Ian Mackinnon