2 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Al pegar un esquema SQL, visualiza al instante tablas, columnas, claves y relaciones como un ERD dentro del navegador
  • Analiza DDL CREATE TABLE y ALTER TABLE de PostgreSQL, MySQL, SQLite y SQL Server, y maneja claves primarias y foráneas, además de restricciones unique y not-null
  • Ofrece edición interactiva con arrastre de tablas, distribución automática, notas, zoom y cambio de nombre con doble clic
  • El resultado se puede exportar como PNG de alta resolución, SVG vectorial, archivo del proyecto y enlace compartible con el diagrama codificado en la URL
  • No requiere cuenta, registro ni instalación, y se enfoca en la ejecución local porque el esquema SQL no se sube ni se guarda en el servidor

Pega SQL, visualiza el esquema

  • Si colocas sentencias CREATE TABLE en el editor de la izquierda, el esquema SQL se muestra como un diagrama ER
  • El esquema de ejemplo es una pequeña estructura de comercio electrónico compuesta por 6 tablas y 7 relaciones: users, addresses, products, orders, order_items y reviews
  • Puedes arrastrar las tablas, usar la rueda para hacer zoom, cambiar nombres con doble clic y exportar al terminar
  • Incluye una función para cargar el esquema de ejemplo, y en pantalla se muestra un nivel de zoom de 122 %
  • Todo el procesamiento se ejecuta 100 % localmente en el navegador, y el esquema no sale del navegador

SQL to ER Diagram — generador gratuito de ERD en línea

  • SQL to ER Diagram es una herramienta gratuita y de código abierto que convierte esquemas SQL en un ERD interactivo dentro del navegador
  • Al pegar sentencias CREATE TABLE, visualiza al instante tablas, columnas, claves primarias, claves foráneas y relaciones
  • Funciona con PostgreSQL, MySQL, SQLite y SQL Server
  • Soporta arrastre de tablas, alineación automática del layout, adición de notas y exportación a PNG o SVG
  • No se sube nada y el esquema permanece en el dispositivo del usuario

Preguntas frecuentes

  • Para crear un diagrama ER a partir de SQL, solo hay que pegar sentencias SQL CREATE TABLE en el editor, y la herramienta renderiza al instante un ERD interactivo
    • Después puedes arrastrar las tablas para acomodarlas y exportar como PNG o SVG
  • Los dialectos SQL compatibles son PostgreSQL, MySQL, SQLite y SQL Server, y analiza DDL estándar CREATE TABLE y ALTER TABLE
    • Maneja claves primarias, claves foráneas y restricciones unique y not-null
  • SQL to ER Diagram es completamente gratuito y de código abierto, y no requiere cuenta ni registro
  • Todo funciona localmente en el navegador, y el esquema SQL no se sube ni se guarda en el servidor
  • Los diagramas se pueden exportar como PNG de alta resolución, SVG vectorial, archivo completo del proyecto y enlace compartible con el diagrama codificado en la URL
  • No requiere instalación y funciona en navegadores web de escritorio y móviles

1 comentarios

 
GN⁺ 3 시간 전
Comentarios de Hacker News
  • Me recordó a una herramienta que hice hace unos meses con v0: https://v0-yaerd.vercel.app
    No veía ninguna herramienta que pudiera interpretar archivos de migración de Laravel para crear un ERD, así que la hice, y después también le agregué soporte básico para SQL mediante prompts

  • La herramienta está muy buena, pero no creo que se pueda hacer un diagrama ER solo con SQL
    Entidad y tabla son cosas fundamentalmente distintas, y aunque se parecen mucho, en SQL no hay suficiente información para construir propiamente un diagrama ER
    No quiero decir que esta herramienta sea inútil ni que este tipo de diagrama no ayude; es una observación algo teórica y quizá otros no estén de acuerdo

    • Creo que el principio básico de muchísimos ORM es justamente que entidades y tablas normalmente se corresponden entre sí
      Claro, el DDL no dice gran cosa sobre el ciclo de vida de una entidad, pero si el criterio es representar en un gráfico relaciones, campos y cardinalidad, parece suficiente
    • Dicho con más precisión, según la definición de Chen, un diagrama ER extraído de SQL es un diagrama físico del nivel más bajo, y a partir de ahí no se puede reconstruir un diagrama lógico/conceptual
      Hoy en día no parece que mucha gente le dé importancia a esa diferencia
    • El objetivo de convertir SQL a ER es entender una base de datos desconocida
      La BD ya existe, pero puede no tener ERD y casi no tener documentación
      Así que se parece más a una herramienta de exploración y, en el escenario ideal, debería permitir crear vistas y añadir notas
      Esto porque cuando hay muchísimas tablas o muchas tablas sin claves foráneas, no hace falta ver todo el ERD de una sola vez
    • Estaría bueno que explicaras un poco más la diferencia
      En la práctica casi pueden usarse como si fueran lo mismo, pero conceptualmente parece que puede haber una capa semántica más rica por encima de entidades y relaciones
      Por ejemplo, descripciones de relaciones o anotaciones adicionales adjuntas a entidades
    • Estaría bueno que lo explicaras con más detalle
      Siempre entendí que una entidad tiene una relación 1:1 con una tabla, y un ejemplo ayudaría mucho
  • La usabilidad en móvil es 1000 sobre 100
    El paneo, el zoom, la selección y el movimiento son tan fluidos que pensé que me lo estaba imaginando

    • Todo el codebase se siente honestamente refrescante: https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...
      Me encantan los desarrolladores que logran destilar problemas complejos en soluciones simples, y este desarrollador realmente destaca
      No se me ocurre un elogio más grande que darle a un desarrollador
    • Lo primero que pensé fue que la parte del diagrama debería separarse como una librería independiente
      Parece que esa funcionalidad de diagramas serviría para muchas otras cosas además de ERD
    • Está realmente muy bien
      Incluso si editas con doble toque, el nivel de zoom no se reinicia
      Definitivamente está entre los sitios más amigables para móvil que he visto
    • Lo único molesto es que en Safari móvil hacer clic en un campo de texto hace zoom, pero ese es un problema que todos sufrimos
  • No es nada enorme, solo una herramienta pequeña, pero pensé que también podría ser útil para otras personas
    Me seguía tocando visualizar esquemas de bases de datos, y la mayoría de las herramientas tenían muro de pago, registro obligatorio o el problema de mandar tu SQL al servidor de alguien más
    Sin backend, sin cuentas, y tus datos no salen de tu dispositivo
    También hubo partes divertidas de implementar: en vez de DOM/SVG, rasteriza las tablas como mapas de bits cacheados y usa viewport culling para mantener todo fluido incluso con cientos de tablas en pantalla
    El parser SQL rastrea el rango de origen de cada token, así que ediciones como renombrar una tabla cambian con precisión solo los identificadores y referencias relacionados, mientras dejan intactos los comentarios y el formato
    El esquema completo va en la URL, y compartirlo funciona serializando el esquema en la propia URL, así que no hace falta backend, estado persistido ni cuentas
    También experimentó con una versión en Rust/WASM, pero el costo del límite JS↔WASM resultó mayor que el ahorro de cómputo, así que el parser fue aproximadamente 37% más lento, aunque la pasada O(n^2) de resolución de solapamientos fue unas 2.2 veces más rápida
    Al final se quedó con JavaScript puro, y sin framework pesa unos 32 KB gzip

    • En el título dice que es gratis, así que me da curiosidad qué licencia de software libre usa
      Si no hay una licencia explícita, puede ser código abierto, pero no software libre
    • Si el esquema completo va en la URL, me pregunto si eso no causará problemas por los límites de longitud de URL
      “Se RECOMIENDA que todos los emisores y receptores soporten, como mínimo, URI con una longitud de 8000 octetos dentro de elementos del protocolo.”
      https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
    • Está muy bien hecho
      Es responsivo, limpio, y la experiencia de onboarding sin fricción de registro es excelente
  • La distinción entre “entidad vs tabla” sí existe, pero para la gran mayoría de los desarrolladores que solo quieren visualizar rápido un esquema existente, esto me parece más que suficiente
    Aquí lo perfecto es enemigo de lo útil
    La mayoría no está intentando construir una abstracción ORM; solo quiere ver qué está conectado con qué

  • Me recordó a https://explain.dalibo.com/
    Es una herramienta para visualizar planes de ejecución de consultas, y fue de las más útiles que he usado para optimizar consultas SQL
    Si la vas a usar con datos sensibles, conviene descargar abajo la versión v2 completamente offline

  • Estaría bueno tener opciones de líneas rectas y de ángulos de 90 grados
    Nunca me gustaron mucho las líneas curvas, aunque se ve muy bien y está muy bien hecho

    • Lo agregaré a la lista de pendientes
  • Me pregunto si hay forma de generar estos SVGs desde una CLI
    Me encanta, y también me gustó la extensión de Postgres para VSCode que hace algo parecido, pero está atada a VSCode
    Tampoco tiene una opción de CLI exportable para dejarla en el repositorio

  • Estoy usando https://github.com/ondras/wwwsqldesigner y creo que vale la pena considerarlo como punto de comparación

    • ¿Es el Ondras de V8CGI?
      Me encantó ese proyecto; fue una de las primeras implementaciones de JS del lado del servidor
      Capaz yo era el único seguidor, pero Ondřej, tu trabajo fue buenísimo
  • Está bien, pero no hay archivo LICENSE en GitHub: https://github.com/royalbhati/sqltoerdiagram