¿Hay alguna guía de estilo de codificación publicada para SQL?


A menudo terminaré con sentencias SQL muy complejas y me pregunté si había una guía de estilo que dicta una forma común de establecer varios aspectos de una consulta.

Estoy buscando algo descriptivo a lo largo de las líneas de PEP8 de Python o Zend Frameworks guidelines y no código por ejemplo.

La mayoría de mis consultas están escritas para MySQL.

Entonces, ¿conoces una guía de estilo universal? Tal vez usted mismo haya escrito uno. Por favor comparta tus directrices.

Author: Treffynnon, 2011-05-10

5 answers

Desde que hice esta pregunta, he escrito una guía pública de estilo SQL que es compatible con el libro de estilo de Programación SQL de Joe Celko bajo la licencia Creative Commons Attribution-ShareAlike.

Está disponible en www.sqlstyle.guíe o como markdown directamente desde el repositorio de GitHub.

 6
Author: Treffynnon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-23 08:20:13

Aquí están algunas pautas de programación SQL y las mejores prácticas que recopilamos:

  • No utilice SELECT * en sus consultas.
  • Siempre use alias de tabla cuando su sentencia SQL involucre más de una fuente.
  • Utilice las cláusulas Join estándar ANSI más legibles en lugar de las joins de estilo antiguo.
  • No utilice números de columna en la cláusula ORDER BY.
  • Utilice siempre una lista de columnas en sus instrucciones INSERT.
  • Nunca use comillas dobles en su código T-SQL.
  • No prefije los nombres de los procedimientos almacenados con "sp_".
  • Siempre use un formateador SQL para formatear su SQL como Formateador SQL instantáneo (gratis y en línea)

Puedes consultar la explicación detallada de esas mejores prácticas en esta entrada de blog.

 5
Author: James Wang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-27 10:33:45

Dos guías que conozco son el estilo de Programación SQL de Joe Celko y el venerable Código Completo.

También existe el estándar SQL-92. No contiene una sección de estilo, pero podrías considerar que su estilo es implícitamente canónico.

 4
Author: Ollie Glass,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-10 15:39:15

MySQL tiene una breve descripción de sus reglas más o menos estrictas:

Https://dev.mysql.com/doc/internals/en/coding-style.html

El estilo de código más común para MySQL por Simon Holywell:

Http://www.sqlstyle.guía/

Ver también esta pregunta: ¿Existe una convención de nomenclatura para MySQL?

 2
Author: DanFromGermany,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:29:30

¿Ha pensado en hacer que su equipo use una herramienta con capacidades de formato integradas?Toad para MySQL tiene esto. No va a ser una guía como tal, pero al menos traerá algo de consistencia.

 0
Author: MattyC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-10 14:18:14