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?
Respuesta
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".
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. –
@ 8kb ¿qué pasa con los nombres de las bases de datos? ¿Pluralizado? –
Seis años después y todavía obtiene +1 por una respuesta bien diseñada con enlaces y un buen resumen. – AgapwIesu
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 ".
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
sp_ no está reservado, solo hace que SQL Server busque los procedimientos del sistema antes de buscar procedimientos definidos por el usuario. –
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?
- 1. convenciones de nomenclatura de nombres de nombres
- 2. Microsoft Excel: PowerPivot 2010: Vincular bases de datos de acceso
- 3. Dejar y recrear bases de datos en Microsoft SQL Server
- 4. ¿Qué son las convenciones de nombres para MongoDB?
- 5. Convenciones de codificación - Enumeración de nombres
- 6. Otras herramientas de sincronización de bases de datos además de Microsoft Synchronization Framework?
- 7. Convenciones de codificación de nombres de JavaScript y PHP
- 8. Convenciones de alias de tipo/espacio de nombres en C#
- 9. ¿Prefiere nombres detallados cuando se trata de columnas de bases de datos?
- 10. Bases de datos translúcidas
- 11. Disparadores de bases de datos
- 12. Nombres de las convenciones de nomenclatura formulario HTML
- 13. ¿Qué necesito para leer las bases de datos de Microsoft Access usando Python?
- 14. Convenciones de nombres para las tablas y columnas en la base de datos
- 15. Convenciones de nomenclatura de proyectos y conjuntos
- 16. Convenciones de nomenclatura de PostgreSQL
- 17. Matrices y bases de datos
- 18. MagicalRecord: bases de datos múltiples
- 19. Consulta de SQL Server para encontrar todos los nombres de bases de datos actuales
- 20. convenciones de nomenclatura de ensamblaje
- 21. Versión de control de bases de datos
- 22. ¿Es posible definir convenciones de nombres personalizados para el reafilado?
- 23. Convenciones de nombres típicos para Python directorios en Paquetes
- 24. Convenciones de registro
- 25. Convenciones de nomenclatura AJAX
- 26. Fluido NHibernate + bases de datos múltiples
- 27. Cómo crear varias conexiones de bases de datos para diferentes bases de datos en java
- 28. Pros/contras de bases de datos basadas en documentos vs. bases de datos relacionales
- 29. Bases de datos de pruebas unitarias
- 30. Optimización de llamadas a bases de datos
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. –