Kaj je jezik za nadzor podatkov?

Jezik za nadzor podatkov je podmnožica jezika strukturiranih poizvedb (SQL), ki se običajno uporablja za ekstrakcijo in nadzor informacij, shranjenih v bazi podatkov. Medtem ko se osnovni jezik SQL ukvarja z manipulacijo podatkov v bazi podatkov, se jezik za nadzor podatkov ukvarja z dodeljevanjem pooblastil končnim uporabnikom za izvajanje določenih vrst ukazov v bazi podatkov. Jezik za nadzor podatkov daje skrbniku baze podatkov možnost manipuliranja in prilagajanja privilegijev končnega uporabnika za uveljavljanje varnosti in vzdrževanje hierarhije nadzora nad informacijami v bazi podatkov.

Tako kot SQL je tudi jezik za nadzor podatkov naravni jezik. To pomeni, da ukazi, uporabljeni v jeziku, poskušajo biti čim bolj brez žargona in dvoumnosti, kar zagotavlja bolj prijazno okolje, ki omogoča posameznikom, ki niso zelo tehnološko podkovani, da uporabljajo funkcije baze podatkov. Za razliko od drugih jezikov, kot so C++, Java in Visual Basic, ki uporabljajo ukaze, ki laikom intuitivno niso razumljivi, sta SQL in jezik za nadzor podatkov oblikovana tako, da so njihovi ukazni nizi dokaj elementarni. Na primer, v SQL bi ukaz »IZBERI vse od zaposlenih, KJE Plača>=50,000« vrnil seznam vseh posameznikov v bazi podatkov »Zaposleni«, katerih plača je enaka ali presega 50,000 ameriških dolarjev (USD).

Jezik nadzora podatkov je nekoliko drugačen, saj je njegov cilj manipulirati s privilegiji in ne z informacijami v bazi podatkov. Dva najvidnejša ukaza v jeziku za nadzor podatkov sta elementa GRANT in REVOKE. Prek teh, kot pove njihova imena, lahko skrbnik baze podatkov končnemu uporabniku baze podatkov zagotovi ali zavrne določen privilegij. Skupne privilegije vključujejo možnost povezave z bazo podatkov prek ukaza CONNECT; z ukazom SELECT izberite vrstice in stolpce iz baze podatkov; z ukazom INSERT vstavite nove informacije v bazo podatkov; posodobite obstoječe informacije v bazi podatkov z ukazom UPDATE; z ukazom DELETE izbrišite obstoječe informacije iz baze podatkov; ali izvajati določene ukaze ali kodo znotraj baze podatkov z ukazom EXECUTE.