Jezik definicije podataka je računalni programski ili skriptni jezik koji definira strukturu podataka. Po definiciji, ovi jezici trebaju činiti tri stvari – stvarati, brisati i mijenjati strukture podataka. Ono što rade izvan ta tri područja je nebitno, sve dok obavljaju ta tri zadatka. Svaki jezik može biti jezik definicije podataka, ali se pojam najčešće primjenjuje na sheme strukturiranog jezika upita (SQL) i proširivog jezika za označavanje (XML).
Kada je pojam jezik definicije podataka ušao u upotrebu, primjenjivao se na model koji je izradila Konferencija za jezike podatkovnih sustava (Codasyl). Proces je definirao dva glavna područja razvoja strukture podataka — jezik definicije podataka napravio je stvarnu strukturu baze podataka, a jezik za manipulaciju podacima definirao je metode postavljanja podataka u strukturu. Od tada su se ova dva pojma proširila i postala generički pojmovi za procese koje pokrivaju.
Opći izrazi sada se primjenjuju na sve jezike koji obavljaju svoje izvorne funkcije. I SQL i XML obavljaju sve potrebne zadatke i pružaju mnoge značajke koje su bile odsutne u izvornom modelu jer još nisu izmišljene. Drugi jezici također pružaju ove mogućnosti; samo se koriste mnogo rjeđe.
Da bi bio jezik definicije podataka, jezik treba osigurati tri funkcije. Prva glavna funkcija je izgradnja podatkovnih struktura; u osnovi, to su tablice dizajnirane da drže određene skupine informacija. Često se pojavljuju kao proračunska tablica, držeći stranice s unakrsnim referencama. Na primjer, list može imati popis klijenata tvrtke dolje s jedne strane i popis dostupnih proizvoda na vrhu. List bi sadržavao popis kada su ti kupci kupili pojedinačne proizvode dolje u dijelu stola.
Sljedeća glavna funkcija je brisanje struktura podataka. To nije isto što i brisanje cijele baze podataka ili datoteke; to je mnogo selektivniji proces. Može ukloniti određenu stranicu informacija ili cijeli dio višedimenzionalnog niza. U oba slučaja, podaci se moraju ukloniti bez utjecaja na druge strukture podataka, čak i ako se svi drže u istoj datoteci.
Posljednja glavna funkcija je izmjena strukture podataka. Ovo je široka kategorija koja pokriva mnogo situacija. Tablica može imati dodane ili preimenovane stupce ili će se cijela baza podataka možda morati podijeliti u dvije različite baze podataka. U svakoj situaciji, moraju se mijenjati na način da se tijekom procesa ne izgube, unište ili kreiraju nikakve informacije. Time se sprječava ulazak anomalnih informacija u podatkovni sustav.