Che cos'è il formato di file DDL?
Un file .ddl è uno script SQL in formato testo semplice contenente istruzioni Data Definition Language - il sottoinsieme di SQL che definisce, modifica o rimuove le strutture del database. È funzionalmente un file .sql distinto per convenzione: l'estensione .ddl segnala che lo script contiene istruzioni di definizione dello schema piuttosto che manipolazione dei dati. Le istruzioni principali includono CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW e definizioni di CONSTRAINT.
Il DDL è distinto dal DML (Data Manipulation Language: INSERT, UPDATE, DELETE) e dal DQL (SELECT). Molti strumenti - MySQL Workbench, DBeaver, SQL Server Management Studio - possono esportare uno schema di database come file .ddl, e i framework JPA/ORM come EclipseLink generano automaticamente script .ddl dalle mappature delle entità.
Il file non ha una firma binaria; è identificato dall'estensione e dal contenuto. La codifica è UTF-8 o ASCII; i vecchi strumenti Windows potrebbero produrre Windows-1252. Uno script inizia spesso con un'intestazione di commento (-- o /* */) generata dallo strumento di esportazione, seguita da istruzioni SQL sequenziali.
La dimensione del file varia da pochi kilobyte per schemi semplici a decine di megabyte per dump completi di database aziendali. Poiché la sintassi è specifica per il DBMS - MySQL, PostgreSQL, Oracle, SQL Server e SQLite hanno ciascuno differenze di dialetto - un file .ddl non è garantito come portabile tra i motori di database senza modifiche.
Sicurezza e incolumità
RISCHIO: LOWUn file .ddl è testo semplice e non può eseguirsi da solo. È sicuro da aprire in qualsiasi editor di testo. Il rischio risiede nell'ESECUZIONE: le istruzioni DDL (specialmente DROP TABLE) modificano o distruggono la struttura del database. Revisiona sempre uno script DDL prima di eseguirlo, assicurati di avere un backup ed eseguilo solo sull'istanza di database prevista. Un DDL da una fonte non attendibile potrebbe eliminare tabelle o aggiungere account backdoor - trattalo come qualsiasi codice eseguibile.
Dettagli del formato
in sintesi- SoftQuad / SGML DDL (Document Type Definition Link) - Storica definizione di schema relativa a SGML; utilizzo moderno trascurabile, non correlato a SQL.
- Oracle DDL Export - Gli strumenti Oracle Database (SQL Developer, Data Pump) esportano le definizioni dello schema come file .ddl in sintassi Oracle SQL; stesso concetto, specifico per Oracle.
Programmi che aprono file DDL
Dettagli tecnici
specifiche approfondite| Codifica | Testo semplice - UTF-8 (strumenti moderni), ASCII o Windows-1252 (script legacy) |
| Ordine dei byte | Non applicabile - file di testo |
| Contenitore | Nessuno - singolo file di testo piatto con istruzioni SQL delimitate da righe |
| Magic bytes | Nessuno - identificato dall'estensione e dalla struttura delle parole chiave SQL; nessuna firma binaria |
| Dimensione tipica | 1 KB - 50 MB (script di tabelle semplici: pochi KB; dump di schemi aziendali completi: decine di MB) |
| Sottoinsieme SQL | DDL - definizioni CREATE, ALTER, DROP, TRUNCATE, RENAME e CONSTRAINT; solo struttura dello schema, non dati |
| Dipendenza dal dialetto | La sintassi varia in base al DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); gli script non sono garantiti come portabili tra motori senza modifiche |
| Base standard | DDL standardizzato in ANSI SQL-86 (ISO/IEC 9075:1987); standard attuale SQL:2023 (ISO/IEC 9075:2023) |
| Integrazione ORM | EclipseLink, Hibernate e altri framework JPA possono generare automaticamente script .ddl dalle mappature delle classi entità |
| Convenzioni dei commenti | Le intestazioni dei file generate dagli strumenti usano commenti SQL a riga singola -- o a blocco /* */; i commenti in linea seguono le stesse convenzioni |
| Supporto all'esportazione | MySQL Workbench, DBeaver, pgAdmin, SSMS e Oracle SQL Developer possono esportare lo schema del database direttamente come script .ddl |
| Flusso di importazione | Eseguito su un database di destinazione utilizzando client a riga di comando (mysql, psql, sqlcmd, sqlite3) o strumenti GUI; le istruzioni vengono eseguite in sequenza |
| Relazione con .sql | Funzionalmente identico; .ddl segnala contenuti di solo schema (nessuna manipolazione dei dati) per convenzione degli sviluppatori |
| Portabilità | Non garantita tra i motori DBMS senza modifiche specifiche per il dialetto |
| Rilasciato | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Ultima versione | SQL:2023 (ISO/IEC 9075:2023) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.iso.org |
Conversioni DDL
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file DDL.