ডাটা কন্ট্রোল ভাষা (DCL)

GRANT, REVOKE এবং DENY ডেটাবেস অনুমতি

ডেটা কন্ট্রোল ল্যাঙ্গুয়েজ (ডিসিএল) স্ট্রাকচার্ড কুইরি ল্যাঙ্গুয়েজ (এসকিউএল) এর একটি সাবসেট এবং ডাটাবেস অ্যাডমিনিস্ট্রেটরস রিলেশনাল ডেটাবেসগুলিতে নিরাপত্তা অ্যাক্সেস কনফিগার করার অনুমতি দেয়। এটি ডেটা ডেফিনিশন ভাষা (DDL) সম্পৃক্ত, যা ডাটাবেস বস্তুগুলি যোগ এবং মুছে ফেলতে ব্যবহৃত হয় এবং ডেটা ম্যানিপুলেশন ল্যাংগুয়েজ (ডিএমএল) একটি ডাটাবেসের বিষয়বস্তু পুনরুদ্ধার, ঢোকাতে এবং সংশোধন করতে ব্যবহৃত হয়।

ডিসিএল হল এসকিউএল উপসেটগুলির সবচেয়ে সহজতম কারণ এটি কেবল তিনটি আদেশের অন্তর্ভুক্ত: GRANT, REVOKE এবং DENY। একত্রিত, এই তিনটি কমান্ড প্রশাসকদের একটি অত্যন্ত ঘনঘন ফ্যাশন মধ্যে ডাটাবেস অনুমতি সেট এবং অপসারণ নমনীয়তা দিয়ে প্রদান।

অনুদান কমান্ড দিয়ে অনুমতি যোগ করা

GRANT কমান্ড একটি ডাটাবেস ব্যবহারকারী নতুন অনুমতি যোগ করার জন্য প্রশাসক দ্বারা ব্যবহৃত হয়। এটি একটি খুব সহজ সিনট্যাক্স আছে, নিম্নরূপ সংজ্ঞায়িত:

GRANT [privilege] ON [বস্তু] TO [ব্যবহারকারী] [GRANT OPTION সঙ্গে]

এখানে এই কমান্ডের সাহায্যে আপনি প্রতিটি পরামিতি সরবরাহ করতে পারেন:

উদাহরণস্বরূপ, অনুমান করুন আপনি ইউজার জোকে মঞ্জুর করতে চান যা এইচআর এর ডাটাবেস নামক একটি ডাটাবেসের কর্মচারীদের টেবিল থেকে তথ্য উদ্ধারের ক্ষমতা। আপনি নিম্নলিখিত এসকিউএল কমান্ড ব্যবহার করতে পারে:

H.R. কর্মীদের Joe কে নির্বাচন করুন

জো এখন কর্মীদের টেবিল থেকে তথ্য পুনরুদ্ধার করার ক্ষমতা থাকবে যাইহোক, অন্যান্য ব্যবহারকারীরা সেই টেবিলের তথ্য পুনরুদ্ধারের অনুমতি দেবে না কারণ আপনি GRANT বিবৃতিতে GRANT OPTION এর ধারাটি অন্তর্ভুক্ত করেননি।

ডেটাবেস অ্যাক্সেস প্রত্যাহার

REVOKE কমান্ডটি ব্যবহার করা হয়েছে এমন একটি ব্যবহারকারীর কাছ থেকে ডাটাবেস অ্যাক্সেস সরিয়ে দেওয়ার জন্য। এই কমান্ডের জন্য সিনট্যাক্স নিম্নরূপ সংজ্ঞায়িত করা হয়:

REVOKE [অনুগ্রহপূর্বক] [অনুমতি] ও [বস্তু] থেকে [ব্যবহারকারী] [কাসকাড]

এখানে REVOKE কমান্ডের জন্য প্যারামিটারগুলির উপর রেডাউন আছে:

উদাহরণস্বরূপ, নিম্নোক্ত কমান্ডটি পূর্ববর্তী উদাহরণে জোকে প্রদত্ত অনুমতি প্রত্যাহার করে:

Joe থেকে এইচআর কর্মচারীদের উপর REVOKE নির্বাচন করুন

স্পষ্টভাবে ডেটাবেস অ্যাক্সেস অস্বীকার

DENY কমান্ডটি ব্যবহারকারীকে নির্দিষ্ট অনুমতি প্রাপ্তি স্পষ্টভাবে প্রতিরোধ করতে ব্যবহৃত হয়। এটি সহায়ক যখন একজন ব্যবহারকারী একটি ভূমিকা বা গোষ্ঠীর একজন সদস্য হয় যার অনুমতি দেওয়া হয়, এবং আপনি একটি ব্যতিক্রম তৈরি করে অনুমতি প্রাপ্তি থেকে যে পৃথক ব্যবহারকারীটি প্রতিরোধ করতে চান। এই কমান্ডের জন্য সিনট্যাক্স নিম্নরূপ:

DENY [অনুমতি] উপর [বস্তু] থেকে [ব্যবহারকারী]

DENY কমান্ডের প্যারামিটারগুলি GRANT কমান্ডের জন্য ব্যবহৃত হয়।

উদাহরণস্বরূপ, যদি আপনি নিশ্চিত করতে চান যে ম্যাথিউ কর্মচারী সারণি থেকে তথ্য মুছে ফেলার ক্ষমতা পাবেন না, নিম্নলিখিত কমান্ডটি চালান:

ম্যাথু এইচআর কর্মচারীদের উপর ডেন্জ ডিলিট