tablas para nomenclatura nombres nombre nombramiento estandares datos convenciones convencion columnas sql sql-server tsql

sql - para - nomenclatura columnas base de datos



Convenciones de nombres de bases de datos de Microsoft? (3)

Encontré las Directrices de nombres de MSDN, pero ¿es una guía para la base de datos MSSQL de Microsoft?


Las convenciones de nomenclatura utilizadas en la base de datos AdventureWorks SQL Server demuestran muchas mejores prácticas en términos de estilo.

Para resumir:

  • Los nombres de los objetos se entienden fácilmente
  • Los nombres de tabla no están pluralizados (la tabla "Usuario" no es "Usuarios")
  • Las abreviaturas son pocas, pero están permitidas (es decir, Qty, Amt, etc.)
  • PascalCase utilizado exclusivamente con la excepción de ciertos nombres de columna (es decir, rowguid)
  • Sin guiones bajos
  • Se permiten ciertas palabras clave (es decir, Nombre)
  • Los procedimientos almacenados vienen precedidos de "usp"
  • Las funciones están precedidas por "ufn"

Puede encontrar más detalles aquí:

Una advertencia: las convenciones de nombres de bases de datos pueden ser muy controvertidas y la mayoría de los desarrolladores de bases de datos que he conocido tienen un interés personal en su estilo. He escuchado discusiones acaloradas sobre si una tabla debe llamarse "OrderHeader" u "OrderHeaders".


No sé qué significa "mejores prácticas en términos de estilo" en la respuesta de @ 8kb (al momento de escribir). Ciertamente, algunos de los elementos enumerados ("Los nombres de tabla no están pluralizados", "No hay guiones bajos", etc.) son simples elecciones de estilo que son obviamente subjetivas. Hubiera pensado que las preferencias personales del líder del equipo de documentación serían el mayor factor aquí.

En lo que respecta a la heurística en SQL en general (a diferencia de SQL propietario como T-SQL), solo hay un libro sobre el tema: el estilo de programación SQL de Joe Celko. Muchas de las opciones para la base de datos AdventureWorks de SQL Server entran en conflicto con las pautas de Celko.

La convención de nomenclatura de Celko se basa en el estándar internacional ISO 11179, por ejemplo, especifica que un carácter delimitador (como un guión bajo) debe usarse para separar elementos en un nombre. Otras opciones de estilo son respaldar de manera similar mediante la investigación, por ejemplo, utilizando exclusivamente letras minúsculas para los nombres de las columnas para ayudar al escaneo por el ojo humano. Sin duda, también hay preferencias personales subjetivas, pero se basan en muchos años de experiencia en el campo.

En el lado positivo, las cosas han mejorado en los documentos de SQL Server en los últimos años, por ejemplo, palabras clave de SQL en mayúsculas, punto y coma para separar enunciados, etc. Las obras de aventuras son una gran mejora en Northwind y pubs. Ahora, ¿por qué la aplicación de scripts de Management Studio no puede escindir el código que es un poco más fácil para el ojo?


No, no hay pero las prácticas en el enlace que proporcionaste son buenas para tener en cuenta.

Con respecto a la denominación de los procedimientos almacenados, no los prefija con "sp_". Puede leer más acerca de por qué en este enlace :

"No prefija los procedimientos almacenados con sp_, porque este prefijo está reservado para identificar procedimientos almacenados en el sistema".