আজকে আমাদের আলোচনার বিষয় – SQL এর সাহায্যে add, remove ও delete কৌশল বর্ণনা যা অধ্যায়-৫ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
SQL এর সাহায্যে add, remove ও delete কৌশল বর্ণনা

SQL এর সাহায্যে add, remove ও delete কৌশল বর্ণনা
ডাটাবেস ডাটা আপডেটিং (Updating) বলতে তাতে নতুন ডাটা সন্নিবেশ (Newdata Insertion), তা হতে অপ্রয়োজনীয় ডাটা মুছে ফেলা (Deletion of Old Data) এবং ডাটার আংশিক পরিবর্তন (Modification) কে বুঝানো হয়। রিলেশনাল ডাটাবেসে ডাটা আপডেটিং করার ক্ষেত্রেও এ কাজগুলো করতে হয়। রিলেশনাল ডাটাবেসের ডাটা আপডেটিং ফাংশনসমূহের বিশদ বর্ণনা দেয়া হলঃ
(ক) ডিলিশন (Deletion)
(খ) ইনসার্শন (Insertion)
(গ) আপডেটিং বা মডিফিকেশন (Updating or Modification)
(ক) ডিলিশন (Deletion): রিলেশনাল ডাটাবেসে ডিলিট (Delete) রিকুয়েস্ট (Request) টি অনেকাংশেই কুয়েরির মত। তবে এতে কোন টুপল (Tuple) প্রদর্শন না করে শুধুমাত্র নির্বাচিত টুপলসমূহ ডাটাবেস হতে মুছে ফেলা হয়। উল্লেখ্য, এ প্রক্রিয়ায় কোন নির্দিষ্ট অ্যাট্রিবিউটের কোন ভ্যালুকে ডিলিট করা যায় না। তবে সমগ্র টুপলকে নির্বাচিত করে একবারে মুছে ফেলা যায়। রিলেশনাল অ্যালজেব্রার ক্ষেত্রে ডিলিশনকে নিম্নলিখিতভাবে এক্সপ্রেস করা যায়।
r – r – E
এখানে। হল রিলেশন, হল অ্যাসাইনমেন্ট অপারেশন, হল সেট ডিফারেন্স অপারেশন — এবং E হল রিলেশনাল অ্যালজেব্রা কুয়েরি। নিম্নে রিলেশনাল অ্যালজেব্রার ক্ষেত্রে ডিলিট রিকুয়েস্ট (Request) এর কয়েকটি উদাহরণ দেয়া হলঃ
(i) কালামের সমস্ত অ্যাকাউন্ট ডিলিট করার জন্যে এক্সপ্রেশন হলঃ
σ (account)
account account <– customer-name = “Kalam”
(ii) যে সমস্ত অ্যাকাউন্ট 50 টাকার নিচে অথবা সমান আছে, ঐ সমস্ত অ্যাকাউন্ট ডিলিট কারার এক্সপ্রেশন হলঃ
σ (loan)
loan – loan – account ≤ 50

খ) ডাটা সন্নিবেশ (Insertion) : রিলেশনাল ডাটাবেসের কোন রিলেশনে ডাটা ইনসার্ট করার জন্যে হয় একটি টুপলরে সুনির্দিষ্ট করতে হবে অথবা এমন একটি কুয়েরি রচনা করতে হবে, যাতে একসেট টুপল রিলেশনে সন্নিবেশ হয়। এক্ষেত্রে অবশ্যই সন্নিবেশিত টুপলের অ্যাট্রিবিউটসমূহকে রিলেশনের অ্যাট্রিবিউট ডোমেইন এর সদস্য হতে হবে। এমনকি তালে। ভ্যালুর অ্যারেও একই রকম হতে হবে। রিলেশনাল অ্যালজেব্রার ক্ষেত্রে কোন রিলেশনে ডাটা সন্নিবেশ করার জন্যে নিম্নে এক্সপ্রেশনটি লিখা যায়:
r – r ∪ E
এখানে। হল রিলেশন, হল অ্যাসাইনমেন্ট অপারেশন, ∪ হল ইউনিয়ন অপারেশন এবং E হল রিলেশনাল অ্যালজেবরা এক্সপ্রেশন। নিম্নে ডাটা সন্নিবেশের একটি উদাহরণ দেয়া হল :
মনে করি Karim নামক একজন কাস্টমারের Dhanmondi শাখার A-100 নং অ্যাকাউন্টে 1000 টাকা জমা করতে হবে। তাহলে নিম্নের এক্সপ্রেশনটি লিখতে হবে-
account account ((“Dhanmondi”, A-100, 1000))
depositor depositor [(“Karim” A-100)]
এ এক্সপ্রেশনটি যখন নির্বাহ করা হবে, তখন উক্ত শাখার অ্যাকাউন্ট নম্বর 100 তে 100০ টাকা জমা হয়ে যাবে।
(গ) আপডেটিং বা মডিফিকেশন (Updating or Modification): কোন বিশেষ পরিস্থিতিতে রিলেশনাল ডাটাবেসের একটি টুপলের সমস্ত ভ্যালুকে পরিবর্তন না করে যে কোন একটি ভ্যালু পরিবর্তন করাকেই ডাটাবেস মডিফিকেশন বা আপডেটিং বলা হয়। রিলেশনাল ডাটাবেসে এ কাজটি সম্পন্ন করার জন্যে জেনারেলাইজড প্রজেকশন অপারেটর (Generalized Projection Operator) ব্যবহার করা যেতে পারে। নিম্নে তা উল্লেখ করা হলঃ
r – π (r)
F1 , F2………….., Fn
এখানে। হল রিলেশন, π হল প্রজেকশন অপারেশন এবং Fi হল। এর ith অ্যাট্রিবিউট। যদি আমরা। এর কিছু টুপলকে নির্বাচন করতে চাই এবং তাদেরকে মডিফাই করতে চাই, তবে নিম্নে এক্সপ্রেশনটি ব্যবহার করা যেতে পারে-
r – π
F1 , F2………….., Fn

এখানে P হল সিলেকশন কন্ডিশন, যার সাহায্যে পছন্দ করা হবে যে, কোন টুপলগুলো আপডেট করা হবে। উদাহরণস্বরূপ বলা যায় যে, যদি সমস্ত অ্যাকাউন্টের ব্যালেন্সের উপর শতকরা 5 ভাগ সুদ প্রদান করা হয়, তাহলে নিম্নে এক্সপ্রেশনটি লেখা যেতে পারে।
branch-name, account-number, balanec -account
balance 1.05 (account)
এটি সমস্ত branch এর সকল অ্যাকাউন্টের balance 5% বৃদ্ধি করবে।
