কোন ধরনের ডেটাবেজ রিলেশনে ফাংশন টেবিল ব্যবহৃত হয়?
 

Updated: 11 months ago
  • One to one
  • One to Many
  • Many to one
  • Many to Many
1.1k
ব্যাখ্যাঃ

ডেটাবেজ ডিজাইনে, দুটি টেবিলের মধ্যে বিভিন্ন ধরনের সম্পর্ক (Relationship) থাকতে পারে। এদের মধ্যে অন্যতম হলো:

        
  • One-to-One (১:১) সম্পর্ক: এই ক্ষেত্রে, একটি টেবিলের একটি রেকর্ড অন্য টেবিলের শুধুমাত্র একটি রেকর্ডের সাথে সম্পর্কিত হয়। যেমন, একজন ব্যক্তির একটিমাত্র পাসপোর্ট থাকতে পারে এবং একটি পাসপোর্ট শুধুমাত্র একজন ব্যক্তির।
  •     
  • One-to-Many (১:N) সম্পর্ক: এই ক্ষেত্রে, একটি টেবিলের একটি রেকর্ড অন্য টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত হতে পারে, কিন্তু অন্য টেবিলের প্রতিটি রেকর্ড প্রথম টেবিলের শুধুমাত্র একটি রেকর্ডের সাথে সম্পর্কিত। যেমন, একজন শিক্ষক একাধিক কোর্স পড়াতে পারেন, কিন্তু একটি কোর্স শুধুমাত্র একজন শিক্ষক দ্বারা পড়ানো হয়।
  •     
  • Many-to-One (N:১) সম্পর্ক: এটি One-to-Many এর বিপরীত। একটি টেবিলের একাধিক রেকর্ড অন্য টেবিলের একটি রেকর্ডের সাথে সম্পর্কিত। যেমন, একাধিক শিক্ষার্থী একটি নির্দিষ্ট ডিপার্টমেন্টের অন্তর্গত হতে পারে।
  •     
  • Many-to-Many (N:M) সম্পর্ক: এই ক্ষেত্রে, একটি টেবিলের একাধিক রেকর্ড অন্য টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত হতে পারে, এবং অন্য টেবিলের একাধিক রেকর্ডও প্রথম টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত হতে পারে। যেমন, একজন শিক্ষার্থী একাধিক কোর্স নিতে পারে এবং একটি কোর্সে একাধিক শিক্ষার্থী ভর্তি হতে পারে।

রিলেশনাল ডেটাবেজে সরাসরি Many-to-Many সম্পর্ক স্থাপন করা সম্ভব নয়। এই সম্পর্ককে কার্যকর করতে একটি মধ্যবর্তী টেবিলের (Intermediate Table) প্রয়োজন হয়, যা ফাংশন টেবিল (Junction Table) বা অ্যাসোসিয়েটিভ টেবিল (Associative Table) নামে পরিচিত। এই ফাংশন টেবিলটি দুটি মূল টেবিলের প্রাইমারি কী (Primary Key) কে ফরেন কী (Foreign Key) হিসেবে ধারণ করে এবং Many-to-Many সম্পর্ককে দুটি One-to-Many সম্পর্কে রূপান্তরিত করে।

উদাহরণস্বরূপ, 'শিক্ষার্থী' এবং 'কোর্স' নামক দুটি টেবিলের মধ্যে Many-to-Many সম্পর্ক (একজন শিক্ষার্থী একাধিক কোর্স নিতে পারে এবং একটি কোর্সে একাধিক শিক্ষার্থী থাকতে পারে) সমাধান করতে একটি 'শিক্ষার্থী_কোর্স' নামক ফাংশন টেবিল ব্যবহার করা হয়। এই 'শিক্ষার্থী_কোর্স' টেবিলে 'শিক্ষার্থী' টেবিলের ID এবং 'কোর্স' টেবিলের ID উভয়ই থাকবে, যা দুটি One-to-Many সম্পর্ক তৈরি করবে ('শিক্ষার্থী' টেবিল থেকে 'শিক্ষার্থী_কোর্স' এবং 'কোর্স' টেবিল থেকে 'শিক্ষার্থী_কোর্স')।

অতএব, ফাংশন টেবিল Many to Many ডেটাবেজ রিলেশনে ব্যবহৃত হয়।

Satt AI
Satt AI
1 month ago

ডেটাবেজ রিলেশন বলতে আসলে ডেটাবেজের টেবিলগুলোর মধ্যে সম্পর্ক বোঝানো হয়। একটি ডেটাবেজে এক বা একাধিক টেবিল থাকতে পারে। যখন একাধিক টেবিল থাকে, তখন প্রায়শই টেবিলগুলোর মধ্যে সম্পর্ক বা রিলেশন (relation) থাকে। এই রিলেশন আবার তিন ধরনের হতে পারে :

ডেটাবেজ ম্যানেজমেন্ট সিস্টেম

১. ওয়ান টু ওয়ান (one to one)

২. ওয়ান টু মেনি (one to many)

৩. মেনি টু মেনি (many to many)

১. ওয়ান টু ওয়ান রিলেশন

দুটি টেবিলের মধ্যে যদি ওয়ান টু ওয়ান রিলেশন থাকে, তবে একটি টেবিলের একটি রো-এর সঙ্গে অন্য টেবিলের একটিমাত্র রো-এর সম্পর্ক খুঁজে পাওয়া যাবে। ধরা যাক, শিক্ষার্থীদের সাধারণ তথ্য রাখার জন্য একটি টেবিল student_info তৈরি হলো। আবার শিক্ষার্থীদের যোগাযোগের ঠিকানা রাখার জন্য তৈরি করা হলো student_contact টেবিল। টেবিলগুলো নিম্নরূপ :

উপরের টেবিল দুটির মধ্যে ওয়ান টু ওয়ান রিলেশন বিদ্যমান। যেমন – student_info টেবিলের প্রতিটি রো-তে একজন শিক্ষার্থীর তথ্য রয়েছে। এই টেবিলের প্রাইমারি কি হচ্ছে Roll (যদিও প্রাইমারি কি হিসেবে Roll সবসময় সঠিক নয়, তবে এখানে আলোচনার সুবিধার্থে এটি প্রাইমারি কি হিসেবে ঘোষণা করা হয়েছে)। এখন, এই টেবিলে প্রতিটি শিক্ষার্থী (রো)-এর জন্য student_contact টেবিলে একটি রো থাকবে, যেখানে ওই শিক্ষার্থীর যোগাযোগের ঠিকানা (ফোন, ইমেইল, বাসার ঠিকানা) থাকবে। student_info টেবিলে Roll হচ্ছে প্রাইমারি কি, কিন্তু student_contact টেবিলে Roll হচ্ছে ফরেন কি (foreign key)। একটি টেবিলের প্রাইমারি কি অন্য টেবিলে যখন ব্যবহার করা হয়, তখন সেই টেবিলে সেই কি-কে ফরেন কি বলা হয়। এই বিশেষ কি দিয়ে টেবিলদুটি সম্পর্কযুক্ত হয়।

২. ওয়ান টু মেনি রিলেশন

ধরা যাক, শিক্ষার্থীদের পরীক্ষার ফল সংরক্ষণ করার জন্য result নামের একটি টেবিল তৈরি করা হলো। টেবিলের প্রতিটি রো-তে একজন শিক্ষার্থীর একটি বিষয়ে পরীক্ষায় প্রাপ্ত নম্বর থাকবে।

টেবিলের নাম : result

Roll

Subject

(Integer, Primary Key)

1

2

(Integer )

1

1

2

2

ID

(Text)

Bangla

English

Marks (Decimal)

70

76

3

4

Bangla

English

68

81

এখানে দেখা যাচ্ছে যে, student_info টেবিলের একটি রো-এর সঙ্গে result টেবিলের একাধিক রো-এর সম্পর্ক রয়েছে। যেমন- রোল নম্বর 1 যার, তার দুটি বিষয়ে প্রাপ্ত নম্বর result টেবিলে দুটি রো-তে রাখা আছে। student_info ও result টেবিলের মধ্যকার সম্পর্ককে ওয়ান টু মেনি রিলেশন বলা হয়, কারণ প্রথম টেবিলের একটি রো-এর সঙ্গে দ্বিতীয় টেবিলের একাধিক রো-এর সম্পর্ক রয়েছে। result টেবিলের

Roll হচ্ছে ফরেন কি ।

৩. মেনি টু মেনি

যখন দুটি টেবিল এমনভাবে সম্পর্কযুক্ত হয় যে, প্রথম টেবিলের একটি রো, দ্বিতীয় টেবিলের একাধিক রো- এর সঙ্গে সম্পর্কযুক্ত, আবার দ্বিতীয় টেবিলের একটি রো, প্রথম টেবিলের একাধিক রো-এর সঙ্গে সম্পর্কযুক্ত হয়, তখন তাদের মধ্যকার সম্পর্ককে বলা হয় মেনি টু মেনি রিলেশনশিপ।

ধরা যাক, স্কুলে বিভিন্ন ক্লাব তৈরি করা হয়েছে। যেমন ফুটবল ক্লাব, ক্রিকেট ক্লাব, দাবা ক্লাব, বিতর্ক ক্লাব, বিজ্ঞান ক্লাব, সাংস্কৃতিক ক্লাব ইত্যাদি। একজন শিক্ষার্থী এক বা একাধিক ক্লাবের সদস্য হতে পারে। আবার একটি ক্লাবে একাধিক শিক্ষার্থী থাকতে পারে। নিচে club টেবিলটি দেওয়া হলো-

এই টেবিলের প্রাইমারি কি হচ্ছে Name. অর্থাৎ প্রতিটি ক্লাবের অনন্য (unique) নাম থাকবে, একই নামে একাধিক ক্লাব থাকতে পারবে না।

এখন student_info ও club টেবিল দুটির মধ্যে সম্পর্ক স্থাপনের জন্য আমাদেরকে আরেকটি টেবিল তৈরি করতে হবে।

টেবিলের নাম : student_club

Roll

(Integer )

1

Cricket Club

Cricket Club

club_name (text)

Football Club

Chess Club

Debating Club

মেনি টু মেনি রিলেশনের জন্য এরকম একটি টেবিল তৈরি করতে হয়, যার কাজ হচ্ছে মূল টেবিলদুটি যুক্ত করা।

Related Question

View All
শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র
মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews

Question Analytics

মোট উত্তরদাতা

জন

সঠিক
ভুল
উত্তর নেই