Saltar al contenido
Diseño de BD

Generador de DDL

Diseña tablas de forma visual y genera sentencias CREATE TABLE (MySQL / PostgreSQL / SQLite) junto con un diagrama ER. También puedes pegar una muestra JSON para inferir las columnas automáticamente. Todo se ejecuta en tu navegador; nada de lo que ingreses se envía a ningún sitio.

Guía: Cómo usarlo y características

  • Pega un objeto o array JSON en "Generar desde JSON" para añadir una tabla con tipos de columna, clave primaria y NOT NULL ya inferidos.
  • En "Diseño de tablas" puedes editar el nombre de la tabla, columnas, tipos, PK/NOT NULL/UNIQUE/autoincremento y valores por defecto directamente.
  • En "Relaciones", elige una tabla/columna origen y una tabla/columna destino para añadir una clave foránea y su línea en el diagrama ER.
  • Elige un dialecto (MySQL / PostgreSQL / SQLite) y pulsa "Generar DDL" para obtener las sentencias CREATE TABLE con ese formato.

FAQ: Preguntas frecuentes

  • ¿Cómo cambian los tipos entre MySQL, PostgreSQL y SQLite?

    Las tablas se guardan internamente con tipos lógicos comunes (INTEGER, DECIMAL, VARCHAR, etc.) y solo se convierten a los tipos reales de cada base de datos al generar el DDL. Por ejemplo, BOOLEAN se convierte en INTEGER en SQLite, y una clave primaria autoincremental se convierte en AUTO_INCREMENT en MySQL, SERIAL en PostgreSQL e INTEGER PRIMARY KEY AUTOINCREMENT en SQLite.
  • ¿Qué ocurre con NOT NULL, UNIQUE y el valor por defecto si marco una columna como PK?

    Una clave primaria es NOT NULL y UNIQUE por definición, así que al marcar PK se ignoran esos ajustes y solo se genera "TIPO PRIMARY KEY" (más AUTO_INCREMENT/SERIAL si el autoincremento está activado).
  • ¿Cómo se manejan los datos anidados al generar desde JSON?

    Una propiedad de nivel superior cuyo valor es un array de objetos se separa automáticamente en su propia tabla con una clave foránea hacia la tabla padre. Un objeto anidado simple se convierte en una columna de tipo JSON. El anidamiento de más de un nivel no se divide automáticamente.

Casos de uso: Casos de uso habituales

  • Bocetar tablas para una nueva API o servicio

    Monta visualmente las tablas y columnas que necesitas en las primeras etapas de un proyecto y expórtalas directamente como sentencias CREATE TABLE.

  • Deducir un esquema de BD a partir de una respuesta JSON existente

    Pega una muestra JSON de una respuesta de API o un registro de log para generar automáticamente una estructura de tablas y un DDL de partida.

  • Generar un diagrama ER para una revisión de diseño en equipo

    Consulta al instante la estructura de tablas diseñada como un diagrama ER en formato Mermaid, útil para alinear el diseño durante una revisión.

  • Un flujo completo de diseño a consulta con sql-to-er / SQL Builder

    Envía el DDL generado a SQL Builder para empezar a construir consultas, o pégalo más tarde en sql-to-er para revisar la estructura.

Notas: Notas y limitaciones

  • El DDL generado solo cubre restricciones básicas

    Se admiten PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT y FOREIGN KEY, pero no se generan índices, restricciones CHECK, juegos de caracteres/collation ni particionado. Revisa siempre el resultado antes de usarlo en una migración de producción.

  • La inferencia de tipos desde JSON depende de tu muestra

    Los tipos solo pueden inferirse a partir de los valores presentes en la muestra proporcionada. Si una columna puede contener realmente otros tipos de valores, ajusta el tipo inferido a mano.

Generar desde JSON (opcional)

Diseño de tablas

Relaciones (claves foráneas)

Salida DDL

Vista previa del diagrama ER

Artículos para esta herramienta

Articulos recientes

Introducción
2026-08-03

Cómo generar sentencias CREATE TABLE desde un diseño visual | Generador de DDL

Un vistazo al interior del Generador de DDL, que convierte un diseño visual de tablas en sentencias CREATE TABLE y un diagrama ER. Incluye las reglas de conversión de tipos para MySQL/PostgreSQL/SQLite y el algoritmo de inferencia de columnas desde JSON.

Caso de uso
2026-07-21

Patrones de diseño de needs en GitHub Actions: acelere la CI y evite los antipatrones

Referencia de patrones para las dependencias entre jobs (needs) en GitHub Actions. Cubre la ramificación en diamante, la cancelación con concurrency, el equilibrio de fail-fast, las trampas de matrix con needs y los workflows reutilizables, con ejemplos YAML listos para copiar.

Caso de uso
2026-07-21

Referencia de sintaxis de diagramas ER en Mermaid: símbolos de relación y ejemplos reales

Referencia completa de la sintaxis erDiagram de Mermaid: chuleta de cardinalidad (pata de gallo), relaciones uno a muchos frente a muchos a muchos, atributos con PK/FK y un ejemplo completo de comercio electrónico.

Introducción
2026-07-21

Cómo construir consultas SELECT y JOIN visualmente con un SQL Builder

Ensamble cláusulas SELECT, WHERE y JOIN en su navegador con un constructor visual de SQL. Cómo funciona el entrecomillado automático de valores, tabla de uso de JOIN y cómo unir varias tablas.

Caso de uso
2026-07-21

Referencia completa de JOIN en SQL: diferencias entre INNER, LEFT, RIGHT y FULL

Referencia de los tipos de JOIN en SQL (INNER/LEFT/RIGHT/FULL/CROSS/SELF) con una chuleta y ejemplos de conteo de filas. Explica por qué los JOIN uno a muchos duplican filas, la trampa de NULL entre WHERE y ON, y cómo escribir JOINs con varias tablas.

Introducción
2026-07-16

Case Converter ― convierta a 9 estilos de nomenclatura a la vez: camelCase, snake_case, kebab-case

Cómo convertir identificadores y nombres de variables a 9 estilos de nomenclatura simultáneamente: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case y más. Cubre el manejo de mayúsculas consecutivas (HTTPServer), dígitos y conversión de listas completas.

Anuncio

Anuncio