BrunoP.Blog

Cómo generar un diagrama ER a partir del SQL (sin instalar nada, sin cuenta, con auditoría de seguridad)

Heredé una base de datos sin documentación: schema crudo, sin diagrama, sin saber si había fallas de seguridad o problemas de privacidad. Insight lo resuelve en el navegador — pega el SQL, obtén el diagrama, la auditoría y el código de modelo listo.

Hace unos meses tomé un proyecto para mantener. El cliente me mandó un archivo .sql con la "base de datos del sistema" y un "fijate si está todo bien". Lo abrí: cuarenta y pico de tablas, miles de líneas de CREATE TABLE, cero documentación, cero diagrama. Para entender cómo usuarios se conectaba con pedidos y pagos, tenía que leerlo línea por línea. Y leyendo encontré el susto: CPF y números de tarjeta guardados en campos de texto común, una contraseña en un VARCHAR(32) (o sea, MD5 o texto plano). Esa base era una multa de privacidad esperando para ocurrir — y nadie lo había notado. Ese día dejé de leer esquemas a mano y construí Insight.

El problema: la base es la parte más importante y la menos visible del sistema

Casi todo bug serio de software nace en una estructura de datos mal pensada. Pero la base es justo la parte que no ves — es texto. Y cuando de verdad necesitás entender un esquema, chocás con cuatro paredes:

  • Ver el dibujo. Tenés el SQL pero no el plano. Las herramientas que dibujan diagramas o son pesadas (instalar el Workbench entero), o te piden subir tu esquema a un sitio de terceros — y el esquema es literalmente el plano de tu producto, información sensible — o lo traban todo detrás de registro y plan pago.
  • Saber si es seguro (y legal). Una contraseña en un campo demasiado corto para un hash fuerte, CPF/correo/teléfono tirados sin cuidado, un número de tarjeta o CVV guardado, una tabla sin clave primaria. Nada de esto aparece solo — te enterás cuando se vuelve incidente, fuga o multa.
  • Estimar el costo. Antes de contratar un servidor, ¿cuánto va a ocupar tu base de verdad? Sin eso, o pagás de más "por las dudas", o descubrís tarde que faltó espacio.
  • Escribir el código repetitivo. Después de entender la base, todavía hay que tipear a mano decenas de migraciones y modelos — trabajo mecánico que nadie disfruta.

El hilo común: necesitás conversar con una base que solo habla SQL crudo, y las herramientas para eso o son demasiado, o quieren tus datos, o quieren tu tarjeta.

La solución: Insight, gratis y sin subir nada

Insight hace una sola cosa, bien hecha: pegás el CREATE TABLE y te devuelve, al instante, el plano de tu base. Sin instalar nada, sin registro, gratis — y el detalle que para mí es innegociable: 100% en el navegador. El SQL que pegás no se envía a ningún servidor, no pasa por una API, no queda guardado en otro lado que tu propia máquina. Tiene sentido: el esquema describe cómo funciona tu producto por dentro; eso no debería salir de tu computadora solo para que veas un dibujo.

Lo que te entrega de una vez

  • Diagrama ER al instante. Cada tabla se vuelve un bloque visual y arrastrable. Las relaciones aparecen conectadas solas — tanto las claves foráneas declaradas (FOREIGN KEY ... REFERENCES) como la convención user_id → users que todos usan.
  • Auditoría de seguridad y LGPD. Un security score y una lista de riesgos en lenguaje claro: "esta contraseña entra en un campo demasiado corto para un hash fuerte", "este campo es un CPF y necesita cuidado de privacidad", "esto es un número de tarjeta, atención al PCI-DSS", "esta tabla no tiene clave primaria". Es la radiografía que me habría salvado en aquel proyecto.
  • Estimación de tamaño. Indicá cuántas filas debería tener cada tabla y estima el espacio — para dimensionar el servidor antes de contratarlo, no después.
  • Código listo. Un clic genera las migraciones en Laravel o los modelos en Sequelize, con los tipos mapeados y los campos nullable correctos. Salís del diagrama ya con el esqueleto del back-end en la mano.

Dibujar el plano de mi base

Preguntas frecuentes

¿Necesito instalar algo o crear cuenta? No. Es gratis, sin registro y corre en el navegador — abrís, pegás el CREATE TABLE y listo.
¿Mi SQL se envía a algún servidor? No. Todo el procesamiento ocurre en tu navegador; el esquema no sale de tu máquina. El único lugar donde queda algo guardado es el localStorage de tu propio navegador, para que no pierdas el trabajo.
¿Funciona con MySQL y PostgreSQL? Sí. El parser entiende el CREATE TABLE de ambos, con opciones de tabla (ENGINE, charset), tipos con tamaño y claves foráneas.
¿La auditoría de LGPD reemplaza a un especialista? No — es una primera radiografía automática que detecta los errores comunes (contraseña débil, dato personal expuesto, sin clave primaria). Los casos sensibles aún requieren análisis dedicado.