¿Qué es el formato de archivo DDL?
Un archivo .ddl es un script SQL de texto plano que contiene sentencias de lenguaje de definición de datos (Data Definition Language), el subconjunto de SQL que define, modifica o elimina estructuras de bases de datos. Es funcionalmente un archivo .sql distinguido por convención: la extensión .ddl indica que el script contiene sentencias de definición de esquema en lugar de manipulación de datos. Las sentencias principales incluyen CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW y definiciones de CONSTRAINT.
El DDL es distinto del DML (lenguaje de manipulación de datos: INSERT, UPDATE, DELETE) y del DQL (SELECT). Muchas herramientas - MySQL Workbench, DBeaver, SQL Server Management Studio - pueden exportar un esquema de base de datos como un archivo .ddl, y los marcos de trabajo JPA/ORM como EclipseLink generan automáticamente scripts .ddl a partir de mapeos de entidades.
El archivo no tiene firma binaria; se identifica por su extensión y contenido. La codificación es UTF-8 o ASCII; las herramientas heredadas de Windows pueden producir Windows-1252. Un script a menudo comienza con un encabezado de comentario (-- o /* */) generado por la herramienta de exportación, seguido de sentencias SQL secuenciales.
El tamaño del archivo varía desde unos pocos kilobytes para esquemas simples hasta decenas de megabytes para volcados completos de bases de datos empresariales. Debido a que la sintaxis es específica del DBMS - MySQL, PostgreSQL, Oracle, SQL Server y SQLite tienen diferencias de dialecto - no se garantiza que un archivo .ddl sea portátil entre motores de bases de datos sin modificaciones.
Seguridad y protección
RIESGO: LOWUn archivo .ddl es texto plano y no puede ejecutarse por sí mismo. Es seguro abrirlo en cualquier editor de texto. El riesgo está en EJECUTARLO: las sentencias DDL (especialmente DROP TABLE) modifican o destruyen la estructura de la base de datos. Revise siempre un script DDL antes de ejecutarlo, asegúrese de tener una copia de seguridad y ejecútelo solo contra la instancia de base de datos prevista. El DDL de una fuente no confiable podría eliminar tablas o agregar cuentas de puerta trasera; trátelo como cualquier código ejecutable.
Detalles del formato
en pocas palabras- SoftQuad / SGML DDL (Document Type Definition Link) - Definición de esquema histórica relacionada con SGML; uso moderno insignificante, no relacionado con SQL.
- Exportación DDL de Oracle - Las herramientas de Oracle Database (SQL Developer, Data Pump) exportan definiciones de esquemas como archivos .ddl en sintaxis SQL de Oracle; mismo concepto, específico para Oracle.
Programas que abren archivos DDL
Detalles técnicos
especificación profunda| Codificación | Texto plano - UTF-8 (herramientas modernas), ASCII o Windows-1252 (scripts heredados) |
| Orden de bytes | No aplicable - archivo de texto |
| Contenedor | Ninguno - archivo de texto plano único con sentencias SQL delimitadas por líneas |
| Bytes mágicos | Ninguno - identificado por la extensión y la estructura de palabras clave SQL; sin firma binaria |
| Tamaño típico | 1 KB - 50 MB (scripts de tablas simples: unos pocos KB; volcados de esquemas empresariales completos: decenas de MB) |
| Subconjunto SQL | DDL - definiciones de CREATE, ALTER, DROP, TRUNCATE, RENAME y CONSTRAINT; solo estructura de esquema, no datos |
| Dependencia de dialecto | La sintaxis varía según el DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); no se garantiza que los scripts sean portátiles entre motores sin modificaciones |
| Base estándar | DDL estandarizado en ANSI SQL-86 (ISO/IEC 9075:1987); estándar actual SQL:2023 (ISO/IEC 9075:2023) |
| Integración ORM | EclipseLink, Hibernate y otros marcos JPA pueden generar automáticamente scripts .ddl a partir de mapeos de clases de entidad |
| Convenciones de comentarios | Los encabezados de archivos generados por herramientas usan comentarios SQL de una sola línea -- o de bloque /* */; los comentarios en línea siguen las mismas convenciones |
| Soporte de exportación | MySQL Workbench, DBeaver, pgAdmin, SSMS y Oracle SQL Developer pueden exportar esquemas de bases de datos directamente como scripts .ddl |
| Flujo de trabajo de importación | Se ejecuta contra una base de datos de destino utilizando clientes de línea de comandos (mysql, psql, sqlcmd, sqlite3) o herramientas GUI; las sentencias se ejecutan secuencialmente |
| Relación con .sql | Funcionalmente idéntico; .ddl indica contenido solo de esquema (sin manipulación de datos) por convención del desarrollador |
| Portabilidad | No se garantiza la portabilidad entre motores DBMS sin modificaciones específicas del dialecto |
| Lanzado | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Última versión | SQL:2023 (ISO/IEC 9075:2023) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.iso.org |
Conversiones de DDL
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos DDL.