sql - nombrar - reglas para escribir nombres de tablas y campos
¿Nombres de tabla de base de datos singulares o plurales? (13)
Duplicado exacto
¿Es mejor usar nombres de tablas de bases de datos en singular o en plural? ¿Hay un estándar aceptado?
He escuchado argumentos a favor y en contra, ¿qué piensan ustedes?
Al igual que con muchos de estos tipos de preguntas, la mejor respuesta suele ser "consistente". Puede argumentar que la tabla representa una sola entidad y, como tal, merece un nombre singular, o que contiene múltiples instancias de una entidad, por lo que debe ser plural. Mi consejo es lanzar una moneda e ir con ella para toda la base de datos (o seguir con la convención que ya tiene una mayoría).
Bueno, obviamente los nombres de las tablas de la base de datos deben ser nombrados de manera "estándar", que definiré arbitrariamente hasta ahora.
Primero, todos los nombres de las tablas deben estar precedidos por "t_". A continuación, el nombre de la entidad singular en StudlyCaps, por ejemplo, "Cliente". Inmediatamente después, esto debe contener el número de columnas creadas en la primera versión del esquema, para fines históricos, seguido de un guión bajo y la forma normal precisa de los datos; ya sea "1", "2", "3" o "B" para BCNF. Cualquier forma normal más alta se denotará con una "P".
Algunos ejemplos de nombres aceptables son:
t_Customer_6_3
t_Order_5_B
t_OrderLine_4_2
Creo que mi punto es que realmente no importa , siempre y cuando el nombre sea razonablemente descriptivo y el nombre sea consistente.
En mi empresa actual utilizamos Plural para nombres de tablas. El razonamiento es el siguiente: si tenemos una tabla de clientes, consideramos que cada fila es un cliente, por lo que la tabla en sí es una colección de clientes.
En mi humilde opinión, los nombres de las tablas deben ser plurales como Clientes.
Los nombres de clase deben ser singulares, como Cliente, si se asigna a una fila en la tabla Clientes.
En mi humilde opinión, realmente no importa, simplemente haga lo que le resulte cómodo a usted y a las personas que están usando la base de datos.
Creo que subconscientemente enumero las tablas de datos principales con una s y una "lista de selección" o tablas de clave foránea y singular.
Hay muchos argumentos para cada uno, pero todo se reduce a lo que te hace sentir cómodo. Ninguno de los dos está mal.
Lo que es realmente importante es que seas consecuente. Elija un estándar y apéguese a él; el que elija es de menor importancia.
Lo más importante es ser coherente en su uso. Es molesto tener que recordar qué tablas son plurales y cuáles no. Lo mismo con sus nombres de campo, elija un stadard y úselo. No haga que los desarrolladores pobres tengan que determinar si esta tabla usa person_id o personid o peopleid o person $ id, etc. Es sorprendente la cantidad de tiempo que puede desperdiciar cuando no tiene estándares, solo para recordar qué tabla usa qué.
Me gusta usar formas plurales, simplemente porque una tabla contiene varias entidades, por lo que me parece más natural.
Linq to SQL convierte nombres de tablas de formas plurales a singular al crear entidades de datos. Supongo que Microsoft no habría implementado esta funcionalidad si consideraran las formas plurales para la mala práctica de los nombres de tabla.
Me gusta usar nombres singulares como Agent que tengan nombres PK como AgentID.
Pero ese soy solo yo: o)
Me gustan los nombres singulares, pero parecen ser una minoría.
Mi filosofía personal es que utilizar un nombre de tabla de base de datos en plural es redundante, a menos que solo esté planeando que la tabla contenga una fila.
No hay ni debe haber una respuesta correcta de esta o aquella manera a esta pregunta. Depende del diseñador de la base de datos y el software.
En cuanto a mí, usualmente uso nombres singulares porque cuando hago el diagrama ER tengo una entidad Cliente, no Clientes, así que lo mantengo igual para no confundirme.
Por supuesto, algunos marcos sí favorecen un estilo u otro, por lo que es mejor que sigas esas prácticas cuando las notes.
Singular, para que pueda tener:
- Cliente
- Dirección del cliente
- CustomerAddressAuditTrail
etc.