2010-08-29 40 views
51

Encontré Naming Guidelines de MSDN, pero ¿es una guía para la base de datos MSSQL de Microsoft?Convenciones de nombres de bases de datos de Microsoft?

+2

A continuación, se incluyen excelentes respuestas, pero agregaría lo siguiente: Aceptar y seguir una convención dentro de su organización para la organización de su base de datos (incluida la denominación) son igualmente importantes. Por ejemplo, intentamos mantener primero las columnas de clave principal, seguidas de todas las columnas de clave externa para que pueda encontrar relaciones a simple vista, seguidas de todas las columnas adicionales en orden alfabético para que pueda encontrar la que desea cuando una tabla tiene toneladas de columnas . La sabiduría de nuestras convenciones específicas es discutible, pero el valor de tener esa conversación en su equipo probablemente no lo es. –

Respuesta

99

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

Para resumir:

  • Los nombres de objeto se entienden fácilmente
  • Los nombres de tabla no se pluralized (tabla "Usuario" no "usuarios")
  • abreviaturas son pocos, pero permitió (es decir Cantidad , Amt, etc.)
  • PascalCase utilizado exclusivamente con la excepción de ciertos nombres de columna (es decir, rowguid)
  • Sin caracteres de subrayado
  • Se permiten ciertas palabras clave (es decir nombre)
  • Los procedimientos almacenados están precedidos por "USP"
  • funciones están precedidos 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".

+2

Me encanta que me vincules con el artículo original, y ME GUSTA que te hayas molestado en resumir para todos. Ojalá pudiera votar dos veces. –

+0

@ 8kb ¿qué pasa con los nombres de las bases de datos? ¿Pluralizado? –

+0

Seis años después y todavía obtiene +1 por una respuesta bien diseñada con enlaces y un buen resumen. – AgapwIesu

10

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

relación con los números de procedimientos almacenados - hacer no prefijo con "sp_" Se puede read more about why in this link:

"No prefijo de procedimientos almacenados con sp_, ya que este prefijo está reservado de identificando procedimientos almacenados en el sistema ".

+1

Agregué la cita relevante del artículo porque es corta, y no podemos esperar que un enlace a una publicación de 5 años dure para siempre. – Gabe

+1

sp_ no está reservado, solo hace que SQL Server busque los procedimientos del sistema antes de buscar procedimientos definidos por el usuario. –

4

No sé qué significa "mejores prácticas en términos de estilo" en la respuesta por @ 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 cuanto a la heurística en SQL en general (en lugar de SQL propietario como T-SQL), hay un solo libro sobre el tema: Joe Celko's SQL programming style.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 la norma internacional ISO 11179, p. especifica que un carácter delimitador (como un guión bajo) se debe usar para separar elementos en un nombre. Otras elecciones de estilo son similarmente copias de seguridad mediante investigación, p. usando exclusivamente letras minúsculas para los nombres de las columnas para ayudar a escanear 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, p. Palabras claves de SQL capitalizadas, punto y coma para separar enunciados, etc. Las obras de aventura 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?

Cuestiones relacionadas