Qu'est-ce que le format de fichier DDL ?
Un fichier .ddl est un script SQL en texte brut contenant des instructions Data Definition Language - le sous-ensemble du SQL qui définit, modifie ou supprime les structures de base de données. Il s'agit fonctionnellement d'un fichier .sql distingué par convention : l'extension .ddl signale que le script contient des instructions de définition de schéma plutôt que de manipulation de données. Les instructions de base incluent CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW et les définitions de CONSTRAINT.
Le DDL est distinct du DML (Data Manipulation Language : INSERT, UPDATE, DELETE) et du DQL (SELECT). De nombreux outils - MySQL Workbench, DBeaver, SQL Server Management Studio - peuvent exporter un schéma de base de données sous forme de fichier .ddl, et les frameworks JPA/ORM tels qu'EclipseLink génèrent automatiquement des scripts .ddl à partir des mappages d'entités.
Le fichier n'a pas de signature binaire ; il est identifié par son extension et son contenu. L'encodage est UTF-8 ou ASCII ; les outils Windows hérités peuvent produire du Windows-1252. Un script commence souvent par un en-tête de commentaire (-- ou /* */) généré par l'outil d'exportation, suivi d'instructions SQL séquentielles.
La taille du fichier varie de quelques kilo-octets pour des schémas simples à des dizaines de méga-octets pour des vidages complets de bases de données d'entreprise. Étant donné que la syntaxe est spécifique au DBMS - MySQL, PostgreSQL, Oracle, SQL Server et SQLite ont chacun des différences de dialecte - un fichier .ddl n'est pas garanti d'être portable entre les moteurs de base de données sans modification.
Sécurité et sûreté
RISQUE : LOWUn fichier .ddl est du texte brut et ne peut pas s'exécuter de lui-même. Il peut être ouvert en toute sécurité dans n'importe quel éditeur de texte. Le risque réside dans son EXÉCUTION : les instructions DDL (en particulier DROP TABLE) modifient ou détruisent la structure de la base de données. Examinez toujours un script DDL avant de l'exécuter, assurez-vous d'avoir une sauvegarde et ne l'exécutez que sur l'instance de base de données prévue. Un DDL provenant d'une source non fiable pourrait supprimer des tables ou ajouter des comptes dérobés - traitez-le comme n'importe quel code exécutable.
Détails du format
en bref- SoftQuad / SGML DDL (Document Type Definition Link) - Définition de schéma historique liée au SGML ; utilisation moderne négligeable, sans rapport avec le SQL.
- Export DDL Oracle - Les outils Oracle Database (SQL Developer, Data Pump) exportent les définitions de schéma sous forme de fichiers .ddl en syntaxe Oracle SQL ; même concept, spécifique à Oracle.
Programmes qui ouvrent les fichiers DDL
Détails techniques
spécifications approfondies| Encodage | Texte brut - UTF-8 (outils modernes), ASCII ou Windows-1252 (scripts hérités) |
| Ordre des octets | Non applicable - fichier texte |
| Conteneur | Aucun - fichier texte plat unique avec des instructions SQL délimitées par des lignes |
| Octets magiques | Aucun - identifié par l'extension et la structure des mots-clés SQL ; pas de signature binaire |
| Taille typique | 1 Ko - 50 Mo (scripts de table simples : quelques Ko ; vidages de schémas d'entreprise complets : dizaines de Mo) |
| Sous-ensemble SQL | DDL - définitions CREATE, ALTER, DROP, TRUNCATE, RENAME et CONSTRAINT ; structure de schéma uniquement, pas de données |
| Dépendance au dialecte | La syntaxe varie selon le DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite) ; la portabilité des scripts n'est pas garantie sans modification |
| Base standard | DDL standardisé dans ANSI SQL-86 (ISO/IEC 9075:1987) ; standard actuel SQL:2023 (ISO/IEC 9075:2023) |
| Intégration ORM | EclipseLink, Hibernate et d'autres frameworks JPA peuvent générer automatiquement des scripts .ddl à partir des mappages de classes d'entités |
| Conventions de commentaires | Les en-têtes de fichiers générés par les outils utilisent des commentaires SQL sur une seule ligne -- ou par bloc /* */ ; les commentaires en ligne suivent les mêmes conventions |
| Support d'exportation | MySQL Workbench, DBeaver, pgAdmin, SSMS et Oracle SQL Developer peuvent exporter le schéma de base de données directement sous forme de scripts .ddl |
| Flux d'importation | Exécuté sur une base de données cible à l'aide de clients en ligne de commande (mysql, psql, sqlcmd, sqlite3) ou d'outils GUI ; les instructions s'exécutent séquentiellement |
| Relation avec .sql | Fonctionnellement identique ; .ddl signale un contenu de schéma uniquement (pas de manipulation de données) par convention de développeur |
| Portabilité | Non garantie entre les moteurs de DBMS sans modification spécifique au dialecte |
| Publié | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Dernière version | SQL:2023 (ISO/IEC 9075:2023) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.iso.org |
Conversions DDL
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers DDL.