Језик за контролу података (ДЦЛ)

ГРАНТ, РЕВОКЕ и ДЕНИ Датабасе Пермиссионс

Језик за контролу података (ДЦЛ) је подскуп Струцтуред Куери Лангуаге (СКЛ) и дозвољава администраторима базе података да конфигуришу сигурносни приступ релационим базама података. Она допуњује Језик дефинисања података (ДДЛ), који се користи за додавање и брисање објеката базе података, а Језик за управљање подацима (ДМЛ) који се користи за преузимање, уметање и модификовање садржаја базе података.

ДЦЛ је најједноставнији од СКЛ подскупова , јер се састоји само од три команде: ГРАНТ, РЕВОКЕ и ДЕНИ. У комбинацији, ове три команде пружају администраторима флексибилност да постављају и уклањају дозволе базе података на изузетно грануларном начину.

Додавање дозвола помоћу наредбе ГРАНТ

Команду ГРАНТ користе администратори за додавање нових дозвола кориснику корисника базе података . Има врло једноставну синтаксу, дефинисану на следећи начин:

ГРАНТ [привилегија] ОН [објекат] ТО [корисник] [са ГРАНТ ОПТИОН]

Ево задатака за сваки од параметара које можете да набавите помоћу ове наредбе:

На пример, претпоставите да желите да кориснику Јое-у да преузме информације из табеле запослених у бази података под називом ХР. Можете користити следећу СКЛ команду:

ГРАНТ СЕЛЕЦТ НА ХР.емплоиеес ТО Јое

Јое ће сада имати могућност да преузме информације са табеле запослених. Међутим, он неће моћи да дозволи другим корисницима дозволу за преузимање информација из те таблице јер нисте укључили ставку ВИТХ ГРАНТ ОПТИОН у ГРАНТ изразу.

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

Команда РЕВОКЕ се користи за уклањање приступа бази података од корисника који су претходно добили такав приступ. Синтакса за ову наредбу дефинисана је на следећи начин:

РЕВОКЕ [ГРАНТ ОПТИОН ФОР] [дозвола] ОН [објект] ОД [корисник] [ЦАСЦАДЕ]

Ево задатка о параметрима за РЕВОКЕ наредбу:

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

РЕВОКЕ СЕЛЕЦТ ОН ХР.емплоиеес ФРОМ Јое

Изричито одбијање приступа бази података

ДЕНИ наредба се користи да би експлицитно спречила корисника да прими одређену дозволу. Ово је корисно када је корисник члан улоге или групе којој је додељена дозвола, а желите да спречите да тај поједини корисник наслеђује дозволу стварањем изузетка. Синтакса за ову наредбу је следећа:

ДЕНИ [дозвола] ОН [објекат] ТО [корисник]

Параметри за наредбу ДЕНИ су идентични онима који се користе за наредбу ГРАНТ.

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

ДЕНИ ДЕЛЕТЕ ОН ХР.емплоиеес ТО Маттхев