রিলেশন্যাল অ্যালজébrা হলো একটি প্রোসিডিউরাল কوئরি ল্যাঙ্গুয়েজ, যা একাধিক রিলেশন ওপর অপারেশন কর একটি সিঙ্গল টেবিল/রিলেশন আউটপুট হিসেবে দেয়। কিছু বেসিক রিলেশন এখানে আলোচনা করা হয়েছে।
আমাদের লার্নিং কোর্সে তিনটি রিলেশন (টেবিল) ব্যবহার করা হয়েছে −
টেবিল ১: course
| Course_id | Name |
|---|---|
| 1 | Computer science |
| 2 | Information Technology |
| 3 | mechanical |
টেবিল ২: students
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
টেবিল ৩: Hostel
| St. No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
এই রিলেশনগুলোতে কিছু অপারেশন পারফর্ম করে নতুন রিলেশন তৈরি করা হয়েছে।
সিলেকশন অপারেশন (σ) − সিলেকশন অপারেটর সিগমা (σ) দিয়ে ডিনোট করা হয় এবং এটি কোনো রিলেশন-এর টাপলগুলো কোনো কন্ডিশন বেস्ड সিলেক্ট করতে ব্যবহৃত হয়। কেবল সেই টাপলগুলো সিলেক্ট হবে যা কয়েকটি কন্ডিশন পূরণ করে।
সিনট্যাক্স
σ(condition)(relation_name)
উদাহরণ
Course_id 1 가진 студент সিলেক্ট করুন। σ(course_id = 1)(student)
রেজাল্ট
| Roll No. | Name | address | age |
|---|---|---|---|
| 4 | Faiz | Delhi | 22 |
প্রোজেকশন অপারেশন (π) প্রোজেকশন অপারেটর পাই (π) দিয়ে ডিনোট করা হয় এবং এটি কোনো স্পেসিফিক রিলেশন থেকে কলাম সিলেক্ট করতে ব্যবহৃত হয়। কেবল স্পেসিফিক কলামগুলো সিলেক্ট হবে।
সিনট্যাক্স
π(column1, column2, ..., columnn)(relation_name)
উদাহরণ
হোস্টেলে থাকা সব স্টুডেন্টের নাম এবং নম্বর সিলেক্ট করুন। π(st. No., name)(hostel)
রেজাল্ট
| St. No. | Name |
|---|---|
| 1 | Ram |
| 2 | Akash |
| 3 | neha |
প্রোজেকশনে রোগুলো সবসময় ডISTINCT থাকে অর্থাৎ যদি অন্য কোনো স্টুডেন্টের নামও পঙ্কজ হয় তবে অন্যটি রিমুভ হয়ে যাবে।
ক্রস প্রোডাক্ট (X) - ক্রস প্রোডাক্ট X সিম্বল দিয়ে ডিনোট করা হয় এবং দুটি ভেরিয়েবল জয়েনের ভ্যালু বের করতে ব্যবহৃত হয়। ক্রস প্রোডাক্টে রিলেশন১-এর প্রতিটি টাপল রিলেশন২-এর প্রতিটি টাপলের সাথে ক্রস হয়। যা আউটপুট রিলেশনকে nXm অর্ডারের বানায়, যেখানে n হলো রিলেশন১-এ টাপলের সংখ্যা এবং m হলো রিলেশন২-এ টাপলের সংখ্যা।
সিনট্যাক্স
relation1 X relation2
উদাহরণ
course এবং hostel টেবিলের ক্রস প্রোডাক্ট বের করুন।
student X course
| St. No. | Name | address | age | Course_id | Name |
|---|---|---|---|---|---|
| 1 | Ram | Delhi | 18 | 1 | Computer science |
| 1 | Ram | Delhi | 18 | 2 | Information Technology |
| 1 | Ram | Delhi | 18 | 3 | mechanical |
| 2 | Akash | hyderabad | 20 | 1 | Computer science |
| 2 | Akash | hyderabad | 20 | 2 | Information Technology |
| 2 | Akash | hyderabad | 20 | 3 | mechanical |
| 3 | neha | Jhansi | 21 | 1 | Computer science |
| 3 | neha | Jhansi | 21 | 2 | Information Technology |
| 3 | neha | Jhansi | 21 | 3 | mechanical |
ইউনিয়ন (U) - দুটি রিলেশন relation1 এবং relation2-এর ইউনিয়ন সেই টাপলগুলো দেবে যা relation1-এ বা relation2-এ আছে কিন্তু দুটোতে যেসব টাপল আছে সেগুলো একবারের মতো কনসিডার হবে। ইউনিয়ন বের করার জন্যও দুটি রিলেশন একই ডোমেনের হতে হবে।
সিনট্যাক্স
relation1 U relation2
উদাহরণ
student এবং hostel-এর ইউনিয়ন বের করুন
student U hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 1 | Ram | Delhi | 18 |
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
| 2 | Akash | hyderabad | 20 |
| 3 | neha | Jhansi | 21 |
মাইনাস (-) অপারেটর - অপারেটর - সিম্বল দিয়ে ডিনোট করা হয়। Relation1 - relation2 তে সেই রিলেশন রেজাল্ট হবে যাতে relation1-এ থাকা টাপল 있고 relation2-এ নেই। মাইনাস ক্যালকুলেট করার জন্যও রিলেশনগুলো ইউনিয়ন কমপ্যাটিবল হতে হবে।
সিনট্যাক্স
relation1 - relation2
উদাহরণ
student - hostel অপারেশন বের করুন
student - hostel
| Roll No. | Name | address | age |
|---|---|---|---|
| 2 | Raju | hyderabad | 20 |
| 4 | Faiz | Delhi | 22 |
| 5 | Salman | hyderabad | 20 |
রিনেম (ρ) − রিনেম অপারেশন ρ (rho) দিয়ে ডিনোট করা হয় এবং এটি দেয়া রিলেশনকে অন্য নাম দিয়ে রিনেম করতে ব্যবহৃত হয়।
সিনট্যাক্স
ρ(new_name, old_name)