আজকে আমাদের আলোচনার বিষয় – Trigger এর সংজ্ঞা এবং এটির প্রয়োজনীয়তা যা অধ্যায়-৬ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
Table of Contents
Trigger এর সংজ্ঞা এবং এটির প্রয়োজনীয়তা
Trigger এর সংজ্ঞা এবং এটির প্রয়োজনীয়তা
Trigger: Database management system এ trigger এমন একটি Statement যাকে System স্বয়ংক্রিয়ভাবে নির্বাহ করে থাকে এবং যার কারণে Database modification হয়ে থাকে। Trigger design করার ক্ষেত্রে আমাদেরকে নিম্নের দু’টি শর্ত মেনে চলতে হবেঃ
১। Trigger কখন execute হবে তা সুস্পষ্ট করতে (specify) হবে। এটাকে event ও condition নামক দুটি অংশে ভাগ করতে হবে। এটির মধ্যে event এর কাজ হল trigger check করা এবং condition এর কাজ হল trigger execution করা।
২। Trigger execute হলে কী ধরনের কাজ হবে তা সুস্পষ্ট (Specify) করতে হবে।
উপরোক্ত শর্তদ্বয় অনুসরণ করে trigger তৈরি হলে তাকে event-condition-action model trigger বলা হয়।
DBMS এর ক্ষেত্রে Trigger এর প্রয়োজনীয়তা
Database management system এর ক্ষেত্রে নির্দিষ্ট কোন শর্ত পূরণের কারণে স্বয়ংক্রিয়ভাবে কিছু নির্দিষ্ট কাজ (Tasks) শুরুর জন্য Trigger হল একটি বহুল ব্যবহৃত Mechanism। উদাহরণস্বরূপ বলা যায় যে, কোন ব্যাংকের ক্ষেত্রে যদি একজন customer তার জমাকৃত টাকার চেয়ে বেশি টাকা উত্তোলন করে তবে তার balance negative চিহ্নযুক্ত হয়ে যাবে।
এসময় ব্যাংক যদি তার Balance কে শূন্য করে Overdraft এর ব্যবস্থা করে এবং ঐ Overdraft এর বিপরীতে loan নামক একটি relation তৈরি করে তবে negative balance তৈরি হবে না। ব্যাংকে এ ঘটনাটি স্বয়ংক্রিয়ভাবে ঘটতে হবে। একমাত্র Trigger তৈরির মাধ্যমে এ কাজটি হতে পারে। অতএব বলা যায় যে, Trigger এর প্রয়োজনীয়তা অপরিসীম।
ডাটাবেজ সিকিউরিটি এর সংজ্ঞা
ডাটাবেসে জমাকৃত বা সংরক্ষিত ডাটাসমূহের গুরুত্ব অপরিসীম। এজন্য এদের নিরাপত্তা বিধান করা আবশ্যক। কারণ, বিভিন্ন অর্গানাইজেশনের নিজস্ব গুরুত্বপূর্ণ ডাটা ডাটাবেসে সংরক্ষিত থাকে। তাই ডাটাবেসে সকলের প্রবেশাধিকার থাকলে ডাটার ক্ষতির সম্ভাবনা থাকে। সুতরাং কোন অননুমোদিত ব্যক্তি যাতে ডাটাবেসে ঢুকে ডাটা নষ্ট করতে না পারে, ডাটা বদলাতে না পারে ও ডাটা মুছতে বা প্রয়োজনীয় ডাটা তাতে সন্নিবেশ করাতে না পারে, সেজন্য সিস্টেমে প্রয়োজনীয় নিরাপত্তা থাকা আবশ্যক। তাছাড়া দুর্ঘটনাজনিত কারণেও যাতে ডাটাবেসের ডাটা নষ্ট না হয়, সে ব্যবস্থা থাকা বাঞ্ছনীয়।
ডাটাবেস সিস্টেমের সকল অংশ সব user-এর বা ব্যবহারকারীর অ্যাকসেস (Access) করার প্রয়োজন হয় না। User এর প্রকারভেদের উপর ভিত্তি করে নির্দিষ্ট user এর জন্য ডাটাবেসের user এর প্রয়োজনীয় অংশে প্রবেশ, মডিফিকেশন, ডিলিটিং ইত্যাদি করার জন্য অথরাইজেশনের মাধ্যমে গোপনীয়তা ও নিরাপত্তা ব্যবস্থা গ্রহণ করা হয়। ডাটার নিরাপত্তা ব্যবস্থা যত ভাল হবে ততই নির্ভরযোগ্যতা ও বিশ্বস্ততা বৃদ্ধি পায়। কেননা, ডাটাবেসের নিরাপত্তা ব্যবস্থা না থাকলে বা নিরাপত্তা ব্যবস্থা দুর্বল হয়ে পড়লে যে কোন অননুমোদিত ব্যবহারকারী বা user ডাটার অপূরনীয় ক্ষতি সাধন করতে পারে, যা যে কোন ডাটাবেস সিস্টেমের জন্য অনাকাঙ্খিত।
সুতরাং, অনাকাঙ্ক্ষিত কার্যক্রম (Unintended activity) থেকে ডাটাবেসকে রক্ষা করার একটি সিস্টেম বা প্রসেস বা পদ্ধতি (system of process of procedure) কে ডাটাবেস সিকিউরিটি (Database security) বলা হয়।
কোন ডাটাবেজ সিকিউরিটি ফিচার প্রধানত দুটি শ্রেণিতে ভাগ করা যায়। যথা- (ক) সিস্টেম সিকিউরিটি ও (খ) ডাটা সিকিউরিটি।
(ক) সিস্টেম সিকিউরিটি (System security): ডাটাবেজ সিস্টেমে ডাটা অ্যাকসেস এবং ব্যবহার করার জন্য নিরাপত্তামূলক ব্যবস্থাকে সিস্টেম সিকিউরিটি বলে।
(খ) ডাটা সিকিউরিটি (Data security) : ডাটা সিকিউরিটি অবজেক্ট লেবেলে ডাটাবেজের অ্যাকসেস ও ব্যবহার নিয়ন্ত্রণ করে। কোন ইউজার কোন কোন অবজেক্ট ব্যবহার করতে পারবে এবং কী ধরনের অ্যাকশন প্রয়োগ করতে পারবে ডাটা সিকিউরিটি তা পরীক্ষা করে।
আরও দেখুনঃ