Es muy recomendable seguir
siempre las mismas convenciones de nomenclatura cuando se programa para
hacer el código más entendible.
Las razones por las
que hay que seguir unas normas en la programación son las siguientes:
- otros desarrolladores que sigan con los desarrollos lo tendrán más fácil en entender el código y podrán hacer modificaciones mucho más rápido.
- es más fácil copiar, modificar y mantener el código
- el código tiene un aspecto más coherente
En otro artículo ya he
explicado como crear plantillas en SQL Server. Las plantillas ayudarán a un
grupo de desarrollores a seguir unas normas (Crear plantillas personalizada en SQL Server Management Studio).
Esto vale para todos
los lenguajes de Programación. En este artículo voy a enseñar algunas
buenas prácticas que deberéis seguir cuando programáis en
SQL.
Comentarios
Hay dos tipos de comentarios:
-- esto es un comentario
/* esto es un comentario
con múltiples líneas
*/
Los comentarios con los marcadores /* ... */ se deben utilizar principalmente para las cabeceras de comentarios y para otras sección de cabeceras. Yo las utilizo por ejemplo en la cabecera de los procedimientos almacenados (Plantilla para crear un nuevo Procedimiento Almacenado en SQL Server).
Los marcadores para comentarios de una sola "--" las utilizo para comentarios dentro del código. Los marcadores /* … */ se pueden utilizar dentro del código para comentar partes del código para hacer pruebas y debugging.
Upper- y Lower-Case
Todas las palabras claves de SQL se deben escribir en mayúscula para destacarlas mejor en el código.
Calificadores de campos
Al hacer referencia a
campos en consultas, la referencia de campo debe estar siempre calificada con el
nombre de tabla, el nombre de la vista, el alias de tabla u otro alias
adecuado. Esto hace que el código sea más fácil de entender, ya que el campo se
puede identificar de inmediato de que objeto proviene el campo.
Bien:
SELECT
Prod.ProdID,
Prod.Title
FROM
vProduct Prod
WHERE
Prod.ProdID = 123
Prod.ProdID,
Prod.Title
FROM
vProduct Prod
WHERE
Prod.ProdID = 123
Mal:
SELECT
ProdID,
Title
FROM
vProduct
WHERE
ProdID = 123
ProdID,
Title
FROM
vProduct
WHERE
ProdID = 123
En el caso que se tenga que utilizar la misma tabla dos veces en la misma consulta, todas las apariciones de la tabla debe tener un alias, no sólo una de ellas. Esto hace que sea mucho más claro de identificar a cual de las dos tablas hace referencia el campo.
Bien:
SELECT
SubProdTitle = SubProd.Title,SuperProdTitle = SuperProd.Title
FROM
vProduct SubProd
INNER JOIN vProduct SuperProd
ON SubProd.ProdID = SuperProd.ProdID
Mal:
SELECT
FROM
vProduct
SubProdTitle = vProduct.Title,
SuperProdTitle = SuperProd.Title
FROM
vProduct
INNER JOIN vProduct SuperProd
ON vProduct.ProdID = SuperProd.ProdID
Alias de campos
Cuando se utiliza un alias para un campo se debe utilizar el operador "=" antes que la palabra clave "AS". Esto hace más fácil leer la consulta, ya que el nombre del campo que se devuelve se encuentra al principio y no al final que sería el caso si se utiliza "AS".
Bien:
SELECT
ConvertedPrice = Prod.Price * 1.234Mal:
SELECT
Prod.Price * 1.234 AS ConvertedPrice