কম্পিউটার টিউটোরিয়াল

রিলেশন্যাল অ্যালজébrা-তে বেসিক অপারেটর


রিলেশন্যাল অ্যালজé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)

  1. C#-এ রিলেশনাল অপারেটর (Relational Operators) কী কী?

  2. জাভা ৯-এ JShell-এ রিলেশনাল এবং লজিক্যাল অপারেটর ইমপ্লিমেন্টেশন

  3. পাইথনের বেসিক অপারেটরসমূহ

  4. পাইথনে বিভিন্ন বেসিক অপারেটর কী কী?