PREGUNTAS y RESPUESTAS-Estándar de nomenclatura de objetos en SQL Server

PREGUNTA: En mi trabajo estamos empezando a estandarizar los nombres de las base de datos y sus objetos, no se si existe alguna normalización o formato establecido para realizar esto?

RESPUESTA:

En esto hay mucho por conversar. No existe un estándar aceptado por todos pero si hay recomendaciones:
 
1. Usar mayúsculas y minúsculas: en vez de nombra un procedimiento USPACTUALIZACLIENTE o uspactualizacliente, recomiendo usar uspActualizaCliente. Es mas fácil de leer
2. Nombrar los objetos con un prefijo que indique el tipo de objeto (menos tablas y vistas), por ejemplo:
  • bd – base de datos
  • usp – Procedimiento almacenado (Siempre anteponer la “u” de “usuario” para que no se confunda con los procedimientos almacenados del sistema, que comienzan con sp)
  • tr – trigger (tri – Trigger insert, tru – trigger update, trd – trigger delete) 
  • dtr – data base trigger
  • fne – función de usuario escalar
  • fnt – funcion de usuario tipo tabla
Además, sobre los nombre de objetos de programación, se recomienda que el nombre contenga información que permita identificar rápidamente que es lo que hace:
 
uspActualizaCliente es el procedimiento almacenado que actualiza la entidad cliente (puede actualizar una o muchas tablas)
fneCalculaComisiónVenta es la función de tipo escalar que calcula una comisión de venta
fntListadoItemsAlmacen es la función de tipo tabla que lista los ítems de determinado almacén
 
Algunos inclusive, incluyen en el nombre los módulos o sistemas a los que pertenecen los objetos:
 
uspMKTActualizaCliente es el procedimiento almacenado que actualiza la entidad cliente (puede actualizar una o muchas tablas), en el módulo de marketing
fneVTACalculaComisiónVenta es la función de tipo escalar que calcula una comisión de venta en el modulo de ventas
fntLOGListadoItemsAlmacen es la función de tipo tabla que lista los ítems de determinado almacén en el módulo de logística
 
3. Sobre los nombre de las tablas:
  • Usar nombres simples y entendibles que represente la entidad que contiene la tabla o vista (Cliente, Factura, TipoCliente).
  • Algunos autores recomiendan anteponer a los nombres de las tablas la letra “t” pero no estoy de acuerdo. También se recomienda anteponer al nombre de las vistas la letra “v”. Este si puede ser factible para diferenciarlas de las tablas.
  • Recomiendo usar nombres en singular: Cliente en vez de Clientes
En general, trata de tomar decisiones analizando los objetos en su conjunto y no aisladamente. En internet puedes encontrar muchas referencias al respecto, pero verás también que hay opiniones diversas y hasta opuestas.

2 comentarios en “PREGUNTAS y RESPUESTAS-Estándar de nomenclatura de objetos en SQL Server

  • ¿Que tanto influiria en la velocidad de respuesta de los stored procedures, si estos son nommbrados usando el prefijo sp_ ?

    • Solo un poco ya que SQL Server va a buscar primero en el catálogo del sistema si es que el procedimiento comienza con sp. Luego busca en el catálogo de usuario. Mejor le ponemos usp y va de frente al catálogo de usuario

Deja un comentario

Tu dirección de correo electrónico no será publicada.