Tietojen määrittelykieli on tietokoneohjelmointi- tai komentosarjakieli, joka määrittelee tietorakenteen. Määritelmän mukaan näiden kielten on tehtävä kolme asiaa – luotava, poistettava ja muokattava tietorakenteita. Se, mitä he tekevät näiden kolmen alueen ulkopuolella, on merkityksetöntä, kunhan he suorittavat nämä kolme tehtävää. Mikä tahansa kieli voi olla tietojen määrittelykieli, mutta termiä käytetään yleisimmin strukturoidun kyselykielen (SQL) ja laajennettavan merkintäkielen (XML) kaavoissa.
Kun termi datamäärittelykieli tuli käyttöön, se koski konferenssi tietojärjestelmäkielten (Codasyl) tekemää mallia. Prosessi määritteli kaksi tärkeintä tietorakenteen kehittämisen aluetta – tietojen määrittelykieli teki tietokannan varsinaisen rakenteen ja tietojen käsittelykieli määritteli menetelmät tietojen sijoittamiseksi rakenteeseen. Siitä lähtien nämä kaksi termiä ovat laajentuneet ja niistä on tullut yleisnimiä niiden kattamille prosesseille.
Yleiset termit koskevat nyt kaikkia kieliä, jotka suorittavat alkuperäiset tehtävänsä. Sekä SQL että XML suorittavat kaikki tarvittavat tehtävät ja tarjoavat monia ominaisuuksia, jotka eivät olleet alkuperäisessä mallissa, koska niitä ei ollut vielä keksitty. Myös muut kielet tarjoavat näitä ominaisuuksia; niitä käytetään vain paljon harvemmin.
Jotta kieli voisi olla tietojen määrittelykieli, sen on tarjottava kolme toimintoa. Ensimmäinen päätehtävä on tietorakenteiden rakentaminen; pohjimmiltaan nämä ovat taulukoita, jotka on suunniteltu pitämään kiinni tietyistä tietoryhmistä. Ne näkyvät usein laskentataulukkona, joka pitää ristiviittauksen sisältävien tietojen sivuja. Arkilla voi esimerkiksi olla luettelo yrityksen asiakkaista toisella puolella ja luettelo saatavilla olevista tuotteista yläreunassa. Arkissa olisi luettelo siitä, milloin nämä asiakkaat ostivat yksittäisiä tuotteita pöydälle.
Seuraava päätehtävä on tietorakenteiden poistaminen. Tämä ei ole sama kuin koko tietokannan tai tiedoston poistaminen; se on paljon valikoivampi prosessi. Se voi poistaa tietyn tietosivun tai koko osan moniulotteisesta taulukosta. Kummassakin tapauksessa tiedot on poistettava vaikuttamatta muihin tietorakenteisiin, vaikka ne kaikki olisivat samassa tiedostossa.
Viimeinen päätoiminto on tietorakenteen muuttaminen. Tämä on laaja kategoria, joka kattaa monia tilanteita. Taulukkoon voidaan lisätä tai nimetä sarakkeita tai koko tietokanta on ehkä jaettava kahteen eri tietokantaan. Kaikissa tilanteissa niitä on muutettava siten, ettei tietoja menetetä, tuhota tai luoda prosessin aikana. Tämä estää epätavallisten tietojen pääsyn tietojärjestelmään.