موصى به, 2024

اختيار المحرر

الفرق بين جرانت وإبطال

في SQL ، يتم استخدام أوامر DCL لتعيين التفويضات المختلفة للمستخدم ، ويعرف هذا النوع من التفويضات باسم الامتياز. أوامر منح و إبطال هي أوامر DCL. يتم استخدام الأمر GRANT لمنح التفويض للمستخدمين بينما يتم استخدام أمر REVOKE لسحب التفويض. يعد تحديد وإدراج وتحديث وحذف بعض الامتيازات المضمنة في معايير SQL.

رسم بياني للمقارنة

أساس للمقارنةمنحةسحب
الأساسيةيتم استخدام أمر منح لإعطاء الامتيازات للمستخدمين.يتم استخدام الأمر الإبطال لسحب الامتيازات من المستخدمين.
عندما تكون السيطرة غير مركزيةالمنح هو أبسط.الإلغاء معقد للغاية لأداء.
بناء الجملةمنحة
على
إلى ؛
سحب
على
من عند ؛

تعريف جرانت

يقوم مسؤول قاعدة البيانات بتعريف أمر GRANT في SQL لمنح الوصول أو الامتيازات لمستخدمي قاعدة البيانات. ثلاثة مكونات رئيسية التي يتم تضمينها في التخويل هي المستخدمين وامتيازات / العمليات (و) كائن قاعدة البيانات. المستخدم هو الذي يقوم بتشغيل تطبيق البرنامج. العمليات هي المكون المضمّن في برنامج التطبيق. يتم تنفيذ العمليات على كائنات قاعدة البيانات مثل العلاقة أو اسم العرض.

SYNTAX من GRANT الأمر:

منحة
على
إلى ؛

هنا يمكن أن تتضمن قائمة الامتيازات تحديد عمليات أو إدراجها أو تحديثها وحذفها أو دمجها. يتم التحقق من هذه الجوانب الثلاثة للأمر من خلال التحكم في التفويض قبل المتابعة.

عندما يمنح حساب المالك A1 من العلاقة (الجدول) R امتيازًا إلى حساب آخر A2 على R ، فيمكن للحساب A2 الوصول إلى العلاقة R ويسمح له بمنح الامتيازات لحساب آخر على R. إذا قام A1 بسحب الامتيازات من A2 على R1 ، فإن جميع الامتيازات التي تم نشرها في A2 سيتم إبطالها تلقائيًا بواسطة النظام. إذن ، هذه هي الطريقة التي يمكن أن تنتشر بها الامتيازات على الطاولات. وبالتالي ، يجب أن يتبع نظام DBMS الذي يسمح بالانتشار الامتيازات الممنوحة بحيث يمكن إبطال الامتيازات بسهولة.

لنأخذ مثالاً لتوضيح منح الامتيازات. لدينا مخططان للجداول الكلية والقسم وحسابات A1 ​​و A2.

GRANT SELECT، INSERT، UPDATE ON FACULTY، DEPARTMENT TO A1، A2؛

في المثال المذكور أعلاه ، يُسمح للحساب A1 و A2 بتنفيذ عمليات التحديد والإدراج والتحديث على جدول الموظف والجدول.

تعريف Revoke

يتم تعريف الأمر REVOKE في SQL لإزالة الامتيازات الممنوحة (الأذونات) من مستخدم قاعدة البيانات. الشخص الذي يملك سلطة سحب الامتيازات هو مسؤول قاعدة البيانات.

SYNTAX من القيادة REVOKE:

سحب
على
من عند ؛

يشبه الأمر أمر منح باستثناء الكلمة الرئيسية التي تم إبطالها و "من". في أمر معين ، يتم إلغاء العمليات المتضمنة في الامتياز للمستخدم المحدد أو قائمة الأدوار. يصبح الإلغاء أمرًا معقدًا عندما يتم نشر الامتيازات من مستخدم لآخر.

لنأخذ المثال المماثل لتوضيح إلغاء الامتيازات.

إعادة INSERT ، تحديث في كلية ، قسم من A1 ، A2.

في المثال المذكور أعلاه ، يتم سحب حسابات A1 ​​و A2 من حقوقها ولا يُسمح لها بتنفيذ عمليات الإدراج والتحديث على جدول الموظف والجدول.

الاختلافات الرئيسية بين غرانت وإبطال

  1. يمنح أمر Grant الامتيازات للمستخدم بينما يسحب الأمر Revoke الامتيازات من المستخدم.
  2. في النظام المركزي ، يمكن تنفيذ أوامر DCL GRANT و REVOKE بسهولة. عندما تكون السيطرة غير مركزية ، تكون الاستعلامات أكثر مرونة ولكنها معقدة. أمر GRANT سهل التعامل معه ، لكن في حالة أمر REVOKE ، يكون الأمر متكرراً بطريقة.

استنتاج

يمنح أمر GRANT الامتيازات أو الوصول إلى المستخدمين على كائنات قاعدة البيانات. من ناحية أخرى ، يُستخدم الأمر REVOKE لإزالة الحقوق أو الامتيازات من المستخدمين على كائنات قاعدة البيانات.

Top