Buenas practicas de programación en SQL

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


Mal:

  SELECT
    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
    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.234


Mal:
  SELECT
    Prod.Price * 1.234 AS ConvertedPrice 







No hay comentarios:

Publicar un comentario