Andmete määratlemise keel on arvuti programmeerimis- või skriptikeel, mis määratleb andmestruktuuri. Definitsiooni järgi peavad need keeled tegema kolme asja – looma, kustutama ja muutma andmestruktuure. See, mida nad väljaspool neid kolme valdkonda teevad, on ebaoluline, kuni nad täidavad neid kolme ülesannet. Andmete määratlemise keel võib olla mis tahes keel, kuid seda terminit kasutatakse kõige sagedamini struktureeritud päringukeele (SQL) ja laiendatava märgistuskeele (XML) skeemide puhul.
Kui mõiste andmedefinitsiooni keel hakati kasutama, kehtis see Data System Languages konverentsi (Codasyl) koostatud mudelile. Protsess määratles kaks peamist andmestruktuuri arendamise valdkonda – andmedefinitsioonikeel kujundas andmebaasi tegeliku struktuuri ja andmetöötluskeel määratles andmete struktuuri paigutamise meetodid. Sellest ajast alates on need kaks mõistet laienenud ja muutunud nende hõlmatud protsesside üldmõisteks.
Üldterminid kehtivad nüüd kõigi keelte kohta, mis täidavad oma algseid funktsioone. Nii SQL kui ka XML täidavad kõiki vajalikke ülesandeid ja pakuvad palju funktsioone, mis algses mudelis puudusid, kuna neid polnud veel leiutatud. Ka teised keeled pakuvad neid võimalusi; neid kasutatakse lihtsalt palju harvemini.
Andmete määratlemise keeleks peab keel pakkuma kolme funktsiooni. Esimene põhifunktsioon on andmestruktuuride konstrueerimine; Põhimõtteliselt on need tabelid, mis on loodud kindlate teaberühmade hoidmiseks. Need näevad sageli välja nagu arvutustabel, mis hoiavad ristviidetud teabe lehekülgi. Näiteks võib lehe ühel küljel olla ettevõtte klientide loend ja ülaosas saadaolevate toodete loend. Lehel oleks lauaosas loend selle kohta, millal need kliendid üksikuid tooteid ostsid.
Järgmine põhifunktsioon on andmestruktuuride kustutamine. See ei ole sama, mis terve andmebaasi või faili kustutamine; see on palju selektiivsem protsess. See võib eemaldada konkreetse teabelehe või terve osa mitmemõõtmelisest massiivist. Mõlemal juhul tuleb andmed eemaldada teisi andmestruktuure mõjutamata, isegi kui neid kõiki hoitakse samas failis.
Viimane põhifunktsioon on andmestruktuuri muutmine. See on lai kategooria, mis hõlmab paljusid olukordi. Tabelis võivad olla veerud lisatud või ümber nimetatud või kogu andmebaasi võib olla vaja jagada kaheks erinevaks andmebaasiks. Igas olukorras tuleb neid muuta nii, et protsessi käigus ei läheks kaduma, häviks ega tekiks informatsioon. See hoiab ära anomaalse teabe sisenemise andmesüsteemi.