Деректерді басқару тілі (DCL)

GRANT, REVOKE және DENY дерекқор рұқсаттары

Деректерді басқару тілі (DCL) - Құрылымдық сұрау тілі (SQL) жиынтығы және дерекқор әкімшіліктеріне қатынас дерекқорларына қауіпсіздік қатынасын конфигурациялауға мүмкіндік береді. Ол дерекқор нысандарын қосу және жою үшін пайдаланылатын деректерді анықтау тілін (DDL) толықтырады және дерекқордың мазмұндарын шығарып алу, кірістіру және өзгерту үшін қолданылатын деректерді өңдеу тілі (DML).

DCL - SQL ішкі жиындарының ең қарапайым түрі, себебі ол тек үш командадан тұрады: GRANT, REVOKE және DENY. Біріктірілген, бұл үш пәрмендер әкімшілерге дерекқор рұқсаттарын өте түйіршіктелген түрде орнату және жоюға икемділік береді.

Рұқсатты GRANT командасымен қосу

GRANT командасы әкімшілердің дерекқор пайдаланушысына жаңа рұқсаттарды қосу үшін пайдаланылады . Ол өте қарапайым синтаксисті бар, ол келесідей анықталады:

GRANT [артықшылық] ON [объект] TO [пайдаланушы] [GRANT OPTION арқылы]

Мына пәрменмен жеткізуге болатын параметрлердің әрқайсысында төменде көрсетілген:

Мысалы, пайдаланушы Joe-ге HR деп аталатын дерекқордағы қызметкерлер кестесінен ақпаратты алу мүмкіндігін бергіңіз келеді деп есептеңіз. Келесі SQL пәрменін қолдануға болады:

HR.employees ЖОБАҒА ГРАНТТЫҚ ТАҢДАУ

Джо енді қызметкерлер кестесінен ақпаратты алу мүмкіндігіне ие болады. Дегенмен, ол басқа пайдаланушыларға кестеден алынған ақпаратты алуға рұқсат беруі мүмкін емес, себебі сіз GRANT мәлімдемесінде «ГРАНТ ОПЦИЯ» деген сөйлемді қоспайсыз.

Дерекқор қатынасын жою

REVOKE пәрмені бұрын қол жеткізілген пайдаланушыдан дерекқорға кіруді жою үшін пайдаланылады. Бұл пәрменнің синтаксисі келесідей анықталады:

REVOKE [GRANT OPTION FOR] [рұқсат] ON [объект] FROM [пайдаланушы] [CASCADE]

REVOKE командасының параметрлері бойынша төменде көрсетілген:

Мысалы, келесі мысал алдыңғы мысалдағы Джоға берілген рұқсатты қайтарады:

Джо Джонсоннан HR.employees бойынша REVOKE SELECT

Дерекқорға қатынаудан бас тартады

DENY пәрмені пайдаланушыға арнайы рұқсатын алуға кедергі келтіреді. Бұл пайдаланушы рұқсат берілген рөл немесе топтың мүшесі болғанда пайдалы болады және ерекше пайдаланушыны рұқсатты иеленуден алып тастауды болдырмайсыз. Бұл пәрменнің синтаксисі келесідей:

DENY [рұқсат] ON [объект] TO [пайдаланушы]

DENY пәрменінің параметрлері GRANT пәрменінде пайдаланылатындармен бірдей.

Мысалы, егер сіз Матайдың қызметкерлер кестесінен ақпаратты жою мүмкіндігін ешқашан алмайтындығын қаласаңыз, келесі пәрменді шығарыңыз:

Мэттьюге HR.employees туралы сұрақ қойыңыз