Herramienta gratuita
SQL a diagrama ER
Pega sentencias CREATE TABLE o el volcado completo de un esquema de base de datos y obtén un diagrama ER: cada tabla con sus columnas y claves, y una línea por cada clave foránea. El dialecto SQL se detecta por ti: PostgreSQL, MySQL y MariaDB, SQL Server, SQLite y, en parte, Oracle. No necesitas cuenta para probarlo.
Resultado de ejemplo
Cómo funciona
Pega o suelta tu SQL
Sentencias CREATE TABLE, un archivo de migración o un volcado completo de pg_dump, mysqldump, SSMS o sqlite3. Puedes soltar varios archivos .sql a la vez y se leen juntos, hasta 8 MB en total.
Mira el diagrama ER
Cada tabla se convierte en una tarjeta que lista sus columnas con su tipo y las marcas PK, FK y UK. Cada clave foránea se convierte en una línea desde la columna que la contiene hasta la clave a la que apunta.
Ábrelo en Archboard
Guárdalo como un diagrama nuevo para reorganizarlo, anotarlo, compartir un enlace o exportarlo en SVG y PNG. Para registrarte basta una cuenta de Google o GitHub.
Qué se dibuja a partir de tu SQL
El diagrama se construye con estas partes de las sentencias CREATE TABLE:
CREATE TABLECada CREATE TABLE como una tarjeta con el nombre de la tabla y una fila por columna: su nombre, su tipo y un signo de interrogación si admite NULL. Las tarjetas muestran hasta 24 columnas y luego cuántas quedan.
PRIMARY KEYUNIQUELas claves primarias, marcadas como PK en cada columna que abarcan, aunque abarquen varias. Una restricción UNIQUE, o un índice único creado con CREATE UNIQUE INDEX, sobre una sola columna marca esa columna como UK.
FOREIGN KEYREFERENCESALTER TABLELas claves foráneas escritas en línea con REFERENCES, declaradas como restricciones de tabla o añadidas después con ALTER TABLE, cada una dibujada como una línea entre las dos columnas. También se muestra una clave que apunta a su propia tabla, como parent_id.
CREATE SCHEMALos esquemas, creados con CREATE SCHEMA o usados en nombres como sales.orders, dibujados como marcos alrededor de sus tablas cuando el SQL usa más de uno. Un esquema sin tablas no tiene marco.
NOT NULLUNIQUEExtremos de pata de gallo que leen la relación a partir de las columnas: una clave foránea NOT NULL es obligatoria, una que admite NULL es opcional, y si la clave foránea además es única o es la clave primaria, la relación es uno a uno.
Dialectos SQL que lee
PostgreSQL, MySQL y MariaDB, SQL Server y SQLite se leen cada uno con sus propias reglas de comillas, comentarios y separadores de sentencias, así que un archivo de pg_dump, un mysqldump con bloques DELIMITER o un script de SSMS lleno de líneas GO funcionan tal cual. Oracle se lee en parte: se dibujan las tablas, las claves y las claves foráneas, y se omiten los bloques PL/SQL que terminan con una línea que solo contiene una barra. Si las pistas se contradicen, entra un lector genérico, y puedes elegir el dialecto tú mismo en cualquier momento.
Lo que el diagrama ER deja fuera
- Las filas de datos. INSERT, COPY y otras sentencias de datos se omiten sin leerse, así que un volcado con datos da el mismo diagrama que uno solo del esquema.
- Vistas, funciones, procedimientos, disparadores y secuencias. Se omiten, y la vista previa indica cuántos de cada tipo quedaron fuera. Las vistas y los disparadores que mysqldump escribe dentro de comentarios de versión se omiten como comentarios y no se cuentan.
- Valores por defecto, expresiones CHECK, comentarios y los valores permitidos de las columnas ENUM y SET. Las columnas muestran solo su nombre, su tipo y sus marcas de clave.
- Todo lo que viene de un servidor en marcha. La herramienta lee el texto SQL que le das y no se conecta a ninguna base de datos, así que no se muestran recuentos de filas, tamaños de tabla ni planes de consulta.
Preguntas sobre SQL a diagrama ER
¿Qué dialectos SQL se admiten?
PostgreSQL, MySQL y MariaDB, SQL Server y SQLite, y Oracle en parte. El dialecto se detecta por pistas como las comillas invertidas, las líneas GO o las cadenas entre dólares, y la vista previa indica cuál usó. Si la detección falla, elige otro de la lista y quedará fijado. Para otras bases de datos, un lector genérico lee las sentencias CREATE TABLE y ALTER TABLE estándar.
¿Puedo pegar un volcado completo con datos?
Sí. Las sentencias INSERT y COPY se omiten sin leerse, junto con las líneas SET, los comentarios y el resto del ruido del volcado, así que el diagrama es el mismo que con un volcado solo del esquema. Aun así, un volcado solo del esquema es más pequeño y se lee más rápido: pg_dump --schema-only, mysqldump --no-data o sqlite3 con .schema.
¿Qué tamaño de esquema puede leer?
Hasta 8 MB de SQL y 1000 tablas. El texto de más de 2 MB no se muestra en el cuadro de texto, pero se lee igualmente. El diagrama admite como máximo 2000 elementos, contando juntos tablas, líneas y marcos de esquema, así que un esquema muy conectado puede llegar antes a ese límite; en ese caso ayuda volcar un esquema cada vez.
¿Funciona con Oracle?
En parte. Los scripts de Oracle, como los de SQL Developer, se reconocen por VARCHAR2, NUMBER y las líneas que solo contienen una barra, o puedes elegir Oracle en la lista de dialectos. Se dibujan CREATE TABLE, las claves primarias, las restricciones únicas y las claves foráneas añadidas con ALTER TABLE. Se omiten los paquetes PL/SQL, los disparadores y otros bloques que terminan con una línea de barra, igual que las sentencias CONNECT y GRANT.
¿Qué se guarda al abrir el diagrama en Archboard?
La vista previa no se guarda. Cuando eliges Abrir en Archboard, el diagrama dibujado, es decir, las tarjetas de tabla con los nombres y tipos de columna y las líneas entre ellas, se guarda como un diagrama nuevo en tu espacio de trabajo. Es una instantánea: los cambios posteriores en el esquema no lo actualizan.
¿La herramienta de SQL a diagrama ER es gratuita?
Sí. Pegar SQL y ver el diagrama no requieren cuenta. Para abrir el diagrama en Archboard basta una cuenta gratuita.
Abre un lienzo en un minuto
Inicia sesión con Google o GitHub. Gratis para un asiento. Mejora el plan cuando se una el equipo.