O que é o formato de ficheiro DDL?
Um arquivo .ddl é um script SQL em texto simples contendo instruções de Linguagem de Definição de Dados (Data Definition Language) - o subconjunto do SQL que define, modifica ou remove estruturas de banco de dados. É funcionalmente um arquivo .sql distinguido por convenção: a extensão .ddl sinaliza que o script contém instruções de definição de esquema em vez de manipulação de dados. As instruções principais incluem CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW e definições de CONSTRAINT.
O DDL é distinto do DML (Linguagem de Manipulação de Dados: INSERT, UPDATE, DELETE) e do DQL (SELECT). Muitas ferramentas - MySQL Workbench, DBeaver, SQL Server Management Studio - podem exportar um esquema de banco de dados como um arquivo .ddl, e frameworks JPA/ORM como o EclipseLink geram automaticamente scripts .ddl a partir de mapeamentos de entidades.
O arquivo não possui assinatura binária; ele é identificado pela extensão e pelo conteúdo. A codificação é UTF-8 ou ASCII; ferramentas legadas do Windows podem produzir Windows-1252. Um script geralmente começa com um cabeçalho de comentário (-- ou /* */) gerado pela ferramenta de exportação, seguido por instruções SQL sequenciais.
O tamanho do arquivo varia de alguns kilobytes para esquemas simples a dezenas de megabytes para dumps completos de bancos de dados corporativos. Como a sintaxe é específica do DBMS - MySQL, PostgreSQL, Oracle, SQL Server e SQLite têm diferenças de dialeto - não há garantia de que um arquivo .ddl seja portátil entre mecanismos de banco de dados sem modificação.
Segurança e proteção
RISCO: LOWUm arquivo .ddl é texto simples e não pode ser executado por si só. É seguro abrir em qualquer editor de texto. O risco está em EXECUTÁ-LO: instruções DDL (especialmente DROP TABLE) modificam ou destroem a estrutura do banco de dados. Sempre revise um script DDL antes de executar, certifique-se de ter um backup e execute-o apenas na instância de banco de dados pretendida. Um DDL de fonte não confiável pode excluir tabelas ou adicionar contas de backdoor - trate-o como qualquer código executável.
Detalhes do formato
em resumo- SoftQuad / SGML DDL (Document Type Definition Link) - Definição de esquema histórica relacionada ao SGML; uso moderno insignificante, não relacionado ao SQL.
- Exportação Oracle DDL - Ferramentas do Oracle Database (SQL Developer, Data Pump) exportam definições de esquema como arquivos .ddl na sintaxe Oracle SQL; mesmo conceito, específico para Oracle.
Programas que abrem arquivos DDL
Detalhes técnicos
especificação profunda| Codificação | Texto simples - UTF-8 (ferramentas modernas), ASCII ou Windows-1252 (scripts legados) |
| Ordem de bytes | Não aplicável - arquivo de texto |
| Contêiner | Nenhum - arquivo de texto simples único com instruções SQL delimitadas por linhas |
| Magic bytes | Nenhum - identificado pela extensão e estrutura de palavras-chave SQL; sem assinatura binária |
| Tamanho típico | 1 KB - 50 MB (scripts de tabela simples: alguns KB; dumps de esquema corporativos completos: dezenas de MB) |
| Subconjunto SQL | DDL - definições de CREATE, ALTER, DROP, TRUNCATE, RENAME e CONSTRAINT; apenas estrutura de esquema, não dados |
| Dependência de dialeto | A sintaxe varia de acordo com o DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); os scripts não têm garantia de portabilidade entre mecanismos sem modificação |
| Base padrão | DDL padronizado no ANSI SQL-86 (ISO/IEC 9075:1987); padrão atual SQL:2023 (ISO/IEC 9075:2023) |
| Integração ORM | EclipseLink, Hibernate e outros frameworks JPA podem gerar automaticamente scripts .ddl a partir de mapeamentos de classes de entidade |
| Convenções de comentários | Cabeçalhos de arquivos gerados por ferramentas usam comentários SQL de linha única -- ou de bloco /* */; comentários internos seguem as mesmas convenções |
| Suporte de exportação | MySQL Workbench, DBeaver, pgAdmin, SSMS e Oracle SQL Developer podem exportar esquemas de banco de dados diretamente como scripts .ddl |
| Fluxo de trabalho de importação | Executado contra um banco de dados de destino usando clientes de linha de comando (mysql, psql, sqlcmd, sqlite3) ou ferramentas GUI; as instruções são executadas sequencialmente |
| Relação com .sql | Funcionalmente idêntico; .ddl sinaliza conteúdo apenas de esquema (sem manipulação de dados) por convenção de desenvolvedores |
| Portabilidade | Não há garantia de portabilidade entre mecanismos DBMS sem modificação específica do dialeto |
| Lançado | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Versão mais recente | SQL:2023 (ISO/IEC 9075:2023) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.iso.org |
Conversões de DDL
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos DDL.