La llegibilitat del codi SQL és un factor crític en el desenvolupament de programari, l'anàlisi de dades i l'administració de bases de dades. Un codi ben estructurat no només facilita la detecció d'errors, sinó que també millora la col·laboració entre els membres d'un equip tècnic. El Formatador de SQL és una eina dissenyada per transformar consultes complexes o desordenades en codi net, organitzat i fàcil de seguir, proporcionant alhora una explicació detallada de la seva estructura.
Funcionament i paràmetres de configuració
L'eina processa codi SQL amb un límit màxim de 300.000 caràcters per entrada. Per obtenir el millor resultat de formatació, l'usuari pot ajustar diversos paràmetres de l'interfície abans de processar el text:
- Dialecte: Permet seleccionar la sintaxi específica de la base de dades de destinació. Els dialectes suportats són Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake i Spark SQL.
- Sagnat: Defineix l'estil d'indentació del codi formatat, amb opcions de 2 espais, 4 espais o tabulador.
- Paraules clau: Controla la caixa de les paraules clau de SQL, permetent triar entre MAJÚSCULES, minúscules o Conservar l'estat original.
Un cop processada la consulta, l'eina mostra el codi resultant juntament amb metadades precises sobre el text generat: el nombre de Línies, el nombre de Caràcters i la Mida del fitxer.
Gestió d'errors i comportament del sistema
El sistema està dissenyat per gestionar situacions anòmales o entrades incorrectes sense perdre la informació prèvia de l'usuari:
- Mida excessiva: Si el text introduït supera el límit de 300.000 caràcters, l'eina no processa la petició i mostra el missatge d'error: "Aquesta consulta és massa gran per processar-la. Proveu-ho amb una de més petita.".
- Errors de sintaxi: Si el codi SQL conté errors d'estructura que impedeixen la seva anàlisi, es mostra el missatge: "No s'ha pogut formatar aquest SQL; comproveu-ne la sintaxi.". En aquest cas, l'eina manté visible la sortida formatada anteriorment en lloc de substituir-la per l'error.
- Neteja de l'espai de treball: En prémer el botó "Netejar", s'arribarà a l'estat inicial. S'embuiden les àrees d'entrada i sortida, s'oculten els detalls dels errors i es mostra el text "Netejat.".
A més, l'aplicació desa automàticament els esborranys del codi i les preferències del tema visual de manera local al navegador de l'usuari.
Explicació de l'estructura de les consultes
Més enllà de la millora visual, l'eina ofereix una anàlisi estructural que desglossa la consulta clàusula per clàusula en un llenguatge planer. Aquesta funcionalitat és especialment útil per a tasques de comprensió i aprenentatge, ja que descriu la forma de la consulta i no un pla d'execució intern de la base de dades. Gràcies a aquesta distinció, l'explicació es pot generar fins i tot amb fragments de SQL parcials o que continguin elements específics d'un proveïdor concret.
Quan es genera l'explicació, es mostra el missatge "S'han explicat {count} instruccions.". Si una consulta múltiple conté més de 25 instruccions, el sistema analitza i mostra només les primeres 25, afegint la nota informativa "Només es mostren les primeres 25.". Cada instrucció individual es numera sota l'etiqueta "Instrucció {n}".
Tipus d'instruccions i rols de les clàusules
L'analitzador identifica el propòsit general de cada instrucció (el seu tipus o Kind) i el paper específic de cada clàusula (el seu Role).
Tipus d'instrucció (Kind)
| Tipus de sentència | Descripció detallada en l'interfície |
|---|---|
SELECT |
Una consulta que llegeix i retorna files sense modificar res. |
INSERT |
Afegeix files noves a una taula. |
UPDATE |
Modifica els valors de les files que ja existeixen. |
DELETE |
Elimina files d'una taula. |
CREATE |
Defineix un objecte nou, com ara una taula, una vista o un índex. |
ALTER |
Modifica la definició d'un objecte existent. |
DROP |
Elimina permanentment un objecte de la base de dades. |
TRUNCATE |
Buida una taula, eliminant-ne totes les files. |
WITH |
Crea un resultat temporal amb nom (CTE) per a la consulta següent. |
MERGE |
Insereix, actualitza o elimina files en una sola operació combinada. |
OTHER |
Una instrucció SQL. |
Rols de les clàusules (Role)
L'eina identifica i descriu la funció de cada component de la instrucció:
- SELECT: Les columnes i expressions retornades.
- SELECT DISTINCT: Les columnes retornades, eliminant-ne les files duplicades.
- FROM: La taula (o subconsulta) de la qual es llegeixen les dades.
- JOIN: Combina cada línia amb les files corresponents d'una altra taula.
- WHERE: Conserva només les files que compleixen aquesta condició.
- GROUP BY: Agrupa les files perquè es puguin calcular agregacions com COUNT o SUM per a cada grup.
- HAVING: Filtra aquests grups després de calcular les agregacions.
- ORDER BY: Ordena les files resultants.
- LIMIT: Limita el nombre de files retornades.
- OFFSET: Omet un nombre determinat de files abans de retornar els resultats.
- UNION: Combina aquests resultats amb els d'una altra consulta.
- VALUES: Els valors de fila que s'estan inserint.
- INTO: La taula que rep les files noves.
- SET: Els nous valors de columna que s'han d'assignar.
- UPDATE: La taula les files de la qual es modifiquen.
- DELETE FROM: La taula de la qual s'eliminen les files.
- WITH: Defineix un conjunt de resultats temporals amb nom que s'utilitza a continuació.
- STATEMENT: La instrucció, tal com es mostra.
Privadesa de les dades i processament local
La seguretat de la informació és un aspecte clau en el tractament de consultes de bases de dades, que sovint contenen estructures de taules o lògica de negoci interna. El format i l'anàlisi de les consultes es realitzen completament al vostre navegador; el vostre SQL mai surt de la pàgina. No es puja cap tipus de contingut o codi als servidors de BroBroGo, garantint que les dades i l'estructura de les consultes romanguin exclusivament en el dispositiu de l'usuari durant tot el procés.
Preguntes freqüents
Quins dialectes de SQL pot formatar? SQL estàndard, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake i Spark SQL. Trieu el que coincideixi amb la vostra base de dades perquè les paraules clau i les cometes es gestionin de la manera que el motor espera.
Com funciona l'explicació en llenguatge planer? Llegeix l'estructura de la consulta (el tipus d'instrucció i cada clàusula com SELECT, FROM, JOIN, WHERE, GROUP BY i ORDER BY) i descriu què fa cadascuna. Descriu la forma de la consulta, no un pla d'execució de la base de dades, de manera que funciona fins i tot amb SQL parcial o específic d'un proveïdor.
És segur enganxar consultes de producció? Sí. El format i l'anàlisi s'executen completament al vostre navegador; el vostre SQL mai surt de la pàgina.