Јазик за контрола на податоци (DCL)

ДОДЕЛУВАЊЕ, ОТВОРЕВАЊЕ и DENY дозволи за база на податоци

Јазикот за контрола на податоци (DCL) е подмножество на структурен јазик за пребарување (SQL) и им овозможува на администраторите на базата на податоци да го конфигурираат безбедносниот пристап до релациони бази на податоци. Тој го надополнува Јазикот за дефинирање на податоци (DDL), кој се користи за додавање и бришење на објектите на базата, а Јазикот за манипулација со податоци (DML) се користи за добивање, вметнување и менување на содржината на базата на податоци.

DCL е наједноставниот од SQL подмножества , бидејќи се состои од само три команди: GRANT, REVOKE и DENY. Во комбинација, овие три команди им овозможуваат на администраторите флексибилност да ги постават и отстранат дозволите за базата на податоци на исклучително грануларен начин.

Додавање на дозволи со командата GRANT

Командата GRANT се користи од администраторите за да додадат нови дозволи на корисникот на базата на податоци . Таа има многу едноставна синтакса, дефинирана како што следува:

ДОДЕЛУВАЊЕ [привилегија] ON [објект] ДО [корисник] [СО ГРАНТНА ОПЦИЈА]

Ова е преглед на секој од параметрите што можете да ги наведете со оваа команда:

На пример, да претпоставиме дека сакате да му дадете на корисникот Џо способност да добива информации од табелата на вработените во базата на податоци наречена HR. Може да ја користите следнава команда на SQL:

Донација селекција на HR.employees на Џо

Џо сега ќе има можност да добива информации од табелата на вработените. Меѓутоа, тој нема да може да им дозволи на други корисници дозвола за добивање на информации од таа табела, бидејќи не ја вклучивте клаузулата WITH GRANT OPTION во изјавата GRANT.

Отповикување пристап до базата

Командата REVOKE се користи за отстранување пристап до базата од корисник што претходно го добил таков пристап. Синтаксата за оваа команда е дефинирана како што следува:

ОТВОРАЈ [ОГРАНИЧУВАЊЕ НА ОПЦИЈА ЗА] [дозвола] ON [објект] од [корисник] [CASCADE]

Ова е преглед на параметрите за командата REVOKE:

На пример, следнава команда ја отповикува дозволата доделена на Џо во претходниот пример:

Одбијте SELECT на HR.employees ОД Џо

Експлицитно одбивање пристап до базата

Командата DENY се користи за експлицитно спречување на корисникот да добие одредена дозвола. Ова е корисно кога корисникот е член на улога или група на која им е доделена дозвола, и сакате да го спречите тој поединечен корисник да ја наследи дозволата со создавање на исклучок. Синтаксата за оваа команда е како што следува:

DENY [дозвола] ON [објект] TO [корисник]

Параметрите за командата DENY се идентични со оние што се користат за командата GRANT.

На пример, ако сакате да се осигурате дека Матеј никогаш нема да добие можност за бришење на информации од табелата на вработените, издадете ја следнава команда:

ДЕНИ ИЗБЕРЕТЕ НА HR.employees TO Matthew