Hvad er DDL-filformatet?
En .ddl-fil er et SQL-script i almindelig tekst, der indeholder Data Definition Language-sætninger - den delmængde af SQL, der definerer, ændrer eller fjerner databasestrukturer. Det er funktionelt en .sql-fil, der adskiller sig ved konvention: .ddl-filtypen signalerer, at scriptet indeholder skema-definitions-sætninger snarere end datamanipulation. Kerne-sætninger inkluderer CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW og CONSTRAINT-definitioner.
DDL er forskellig fra DML (Data Manipulation Language: INSERT, UPDATE, DELETE) og DQL (SELECT). Mange værktøjer - MySQL Workbench, DBeaver, SQL Server Management Studio - kan eksportere et databaseskema som en .ddl-fil, og JPA/ORM-frameworks såsom EclipseLink genererer automatisk .ddl-scripts ud fra entitets-mappings.
Filen har ingen binær signatur; den identificeres ved filtype og indhold. Kodningen er UTF-8 eller ASCII; ældre Windows-værktøjer kan producere Windows-1252. Et script begynder ofte med et kommentarhoved (-- eller /* */) genereret af eksportværktøjet, efterfulgt af sekventielle SQL-sætninger.
Filstørrelsen varierer fra få kilobytes for simple skemaer til titusindvis af megabytes for fulde virksomheds-databasedumps. Da syntaksen er DBMS-specifik - MySQL, PostgreSQL, Oracle, SQL Server og SQLite har hver især dialektforskelle - er en .ddl-fil ikke garanteret at være portabel på tværs af databasemotorer uden ændringer.
Sikkerhed og tryghed
RISIKO: LOWEn .ddl-fil er almindelig tekst og kan ikke udføre sig selv. Den er sikker at åbne i enhver teksteditor. Risikoen ligger i at KØRE den: DDL-sætninger (især DROP TABLE) ændrer eller ødelægger databasestrukturen. Gennemgå altid et DDL-script før udførelse, sørg for at have en sikkerhedskopi, og kør det kun mod den tilsigtede databaseinstans. DDL fra en upålidelig kilde kan slette tabeller eller tilføje bagdørskonti - behandl det som enhver anden eksekverbar kode.
Formatdetaljer
kort fortalt- SoftQuad / SGML DDL (Document Type Definition Link) - Historisk SGML-relateret skemadefinition; ubetydelig moderne brug, ikke relateret til SQL.
- Oracle DDL Export - Oracle Database-værktøjer (SQL Developer, Data Pump) eksporterer skemadefinitioner som .ddl-filer i Oracle SQL-syntaks; samme koncept, specifikt for Oracle.
Programmer der åbner DDL-filer
Tekniske detaljer
dyb specifikation| Kodning | Almindelig tekst - UTF-8 (moderne værktøjer), ASCII eller Windows-1252 (ældre scripts) |
| Byte-rækkefølge | Ikke relevant - tekstfil |
| Container | Ingen - enkelt flad tekstfil med linjeafgrænsede SQL-sætninger |
| Magic bytes | Ingen - identificeres ved filtype og SQL-nøgleordsstruktur; ingen binær signatur |
| Typisk størrelse | 1 KB - 50 MB (simple tabel-scripts: få KB; fulde virksomheds-skemadumps: tiere af MB) |
| SQL-delmængde | DDL - CREATE, ALTER, DROP, TRUNCATE, RENAME og CONSTRAINT-definitioner; kun skemastruktur, ikke data |
| Dialektafhængighed | Syntaks varierer efter DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); scripts er ikke garanteret portable på tværs af motorer uden modifikation |
| Standardgrundlag | DDL standardiseret i ANSI SQL-86 (ISO/IEC 9075:1987); nuværende standard SQL:2023 (ISO/IEC 9075:2023) |
| ORM-integration | EclipseLink, Hibernate og andre JPA-frameworks kan automatisk generere .ddl-scripts fra entitetsklasse-mappings |
| Kommentarkonventioner | Værktøjsgenererede filhoveder bruger -- enkeltlinje eller /* */ blok-SQL-kommentarer; inline-kommentarer følger de samme konventioner |
| Eksportunderstøttelse | MySQL Workbench, DBeaver, pgAdmin, SSMS og Oracle SQL Developer kan eksportere databaseskema direkte som .ddl-scripts |
| Import-workflow | Udføres mod en måldatabase ved hjælp af kommandolinjeklienter (mysql, psql, sqlcmd, sqlite3) eller GUI-værktøjer; sætninger køres sekventielt |
| Relation til .sql | Funktionelt identisk; .ddl signalerer indhold kun med skema (ingen datamanipulation) efter udviklerkonvention |
| Portabilitet | Ikke garanteret portabel på tværs af DBMS-motorer uden dialektspecifik modifikation |
| Udgivet | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Seneste version | SQL:2023 (ISO/IEC 9075:2023) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
DDL-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om DDL-filer.