Препоръчано, 2020

Избор На Редактора

Разлика между предоставяне и отмяна

В SQL командите DCL се използват за присвояване на различни разрешения на потребителя, като тези видове разрешения се наричат ​​привилегии. Командите Grant и Revoke са команди за DCL. Командата GRANT се използва за предоставяне на разрешение на потребителите, докато командата REVOKE се използва за оттегляне на разрешението. Избор, вмъкване, обновяване и изтриване са някои от привилегиите, включени в SQL стандартите.

Сравнителна таблица

Основа за сравнениеГрантОтмяна
ОсновенКомандата Grant се използва за предоставяне на привилегиите на потребителите.Командата Revoke се използва за отнемане на привилегиите от потребителите.
Когато контролът е децентрализиранПредоставянето е по-просто.Оттеглянето е доста сложно за изпълнение.
Синтаксисдаване
за
да се ;
оттегли
за
от;

Определение на гранта

Администраторът на базата данни определя командата GRANT в SQL за предоставяне на достъп или привилегии на потребителите на базата данни. Три основни компонента, които участват в оторизацията, са потребителите, привилегиите / операциите и обекта на базата данни. Потребителят е този, който задейства изпълнението на приложната програма. Операциите са компонент, който е вграден в приложна програма. Операциите се изпълняват върху обекти на база данни, като например име на връзка или изглед.

SYNTAX на командата GRANT:

даване
за
да се ;

Тук списъкът с привилегии може да включва операции по избор, вмъкване, обновяване и изтриване или комбинация от тях. Тези три аспекта на командата се проверяват от контрола за оторизация преди да продължите.

Когато акаунт на собственик A1 на отношението (таблица) R предоставя привилегия на друга сметка A2 на R, тогава акаунт A2 може да получи достъп до R и е упълномощен да даде привилегиите на друга сметка на R. Ако A1 отмени привилегиите от A2 в R1 тогава всички привилегии, които се разпространяват с A2, ще бъдат анулирани автоматично от системата. Така че, това е начина, по който привилегиите на таблиците могат да се разпространяват. По този начин, СУБД, която позволява разпространението, трябва да следва привилегиите, които са предоставени, така че привилегиите могат да бъдат оттеглени лесно.

Да вземем пример, за да илюстрираме предоставянето на привилегии. Имаме две схеми за таблиците Факултет и отдел и сметки А1 и А2.

ГРАНТ ИЗБЕРЕТЕ, ВЪВЕДЕТЕ, АКТУАЛИЗИРАНЕ НА ФАКУЛТЕТ, ОТДЕЛ ДО А1, А2;

В горепосочения пример сметките А1 и А2 имат право да изпълняват операции по избор, вмъкване и актуализиране на таблицата на служителите и отделите.

Определение за отмяна

Командата REVOKE в SQL се дефинира, за да отнеме предоставените привилегии (оторизации) от потребителя на базата данни. Този, който има правомощия да оттегли привилегиите, е администраторът на базата данни.

SYNTAX на командата REVOKE:

оттегли
за
от;

Командата е подобна на командата grant, с изключение на ключовата дума revoke и 'from'. В дадена команда, операциите, включени в привилегията, се анулират за конкретния потребител или списък с роли. Оттеглянето става сложно, когато привилегиите се разпространяват от един потребител на друг.

Да вземем подобен пример, за да илюстрираме Отмяната на привилегии.

REVOKE INSERT, АКТУАЛИЗАЦИЯ ЗА ФАКУЛТЕТ, ОТДЕЛ ОТ А1, А2;

В горепосочения пример сметките А1 и А2 се изтеглят от правата си и не се разрешава да извършват операции по вмъкване и обновяване на таблицата на служителите и отделите.

Основни разлики между отпускане и отмяна

  1. Командата Grant предоставя правата на потребителя, докато командата Revoke отнема правата от потребителя.
  2. В централизираната система DCL командите GRANT и REVOKE могат лесно да бъдат изпълнени. Когато контролът е децентрализиран, запитванията са по-гъвкави, но сложни. Командата GRANT е лесна за работа, но в случай на команда REVOKE, тя е рекурсивна по начин.

заключение

Командата GRANT дава права или достъп на потребителите на обектите на базата данни. От друга страна, команда REVOKE се използва за премахване на правата или привилегиите от потребителите на обектите на базата данни.

Top