Jezik definicije podatkov je računalniški programski ali skriptni jezik, ki definira podatkovno strukturo. Po definiciji morajo ti jeziki narediti tri stvari – ustvariti, izbrisati in spremeniti podatkovne strukture. Kaj počnejo zunaj teh treh področij, je nepomembno, dokler opravljajo te tri naloge. Vsak jezik je lahko jezik definicije podatkov, vendar se izraz najpogosteje uporablja za sheme strukturiranega poizvedovalnega jezika (SQL) in razširljivega označevskega jezika (XML).
Ko se je izraz jezik definicije podatkov začel uporabljati, se je nanašal na model, ki ga je izdelala Konferenca za jezike podatkovnih sistemov (Codasyl). Proces je opredelil dve glavni področji razvoja podatkovne strukture – jezik definicije podatkov je ustvaril dejansko strukturo baze podatkov, jezik za obdelavo podatkov pa je definiral metode umestitve podatkov v strukturo. Od takrat sta se ta dva izraza razširila in postala splošna izraza za procese, ki jih pokrivata.
Splošni izrazi zdaj veljajo za vse jezike, ki opravljajo svoje izvirne funkcije. Tako SQL kot XML opravljata vse zahtevane naloge in nudita številne funkcije, ki niso bile v izvirnem modelu, ker še niso bile izumljene. Te zmožnosti zagotavljajo tudi drugi jeziki; samo se uporabljajo veliko manj pogosto.
Da bi bil jezik za opredelitev podatkov, mora jezik zagotoviti tri funkcije. Prva glavna funkcija je gradnja podatkovnih struktur; v bistvu so to tabele, zasnovane tako, da zadržijo določene skupine informacij. Pogosto so videti kot preglednica, ki drži na straneh navzkrižnih informacij. Na primer, list ima lahko seznam strank podjetja spodaj na eni strani in seznam razpoložljivih izdelkov na vrhu. Na listu bi bil seznam, kdaj so te stranke kupile posamezne izdelke, spodaj v delu tabele.
Naslednja glavna funkcija je brisanje podatkovnih struktur. To ni isto kot izbris celotne baze podatkov ali datoteke; je veliko bolj selektiven proces. Lahko odstrani določeno stran informacij ali celoten del večdimenzionalnega niza. V obeh primerih je treba podatke odstraniti, ne da bi to vplivalo na druge podatkovne strukture, tudi če so vsi shranjeni v isti datoteki.
Zadnja glavna funkcija je sprememba podatkovne strukture. To je široka kategorija, ki zajema veliko situacij. Tabela ima lahko dodane ali preimenovane stolpce ali pa bo morda treba celotno bazo podatkov razdeliti na dve različni bazi podatkov. V vsakem primeru jih je treba spremeniti tako, da se med postopkom ne izgubijo, uničijo ali ustvarijo nobene informacije. To preprečuje, da bi v podatkovni sistem vstopile nenavadne informacije.