রিলেশনশিপ: টেবিলের মধ্যে সম্পর্ক

অধ্যায় ৬: ডেটাবেজ ম্যানেজমেন্ট সিস্টেম লেসন ৩৪ / ৩৬

রিলেশনাল ডেটাবেজ

সব তথ্য এক বিশাল টেবিলে না রেখে আলাদা টেবিলে রেখে "কী" দিয়ে যুক্ত করাই রিলেশনাল ডেটাবেজ-এর মূল ভাবনা। এতে একই তথ্য বারবার লিখতে হয় না।

উদাহরণ

Students (প্রাইমারি কী: Roll)
RollName
1রাফি
2সুমাইয়া
Results (ফরেন কী: Roll)
RollSubjectMarks
1ICT85
1Math78
2ICT92

রাফির নাম Results টেবিলে বারবার লিখতে হলো না। নাম বদলালে এক জায়গায় বদলালেই হবে।

সম্পর্কের ধরন

ধরনঅর্থউদাহরণ
One-to-One (১:১)একটি রেকর্ডের সাথে অন্য টেবিলের একটি রেকর্ডএকজন নাগরিক ↔ একটি এনআইডি
One-to-Many (১:n)একটি রেকর্ডের সাথে অনেকগুলো রেকর্ডএক শিক্ষার্থী → অনেক বিষয়ের ফল
Many-to-Many (n:n)দুই দিকেই অনেকগুলোঅনেক শিক্ষার্থী ↔ অনেক কোর্স

Many-to-Many সরাসরি করা যায় না; মাঝে একটি তৃতীয় টেবিল (Junction Table) লাগে। যেমন: Students ও Courses-এর মাঝে Enrollments।

নরমালাইজেশন

বড় টেবিলকে ভেঙে পুনরাবৃত্তি কমানো ও তথ্য সুসংগঠিত করার প্রক্রিয়াই নরমালাইজেশন।

মনে রাখো: One-to-Many-তে "Many" দিকের টেবিলে ফরেন কী থাকে।
অনুশীলনী
  1. স্কুলে শিক্ষক ও বিষয়ের মধ্যে কোন ধরনের সম্পর্ক হতে পারে? ব্যাখ্যা করো।
  2. গ্রাহক ও অর্ডারের দুটি টেবিল নকশা করো, প্রাইমারি ও ফরেন কী চিহ্নিত করো।
  3. একই তথ্য বারবার রাখলে কী সমস্যা হয়?