Datuak kontrolatzeko hizkuntza (DCL)

GRANT, REVOKE eta DENY datu-basearen baimenak

Datuak kontrolatzeko hizkuntza (DCL) Query Structured Language (SQL) azpimultzo bat da eta datu-baseen administratzaileek segurtasun-sarbidea konfiguratzeko datu base erlazionaletarako. Datuen definizioaren hizkuntza (DDL) osatzen du, datu-basearen objektuak gehitzeko eta ezabatzeko eta datu-manipulazioen hizkuntza (DML) datu-baseko edukiak berreskuratu, txertatzeko eta aldatzeko erabiltzen dena.

DCL SQL azpimultzoen sinpleena da, hiru komando dituena: GRANT, REVOKE eta DENY. Konbinatuta, hiru komando hauek administratzaileei malgutasuna ematen diete datu basearen baimenak modu oso granular batean ezartzeko eta kentzeko.

Baimenak gehitzea GRANT komandarekin

GRANT komandoa administratzaileek erabiltzen dute baimen berri bat datu basean erabiltzeko . Sintaxia oso sinplea du, honela definitzen dena:

GRANT [pribilegioa] ON [objektua] TO [erabiltzailea] [GRANT OPTION-ekin]

Hona hemen komando honekin hornitutako parametro bakoitzean:

Esate baterako, ustez erabiltzaileari emandako langile-taulan HR izeneko datu-basearen informazioa berreskuratzeko gaitasuna eman nahi diozu. SQL komando hau erabil dezakezu:

ERANTZUN DEIALDIA

Joe-k langile-taularen informazioa berreskuratzeko gaitasuna izango du. Hala ere, ezin izango du beste erabiltzaileei baimena eman taula horretako informazioa berreskuratzeko, kontuan hartu gabe GRANT OPTION klausula AMAIERA kontuan hartu gabe.

Datu-basearen sarbidea ezeztatzea

REVOKE komandoa sarbide hori aurrez eman den erabiltzaile baten datu-basearen sarbidea kentzeko erabiltzen da. Komando honetarako sintaxia honela definitzen da:

REVOKE [GRANT OPTION FOR] [baimena] ON [objektu] FROM [erabiltzaile] [CASCADE]

Hemen da REVOKE komandoaren parametroen laburpena:

Adibidez, honako komandoa aurreko adibidean emandako baimena jasotzen du:

REVOKE HAU ONARTU

Datu-basearen sarbide esplizitua baztertuz

DENY komandoa esplizituki saihesten da erabiltzaileari baimen jakin bat jasotzerakoan. Erabiltzaile bat baimen bat ematen duen rol edo talde baten kide denean lagungarria da, eta erabiltzaile partikularrak salbuespena sortzeari uko egitea saihestu nahi duzu. Komando honen sintaxia hau da:

DENY [permission] ON [object] TO [user]

DENY komandoaren parametroak GRANT komandoaren erabilerarako berdinak dira.

Adibidez, Matthew-ek langile-taulatik informazioa ezabatzeko gaitasuna ez lukeela ziurtatuko, hurrengo komandoa aurkeztu beharko zenuke:

DENY DELETE ON HR.employees TO Matthew