Wat is het DDL-bestandsformaat?
Een .ddl-bestand is een SQL-script in platte tekst met Data Definition Language-instructies - de subset van SQL die databasestructuren definieert, wijzigt of verwijdert. Het is functioneel een .sql-bestand dat zich onderscheidt door conventie: de .ddl-extensie geeft aan dat het script schema-definitie-instructies bevat in plaats van gegevensmanipulatie. Kerninstructies omvatten CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW en CONSTRAINT-definities.
DDL is te onderscheiden van DML (Data Manipulation Language: INSERT, UPDATE, DELETE) en DQL (SELECT). Veel tools - MySQL Workbench, DBeaver, SQL Server Management Studio - kunnen een databaseschema exporteren als een .ddl-bestand, en JPA/ORM-frameworks zoals EclipseLink genereren automatisch .ddl-scripts op basis van entity-mappings.
Het bestand heeft geen binaire signatuur; het wordt geïdentificeerd door de extensie en de inhoud. De codering is UTF-8 of ASCII; oudere Windows-tools kunnen Windows-1252 produceren. Een script begint vaak met een commentaarkop (-- of /* */) gegenereerd door de exporttool, gevolgd door opeenvolgende SQL-instructies.
De bestandsgrootte varieert van enkele kilobytes voor eenvoudige schema's tot tientallen megabytes voor volledige database-dumps van ondernemingen. Omdat de syntaxis DBMS-specifiek is - MySQL, PostgreSQL, Oracle, SQL Server en SQLite hebben elk dialectverschillen - is een .ddl-bestand niet gegarandeerd uitwisselbaar tussen database-engines zonder aanpassingen.
Beveiliging & veiligheid
RISICO: LOWEen .ddl-bestand is platte tekst en kan zichzelf niet uitvoeren. Het is veilig om te openen in elke tekstverwerker. Het risico zit in het UITVOEREN ervan: DDL-instructies (vooral DROP TABLE) wijzigen of vernietigen de databasestructuur. Controleer altijd een DDL-script voordat u het uitvoert, zorg voor een back-up en voer het alleen uit tegen de beoogde database-instantie. DDL uit een niet-vertrouwde bron kan tabellen verwijderen of backdoor-accounts toevoegen - behandel het als elke andere uitvoerbare code.
Formaatdetails
in een notendop- SoftQuad / SGML DDL (Document Type Definition Link) - Historische SGML-gerelateerde schemadefinitie; verwaarloosbaar modern gebruik, niet gerelateerd aan SQL.
- Oracle DDL Export - Oracle Database-tools (SQL Developer, Data Pump) exporteren schemadefinities als .ddl-bestanden in Oracle SQL-syntaxis; hetzelfde concept, specifiek voor Oracle.
Programma's die DDL-bestanden openen
Technische details
diepe specificaties| Codering | Platte tekst - UTF-8 (moderne tools), ASCII of Windows-1252 (verouderde scripts) |
| Byte-volgorde | Niet van toepassing - tekstbestand |
| Container | Geen - enkel plat tekstbestand met door regels gescheiden SQL-instructies |
| Magic bytes | Geen - geïdentificeerd door extensie en SQL-trefwoordstructuur; geen binaire signatuur |
| Typische grootte | 1 KB - 50 MB (eenvoudige tabelscripts: enkele KB; volledige enterprise schema-dumps: tientallen MB) |
| SQL-subset | DDL - CREATE, ALTER, DROP, TRUNCATE, RENAME en CONSTRAINT-definities; alleen schemastructuur, geen gegevens |
| Dialectafhankelijkheid | Syntaxis varieert per DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); scripts zijn niet gegarandeerd uitwisselbaar tussen engines zonder aanpassing |
| Standaardbasis | DDL gestandaardiseerd in ANSI SQL-86 (ISO/IEC 9075:1987); huidige standaard SQL:2023 (ISO/IEC 9075:2023) |
| ORM-integratie | EclipseLink, Hibernate en andere JPA-frameworks kunnen automatisch .ddl-scripts genereren uit entity-class mappings |
| Commentaarconventies | Door tools gegenereerde bestandsheaders gebruiken -- voor één regel of /* */ voor blok-SQL-commentaar; inline commentaar volgt dezelfde conventies |
| Exportondersteuning | MySQL Workbench, DBeaver, pgAdmin, SSMS en Oracle SQL Developer kunnen databaseschema's direct exporteren als .ddl-scripts |
| Importworkflow | Uitgevoerd tegen een doeldatabase met behulp van opdrachtregelclients (mysql, psql, sqlcmd, sqlite3) of GUI-tools; instructies worden opeenvolgend uitgevoerd |
| Relatie tot .sql | Functioneel identiek; .ddl signaleert inhoud die alleen uit schema's bestaat (geen gegevensmanipulatie) volgens de conventie van ontwikkelaars |
| Portabiliteit | Niet gegarandeerd uitwisselbaar tussen DBMS-engines zonder dialectspecifieke aanpassingen |
| Uitgebracht | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Laatste versie | SQL:2023 (ISO/IEC 9075:2023) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.iso.org |
DDL conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DDL-bestanden.