Duomenų valdymo kalba yra struktūrinės užklausos kalbos (SQL) poaibis, kuris paprastai naudojamas duomenų bazėje saugomai informacijai išgauti ir valdyti. Kadangi pagrindinė SQL kalba susijusi su duomenų manipuliavimu duomenų bazėje, duomenų valdymo kalba susijusi su konkrečių galutinių vartotojų įgaliojimų suteikimu vykdyti tam tikrų tipų komandas duomenų bazėje. Duomenų valdymo kalba suteikia duomenų bazės administratoriui galimybę manipuliuoti ir pritaikyti galutinio vartotojo privilegijas, kad būtų užtikrintas saugumas ir duomenų bazėje esančios informacijos valdymo hierarchija.
Kaip ir SQL, duomenų valdymo kalba yra natūrali kalba. Tai reiškia, kad kalboje naudojamos komandos stengiasi būti kuo laisvesnės nuo žargono ir dviprasmybių, sukuriant draugiškesnę aplinką, leidžiančią žmonėms, kurie nelabai išmano technologiją, naudotis duomenų bazės funkcijomis. Skirtingai nuo kitų kalbų, tokių kaip C++, Java ir Visual Basic, kurios naudoja komandas, kurios nėra intuityviai suprantamos profesionalams, SQL ir duomenų valdymo kalba yra suformuluotos taip, kad jų komandų eilutės būtų gana elementarios. Pavyzdžiui, SQL komanda „SELECT All FROM Employees WHERE Alga>=50,000 50,000“ grąžintų visų „Darbuotojų“ duomenų bazėje esančių asmenų, kurių atlyginimas yra lygus arba didesnis nei XNUMX XNUMX JAV dolerių (USD), sąrašą.
Duomenų valdymo kalba kiek kitokia, nes jos tikslas yra manipuliuoti privilegijomis, o ne informacija duomenų bazėje. Dvi ryškiausios komandos duomenų valdymo kalboje yra GRANT ir REVOKE elementai. Per jas, kaip rodo jų pavadinimai, duomenų bazės administratorius gali suteikti arba atmesti konkrečias privilegijas galutiniam duomenų bazės vartotojui. Įprastos privilegijos apima galimybę prisijungti prie duomenų bazės naudojant CONNECT komandą; pasirinkti eilutes ir stulpelius iš duomenų bazės per komandą SELECT; įterpti naują informaciją į duomenų bazę per komandą INSERT; atnaujinti esamą informaciją duomenų bazėje naudojant komandą UPDATE; ištrinti esamą informaciją iš duomenų bazės per komandą DELETE; arba vykdyti konkrečias komandas ar kodą duomenų bazėje per komandą EXECUTE.