উত্তর: DBMS-এর Relational Algebra হলো একটি procedural query language, যার মাধ্যমে relational database থেকে data retrieve এবং manipulate করা যায়। Relational Algebra-তে কিছু মৌলিক বা basic operation থাকে। এই basic operation-গুলো ব্যবহার করে অন্যান্য জটিল operation তৈরি করা যায়।
Relational Algebra-এর complete set of basic operations সাধারণত ছয়টি operation নিয়ে গঠিত। এগুলো হলো—
Relational Algebra-এর complete set of basic operations হলো:
| ক্রমিক নং | Operation-এর নাম | Symbol | কাজ |
|---|---|---|---|
| ১ | Selection | σ | নির্দিষ্ট condition অনুযায়ী row বা tuple নির্বাচন করে |
| ২ | Projection | π | নির্দিষ্ট column বা attribute নির্বাচন করে |
| ৩ | Union | ∪ | দুটি relation-এর tuple একত্র করে |
| ৪ | Set Difference | − | এক relation-এ আছে কিন্তু অন্য relation-এ নেই এমন tuple বের করে |
| ৫ | Cartesian Product | × | দুটি relation-এর প্রতিটি tuple-এর combination তৈরি করে |
| ৬ | Rename | ρ | relation বা attribute-এর নাম পরিবর্তন করে |
Relational Algebra-এর operation-গুলো table বা relation-এর উপর কাজ করে। একটি operation একটি relation input হিসেবে গ্রহণ করে এবং output হিসেবেও একটি নতুন relation তৈরি করে। এই কারণে Relational Algebra-কে database query করার mathematical foundation বলা হয়।
সহজভাবে বলা যায়, Relational Algebra-এর operation-গুলো database table থেকে প্রয়োজনীয় data বের করা, column নির্বাচন করা, দুটি table মিলানো বা আলাদা করা এবং result-এর নাম পরিবর্তন করার কাজে ব্যবহৃত হয়।
Selection operation নির্দিষ্ট condition অনুযায়ী relation থেকে row বা tuple নির্বাচন করে। এটি table-এর row filter করার জন্য ব্যবহৃত হয়।
Symbol: σ
σ condition (Relation)
উদাহরণ:
σ Class = 10 (Student)
এই operation Student relation থেকে শুধুমাত্র Class 10-এর student record নির্বাচন করবে।
Projection operation relation থেকে নির্দিষ্ট column বা attribute নির্বাচন করে। এটি table-এর column filter করার জন্য ব্যবহৃত হয়।
Symbol: π
π attribute_list (Relation)
উদাহরণ:
π Name, Marks (Student)
এই operation Student relation থেকে শুধু Name এবং Marks column দেখাবে।
Union operation দুটি relation-এর tuple একত্র করে। অর্থাৎ, দুটি relation-এর সব unique tuple নিয়ে একটি নতুন relation তৈরি করে।
Symbol: ∪
R ∪ S
উদাহরণ:
Student_2025 ∪ Student_2026
এই operation Student_2025 এবং Student_2026 relation-এর সব student record একত্র করবে।
Note: Union operation করার জন্য দুটি relation-এর attribute সংখ্যা এবং data type compatible হওয়া দরকার।
Set Difference operation একটি relation থেকে এমন tuple বের করে, যেগুলো প্রথম relation-এ আছে কিন্তু দ্বিতীয় relation-এ নেই।
Symbol: −
R − S
উদাহরণ:
All_Students − Fee_Paid_Students
এই operation এমন student list দেবে যারা All_Students relation-এ আছে কিন্তু Fee_Paid_Students relation-এ নেই। অর্থাৎ, যারা fee দেয়নি তাদের বের করা যাবে।
Cartesian Product operation দুটি relation-এর প্রতিটি tuple-এর সাথে অন্য relation-এর প্রতিটি tuple combine করে। এর ফলে একটি বড় relation তৈরি হয়।
Symbol: ×
R × S
উদাহরণ:
Student × Course
এই operation Student relation-এর প্রতিটি student-এর সাথে Course relation-এর প্রতিটি course-এর combination তৈরি করবে।
সহজভাবে: যদি Student relation-এ 3টি tuple থাকে এবং Course relation-এ 2টি tuple থাকে, তাহলে Cartesian Product-এর result-এ 3 × 2 = 6টি tuple থাকবে।
Rename operation relation বা attribute-এর নাম পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি query result-কে পরিষ্কারভাবে বোঝানোর জন্য সহায়ক।
Symbol: ρ
ρ New_Name (Relation)
উদাহরণ:
ρ Student_Info (Student)
এই operation Student relation-এর result-কে Student_Info নামে প্রকাশ করবে।
Relational Algebra-তে কিছু operation basic বা fundamental operation হিসেবে পরিচিত। আবার কিছু operation এই basic operation ব্যবহার করে তৈরি করা যায়। তাই সেগুলোকে derived operation বলা হয়।
| Operation Type | Operation Name |
|---|---|
| Basic / Complete Set | Selection, Projection, Union, Set Difference, Cartesian Product, Rename |
| Derived Operations | Intersection, Join, Division |
Note: Intersection, Join এবং Division গুরুত্বপূর্ণ operation হলেও এগুলো basic operation থেকে derive করা যায়। তাই complete basic set বলতে সাধারণত ছয়টি operation বোঝানো হয়।
| Symbol | Operation | বাংলা অর্থ |
|---|---|---|
| σ | Selection | Row নির্বাচন |
| π | Projection | Column নির্বাচন |
| ∪ | Union | দুটি relation একত্র করা |
| − | Set Difference | পার্থক্য বের করা |
| × | Cartesian Product | Combination তৈরি করা |
| ρ | Rename | নাম পরিবর্তন |
শিক্ষক ছাত্রদের এভাবে বোঝাতে পারেন:
ধরা যাক, তোমাদের কাছে একটি Student table আছে। এখন যদি শুধু Class 10-এর ছাত্রদের নিতে চাও, তাহলে Selection ব্যবহার করবে। যদি শুধু Name এবং Marks দেখতে চাও, তাহলে Projection ব্যবহার করবে। যদি দুটি student list একসাথে করতে চাও, তাহলে Union ব্যবহার করবে। যদি যারা fee দেয়নি তাদের বের করতে চাও, তাহলে Set Difference ব্যবহার করবে। যদি Student এবং Course-এর সব possible combination করতে চাও, তাহলে Cartesian Product ব্যবহার করবে। আর result-এর নাম বদলাতে চাইলে Rename ব্যবহার করবে।
প্রথমে লিখবে Relational Algebra একটি procedural query language।
তারপর complete set-এর ছয়টি operation-এর নাম লিখবে।
প্রতিটি operation-এর symbol লিখলে উত্তরটি ভালো হবে।
Selection এবং Projection-এর ছোট example দিলে উত্তরটি আরও clear হবে।
শেষে লিখবে Join, Intersection, Division derived operation।
Complete set মনে রাখার সূত্র: S-P-U-D-C-R
Relational Algebra হলো DBMS-এর একটি procedural query language, যার মাধ্যমে relation বা table-এর উপর বিভিন্ন operation চালিয়ে নতুন relation তৈরি করা যায়। Relational Algebra-এর complete set of basic operations হলো Selection, Projection, Union, Set Difference, Cartesian Product এবং Rename। Selection operation row নির্বাচন করে, Projection operation column নির্বাচন করে, Union দুটি relation একত্র করে, Set Difference দুটি relation-এর পার্থক্য বের করে, Cartesian Product দুটি relation-এর tuple combination তৈরি করে এবং Rename relation বা attribute-এর নাম পরিবর্তন করে। এগুলোকে basic operation বলা হয়, কারণ এগুলোর সাহায্যে Join, Intersection এবং Division-এর মতো derived operation তৈরি করা যায়।