¿Qué estándar debo seguir al nombrar tablas y vistas? Por ejemplo, ¿es una buena idea poner algo como tbl_ al comienzo de los nombres de las tablas? ¿Debería designar tablas de código / búsqueda de alguna manera como ct_, lut_ o codes_? ¿Hay otros que hacer / no hacer?
Estoy usando MS SQL Server y tengo muchas bases de datos con muchas tablas, por lo que sería bueno tener algo que podamos usar como estándar con algún soporte racional.
fuente
orders
noorder
y evita tener que citar el nombre de la tabla cada vez que son usuarios. Esto también se aplica agroup
y otras palabras clave. Afortunadamente, pocas palabras clave chocan con entidades comunes.Usamos esquemas (piense en ellos como espacios de nombres en SQL quizás) tanto para permisos como para agrupación. Entonces, en lugar de "tbl", etc. tenemos
Ningún código entra en el esquema de datos. No hay tablas en vivo fuera del esquema de datos. Esto puede extenderse, por supuesto, para tener un esquema de Búsqueda o Estadificación si lo desea.
Para las vistas que usamos,
vw
pero esto era para distinguirlas de las tablas en SQL Server 2000 y ahora es un poco heredadofuente
Personalmente, soy un gran admirador de Fanö Bedingung , lo que significa que aquí no se permite que el nombre sea el comienzo de otro nombre válido.
Y segundo, la distancia de Hamming entre dos nombres es mejor que más de una letra diferente.
Sí, eso es regla desde los tiempos predigitales, pero hacen la vida más fácil.
Y los terceros nombres deben ser pronunciables, o te volverás loco, cuando el reconocimiento de voz se vuelva verdadero.
fuente
No sé si realmente existe alguna "mejor" convención de nomenclatura, ya que realmente se reduce a preferencias personales y facilidad de desarrollo. Mi consejo es elegir una convención de nomenclatura y cumplirla. Si desea separar las palabras con un guión bajo, hágalo en todos los objetos de su base de datos. Si desea utilizar camelCase, hágalo en todos los objetos de su base de datos.
En mi tienda nos adherimos a las siguientes reglas:
Separamos las palabras con guiones bajos y usamos todas las letras minúsculas.
Los nombres de nuestras tablas describen lo que son: dbo.person, dbo.invoice.
Nuestros nombres de tabla de muchos a muchos también describen cuáles son (con la adición de mm para indicar una relación de muchos a muchos que se está mapeando: dbo.person_mm_address. Nuestros procedimientos almacenados definidos por el usuario describen tanto el objeto como la acción que se realiza: usp_person_select , usp_address_select_by_city Nuestras vistas y funciones siguen las mismas reglas que los procedimientos almacenados. Nuestros índices incluyen tabla, columnas clave (en orden) y una indicación de clustered / non-clustered: ix_person_last_name_first_name_nc
Solo porque esto es lo que usamos en mi tienda, no significa que estas reglas sean adecuadas para usted. Elija algo con lo que usted y su equipo de desarrollo acuerden que sea útil y fácil de desarrollar, y establezca una cultura de conocer y usar cualquier convención de nomenclatura que decida. En nuestro caso, esto incluye la revisión de código para cualquier objeto creado en una base de datos. Con el tiempo, la combinación de una convención de nomenclatura documentada y una revisión del código de pares ha llevado a cada vez menos desviaciones de la convención.
Espero que esta "no respuesta" ayude de alguna manera.
fuente
Estoy contento con esto desde hace años
Si tiene un paquete de alojamiento compartido barato, deberá usar la abreviatura del proyecto frente a todos sus objetos, como por ejemplo, el sitio de administradores de bases de datos, da_users, da_questions
fuente
product_groupv
y noproduct_group_v
para las vistas (si insiste en esta discreción de vistas y tablas)?