✏️ Explanatory Question

রিলেশনাল অ্যালজেবরাতে সেট অপারেশনগুলি উদাহরণসহ বর্ণনা কর।

👁 4 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

Set Operations in Relational Algebra

Exam-ready answer with definition, conditions, symbols, examples, result tables, SQL comparison, and conclusion.

Question 10

প্রশ্ন

রিলেশনাল অ্যালজেবরাতে সেট অপারেশনগুলি উদাহরণসহ বর্ণনা কর।

Answer: Set Operations in Relational Algebra

ভূমিকা

Relational Algebra হলো DBMS-এর একটি formal query language, যার সাহায্যে relational database-এর relation বা table-এর উপর বিভিন্ন operation করা যায়। Relational Algebra-এর কিছু operation mathematical set theory-এর উপর ভিত্তি করে তৈরি।

এই set operations সাধারণত দুইটি relation-এর উপর কাজ করে। তাই এগুলিকে Binary Operations বলা হয়। Set operations-এর মাধ্যমে দুইটি table-এর data combine, compare বা subtract করা যায়।

সহজ ভাষায়: Set operations হলো এমন relational algebra operations, যেগুলি দুইটি relation-এর data নিয়ে union, common data বা difference বের করে।

Relational Algebra-এর প্রধান Set Operations

Relational Algebra-এ প্রধান set operations হলো:

Operation Symbol কাজ
Union দুই relation-এর সব unique tuples একত্র করে
Intersection দুই relation-এ common tuples বের করে
Set Difference / Minus প্রথম relation-এ আছে কিন্তু দ্বিতীয় relation-এ নেই এমন tuples বের করে
Cartesian Product × দুই relation-এর প্রতিটি tuple-এর combination তৈরি করে

Set Operations-এর গুরুত্বপূর্ণ শর্ত: Union Compatibility

Union, Intersection এবং Set Difference operation করার জন্য দুইটি relation অবশ্যই Union Compatible হতে হবে।

দুইটি relation Union Compatible হবে যদি:

  • দুইটি relation-এর attribute বা column সংখ্যা সমান হয়।
  • Corresponding attributes-এর domain বা data type same বা compatible হয়।

Exam Point: Union, Intersection এবং Set Difference করার আগে relation দুটির union compatibility থাকা আবশ্যক।

Sample Relations

নিচের দুইটি relation ব্যবহার করে set operations বোঝানো হলো:

Relation A: CS_Students

Roll_No Name
101 Rahul
102 Riya
103 Karim

Relation B: Sports_Students

Roll_No Name
102 Riya
103 Karim
104 Anita

এখানে CS_Students এবং Sports_Students relation দুটির column সংখ্যা সমান এবং corresponding columns-এর data type same। তাই এই relation দুটির উপর set operations করা যাবে।

১. Union Operation

Union Operation দুইটি relation-এর সব tuples একত্র করে এবং duplicate tuples remove করে। অর্থাৎ যে tuple প্রথম relation-এ আছে, দ্বিতীয় relation-এ আছে বা উভয় relation-এ আছে — সব unique tuple result-এ থাকবে।

Definition: Union operation returns all unique tuples that are present in either one or both relations.

Symbol and Syntax


A ∪ B
            

Example


CS_Students ∪ Sports_Students
            

Result

Roll_No Name
101 Rahul
102 Riya
103 Karim
104 Anita

এখানে CS_Students এবং Sports_Students relation-এর সব unique students result-এ এসেছে। Riya এবং Karim দুই relation-এ common থাকলেও result-এ একবার করে এসেছে।

Union Operation-এর বৈশিষ্ট্য

  • Union duplicate tuples remove করে।
  • Union operation করার জন্য relation দুটির union compatibility দরকার।
  • Union operation commutative। অর্থাৎ A ∪ B = B ∪ A।
  • Union operation associative। অর্থাৎ A ∪ (B ∪ C) = (A ∪ B) ∪ C।

২. Intersection Operation

Intersection Operation দুইটি relation-এর common tuples বের করে। অর্থাৎ যে tuples দুই relation-এই উপস্থিত থাকে শুধুমাত্র সেগুলি result relation-এ থাকবে।

Definition: Intersection operation returns only those tuples that are present in both relations.

Symbol and Syntax


A ∩ B
            

Example


CS_Students ∩ Sports_Students
            

Result

Roll_No Name
102 Riya
103 Karim

এখানে Riya এবং Karim দুই relation-এই আছে। তাই তারা Intersection result-এ এসেছে।

Intersection Operation-এর বৈশিষ্ট্য

  • Intersection শুধুমাত্র common tuples বের করে।
  • Intersection operation করার জন্য relation দুটির union compatibility দরকার।
  • Intersection operation commutative। অর্থাৎ A ∩ B = B ∩ A।
  • Intersection operation associative। অর্থাৎ A ∩ (B ∩ C) = (A ∩ B) ∩ C।

৩. Set Difference / Minus Operation

Set Difference বা Minus Operation প্রথম relation-এর এমন tuples বের করে, যেগুলি দ্বিতীয় relation-এ নেই।

Definition: Set Difference operation returns tuples that are present in the first relation but not present in the second relation.

Symbol and Syntax


A − B
            

Example


CS_Students − Sports_Students
            

Result

Roll_No Name
101 Rahul

এখানে Rahul CS_Students relation-এ আছে কিন্তু Sports_Students relation-এ নেই। তাই Rahul result-এ এসেছে।

Reverse Difference Example


Sports_Students − CS_Students
            

Result

Roll_No Name
104 Anita

এখানে Anita Sports_Students relation-এ আছে কিন্তু CS_Students relation-এ নেই। তাই result-এ Anita এসেছে।

Set Difference Operation-এর বৈশিষ্ট্য

  • Set Difference প্রথম relation থেকে দ্বিতীয় relation-এর common tuples বাদ দেয়।
  • Set Difference operation করার জন্য relation দুটির union compatibility দরকার।
  • Set Difference commutative নয়। অর্থাৎ A − B এবং B − A একই নয়।
  • Order পরিবর্তন করলে result পরিবর্তন হতে পারে।

৪. Cartesian Product Operation

Cartesian Product দুইটি relation-এর প্রতিটি tuple-এর combination তৈরি করে। অর্থাৎ প্রথম relation-এর প্রতিটি row দ্বিতীয় relation-এর প্রতিটি row-এর সঙ্গে combine হয়।

Definition: Cartesian Product combines each tuple of one relation with each tuple of another relation.

Symbol and Syntax


A × B
            

Example Relations

ধরা যাক:

Student_ID Name
1 Rahul
2 Riya
Course_ID Course_Name
C1 DBMS
C2 Python

Operation


Student × Course
            

Result

Student_ID Name Course_ID Course_Name
1 Rahul C1 DBMS
1 Rahul C2 Python
2 Riya C1 DBMS
2 Riya C2 Python

এখানে Student relation-এ 2টি tuple এবং Course relation-এ 2টি tuple আছে। তাই Cartesian Product result-এ 2 × 2 = 4টি tuple তৈরি হয়েছে।

Set Operations-এর Comparison Table

Operation Symbol Result Duplicate Handling Union Compatibility Required?
Union দুই relation-এর সব unique tuples Duplicates remove করে Yes
Intersection দুই relation-এর common tuples Duplicates remove করে Yes
Set Difference প্রথম relation-এ আছে কিন্তু দ্বিতীয় relation-এ নেই Duplicates remove করে Yes
Cartesian Product × দুই relation-এর সব tuple combinations Combination তৈরি করে No

SQL Equivalent

Relational Algebra-এর set operations-এর SQL equivalent নিচে দেওয়া হলো:

Relational Algebra SQL Equivalent
A ∪ B UNION
A ∩ B INTERSECT
A − B EXCEPT / MINUS
A × B CROSS JOIN

SQL Example: Union


SELECT Roll_No, Name FROM CS_Students
UNION
SELECT Roll_No, Name FROM Sports_Students;
            

SQL Example: Intersection


SELECT Roll_No, Name FROM CS_Students
INTERSECT
SELECT Roll_No, Name FROM Sports_Students;
            

SQL Example: Set Difference


SELECT Roll_No, Name FROM CS_Students
EXCEPT
SELECT Roll_No, Name FROM Sports_Students;
            

Set Operations-এর গুরুত্ব

  • দুইটি relation-এর data combine করতে সাহায্য করে।
  • Common records বের করতে সাহায্য করে।
  • এক relation থেকে অন্য relation-এর records বাদ দিতে সাহায্য করে।
  • Duplicate data remove করতে সাহায্য করে।
  • Complex database queries তৈরি করতে সাহায্য করে।
  • SQL-এর UNION, INTERSECT, EXCEPT/MINUS বোঝার ভিত্তি তৈরি করে।

Exam Writing Tips

  • প্রথমে Relational Algebra এবং Set Operations-এর definition লিখবে।
  • Union compatibility-এর শর্ত অবশ্যই লিখবে।
  • Union, Intersection, Set Difference এবং Cartesian Product আলাদা করে ব্যাখ্যা করবে।
  • প্রতিটি operation-এর symbol লিখবে।
  • Sample relation দিয়ে result table দেখাবে।
  • Set Difference commutative নয় — এই point লিখলে answer আরও ভালো হবে।
  • শেষে comparison table এবং conclusion লিখবে।

উপসংহার

সুতরাং, Relational Algebra-এর set operations database query processing-এর একটি গুরুত্বপূর্ণ অংশ। Union operation দুই relation-এর সব unique tuples একত্র করে, Intersection common tuples বের করে, Set Difference প্রথম relation থেকে দ্বিতীয় relation-এর tuples বাদ দেয় এবং Cartesian Product সব possible tuple combinations তৈরি করে।

এই operations database থেকে প্রয়োজনীয় data বের করা, compare করা এবং combine করার ক্ষেত্রে খুবই কার্যকর। SQL-এর set operations বুঝতেও Relational Algebra-এর এই ধারণাগুলি জানা অত্যন্ত গুরুত্বপূর্ণ।

Quick Revision Points

  • Set operations সাধারণত binary operations।
  • Union-এর symbol হলো ∪।
  • Intersection-এর symbol হলো ∩।
  • Set Difference-এর symbol হলো −।
  • Cartesian Product-এর symbol হলো ×।
  • Union সব unique tuples একত্র করে।
  • Intersection common tuples বের করে।
  • Set Difference প্রথম relation-এর unique tuples বের করে।
  • Union compatibility set operations-এর জন্য গুরুত্বপূর্ণ।