Język kontroli danych jest podzbiorem języka SQL (Structured Query Language), który jest zwykle używany do wyodrębniania i kontrolowania informacji przechowywanych w bazie danych. Podczas gdy podstawowy język SQL zajmuje się manipulacją danymi w bazie danych, język kontroli danych zajmuje się nadawaniem określonym użytkownikom końcowym uprawnień do wykonywania określonych typów poleceń w bazie danych. Język kontroli danych daje administratorowi bazy danych możliwość manipulowania i dostosowywania uprawnień użytkownika końcowego w celu wymuszenia bezpieczeństwa i utrzymania hierarchii kontroli nad informacjami w bazie danych.
Podobnie jak SQL, język kontroli danych jest językiem naturalnym. Oznacza to, że polecenia używane w tym języku starają się być jak najbardziej wolne od żargonu i niejednoznaczności, zapewniając bardziej przyjazne środowisko umożliwiające osobom, które nie są zbyt obeznane z technologią, korzystanie z funkcji bazy danych. W przeciwieństwie do innych języków, takich jak C++, Java i Visual Basic, które wykorzystują polecenia, które nie są intuicyjnie zrozumiałe dla laików, SQL i język kontroli danych są sformułowane tak, aby ich ciągi poleceń były dość elementarne. Na przykład w SQL polecenie „SELECT All FROM Employees WHERE Salary>=50,000” zwróci listę wszystkich osób w bazie danych „Employees”, których wynagrodzenie jest równe lub przekracza 50,000 XNUMX dolarów amerykańskich (USD).
Język kontroli danych jest nieco inny, ponieważ jego celem jest manipulowanie uprawnieniami, a nie informacjami w bazie danych. Dwa najbardziej widoczne polecenia w języku kontroli danych to elementy GRANT i REVOKE. Dzięki nim, jak sugerują ich nazwy, administrator bazy danych może przyznać lub odmówić określonego uprawnienia użytkownikowi końcowemu bazy danych. Wspólne uprawnienia obejmują możliwość łączenia się z bazą danych za pomocą polecenia CONNECT; wybrać wiersze i kolumny z bazy danych za pomocą polecenia SELECT; wstawić nowe informacje do bazy za pomocą polecenia INSERT; zaktualizować istniejące informacje w bazie danych za pomocą polecenia UPDATE; usunąć istniejące informacje z bazy danych za pomocą polecenia DELETE; lub wykonaj określone polecenia lub kod w bazie danych za pomocą polecenia EXECUTE.