RDBMS
আরডিবিএমএস
আরডিবিএমএস (RDBMS)
১. ভূমিকা — সম্পর্কের শক্তি!
ধরো তুমি একটি স্কুলের ডেটাবেজ তৈরি করছ। এক জায়গায় ছাত্রদের তথ্য, আরেক জায়গায় শিক্ষকদের তথ্য, আরেক জায়গায় পরীক্ষার ফলাফল। এখন প্রশ্ন: এই আলাদা আলাদা তথ্য কীভাবে একসাথে কাজ করবে?
উত্তর: RDBMS (Relational Database Management System) — যেখানে টেবিলগুলো পরস্পর সম্পর্কিত (Related) এবং এই সম্পর্কের মাধ্যমে জটিল প্রশ্নের উত্তর দেওয়া যায়!
মজার তথ্য: Dr. Edgar F. Codd ১৯৭০ সালে IBM এ কাজ করার সময় Relational Database এর ধারণা প্রকাশ করেন। তার "A Relational Model of Data for Large Shared Data Banks" — এই গবেষণাপত্রটি আধুনিক ডেটাবেজের ভিত্তি। Codd এর জন্য তিনি ১৯৮১ সালে Turing Award পান — কম্পিউটার বিজ্ঞানের নোবেল পুরস্কার!
২. সমস্যা — শুধু DBMS কি যথেষ্ট নয়?
সাধারণ DBMS (File-based):
Student.txt Teacher.txt Result.txt
→ এগুলো আলাদা ফাইল
→ কোনো সম্পর্ক নেই
→ প্রশ্ন: "বিজ্ঞান বিভাগের ছাত্রদের গণিতের গড় নম্বর কত?"
→ এই প্রশ্নের উত্তর পেতে ৩টি ফাইল হাতে মেলাতে হবে!
RDBMS:
Students Table ──FK──→ Results Table ──FK──→ Subjects Table
→ সম্পর্কযুক্ত
→ একটি Query তে উত্তর পাওয়া যায়:
SELECT AVG(marks) FROM Results
WHERE subject='গণিত' AND student_division='বিজ্ঞান';
৩. চিত্রের মাধ্যমে বোঝো
RDBMS এর Relational Model:
Students Results Subjects
┌──────┬──────────┐ ┌──────┬─────────┬────────┐ ┌─────────┬──────────┐
│Roll │ Division │ │Roll │SubjCode │ Marks │ │SubjCode │ Name │
│ (PK) │ │ │ (FK) │ (FK) │ │ │ (PK) │ │
├──────┼──────────┤ ├──────┼─────────┼────────┤ ├─────────┼──────────┤
│ 101 │ Science │ │ 101 │ M001 │ 90 │ │ M001 │ Math │
│ 102 │ Commerce │ │ 101 │ P001 │ 85 │ │ P001 │ Physics │
│ 103 │ Science │ │ 102 │ M001 │ 88 │ │ C001 │ Chemistry│
└──────┴──────────┘ │ 103 │ M001 │ 92 │ └─────────┴──────────┘
└──────┴─────────┴────────┘
Relation (সম্পর্ক):
Students.Roll ──────→ Results.Roll (FK)
Subjects.SubjCode ──→ Results.SubjCode (FK)
এই সম্পর্কের কারণেই RDBMS শক্তিশালী!
৪. বাস্তব জীবনের সাথে মিল
উপমা: RDBMS হলো ঠিক যেমন একটি সরকারি রেজিস্ট্রি অফিস। জমির রেকর্ড, মালিকের তথ্য, দলিলের তথ্য — সব আলাদা রেজিস্টারে থাকে কিন্তু সম্পর্কযুক্ত। "দাগ নম্বর ১২৩ এর মালিক কে এবং তিনি কোথায় থাকেন?" — এক জিজ্ঞাসায় সব তথ্য মেলানো যায়।
Module 1: RDBMS কী? (What is RDBMS?)
📌 সংজ্ঞা
RDBMS (Relational Database Management System) হলো একটি বিশেষ ধরনের DBMS যেখানে ডেটা পরস্পর সম্পর্কযুক্ত টেবিলে সংরক্ষিত থাকে এবং Relational Model এর উপর ভিত্তি করে কাজ করে।
RDBMS এর মূল বৈশিষ্ট্য
| বৈশিষ্ট্য | বিবরণ |
|---|---|
| Table-based | সব ডেটা টেবিলে সংরক্ষিত |
| Relationship | টেবিলগুলো FK দিয়ে সংযুক্ত |
| SQL | Structured Query Language ব্যবহার |
| ACID | Atomicity, Consistency, Isolation, Durability |
| Normalization | ডেটা পুনরাবৃত্তি কমানো |
Module 2: Relational Model (রিলেশনাল মডেল)
Relational Model এর মূল ধারণা:
Table = Relation (সম্পর্ক)
Row = Tuple (রেকর্ড)
Column= Attribute (বৈশিষ্ট্য)
Relation = একটি টেবিল যেখানে:
→ প্রতিটি Row অনন্য
→ প্রতিটি Column এর নাম অনন্য
→ Cell এ Atomic (একক) মান
→ Row ও Column এর ক্রম গুরুত্বপূর্ণ নয়
পরিভাষা:
গণিত/তত্ত্ব ↔ ডেটাবেজ
Relation ↔ Table
Tuple ↔ Row/Record
Attribute ↔ Column/Field
Domain ↔ Data Type
Cardinality ↔ Row সংখ্যা
Degree ↔ Column সংখ্যা
Module 3: Codd এর ১২টি নিয়ম
Dr. Codd ১৯৮৫ সালে RDBMS এর জন্য ১২টি নিয়ম (Rules 0-12) দেন।
HSC এর জন্য গুরুত্বপূর্ণ নিয়মসমূহ:
Rule 1 — Information Rule:
সব ডেটা টেবিলে Value হিসেবে থাকবে।
→ কোনো লুকানো পথে ডেটা নেই।
Rule 2 — Guaranteed Access Rule:
প্রতিটি ডেটা Table Name, Primary Key ও Column Name
দিয়ে Access করা যাবে।
Rule 3 — Systematic Treatment of NULL:
NULL মান সব Data Type এ সমানভাবে প্রযোজ্য।
Rule 4 — Active Online Catalog:
Database এর Schema নিজেই Database এ থাকবে।
Rule 6 — View Updating Rule:
View Update করলে Base Table Update হবে।
Rule 7 — High-Level Insert, Update, Delete:
একটি Query তে অনেক Record পরিবর্তন করা যাবে।
Module 4: ACID Properties
ACID = RDBMS এর গুণমান নিশ্চয়তা
A = Atomicity (অবিভাজ্যতা):
একটি Transaction এর সব কাজ হবে অথবা কিছুই হবে না।
উদাহরণ: bKash লেনদেন
→ রাহেলার ব্যালেন্স কমানো + করিমের বাড়ানো
→ দুটোই হবে অথবা কোনোটাই না
C = Consistency (সামঞ্জস্য):
Transaction এর আগে ও পরে Database Valid অবস্থায় থাকবে।
I = Isolation (বিচ্ছিন্নতা):
একযোগে চলা Transaction একে অপরকে প্রভাবিত করবে না।
D = Durability (স্থায়িত্ব):
Commit হওয়া Transaction সর্বদা স্থায়ী থাকবে।
এমনকি System crash এর পরেও।
Module 5: DBMS বনাম RDBMS
| বৈশিষ্ট্য | DBMS | RDBMS |
|---|---|---|
| ডেটা সংরক্ষণ | ফাইল বা টেবিলে | শুধু টেবিলে |
| সম্পর্ক | নেই | FK দিয়ে সম্পর্ক |
| SQL | নাও থাকতে পারে | সর্বদা SQL |
| ACID | আংশিক | সম্পূর্ণ |
| Normalization | নেই | আছে |
| উদাহরণ | MS Access (কিছুটা) | MySQL, Oracle |
| ব্যবহার | ছোট সিস্টেম | বড় সিস্টেম |
Module 6: Normalization (নরমালাইজেশন)
Normalization = ডেটার পুনরাবৃত্তি কমানো
সমস্যা — Unnormalized Table:
┌──────┬──────────┬──────────┬──────────┬────────┬────────┐
│Roll │ Name │ Dept │ Teacher │ Subj │ Marks │
├──────┼──────────┼──────────┼──────────┼────────┼────────┤
│ 101 │ রাহেলা │ বিজ্ঞান │ মিসেস A │ গণিত │ 90 │
│ 101 │ রাহেলা │ বিজ্ঞান │ মিসেস A │ পদার্থ│ 85 │ ← পুনরাবৃত্তি!
│ 102 │ করিম │ ব্যবসা │ জনাব B │ হিসাব │ 88 │
└──────┴──────────┴──────────┴──────────┴────────┴────────┘
সমাধান — Normalized Tables:
Students: (Roll, Name, DeptID)
Dept: (DeptID, DeptName, Teacher)
Results: (Roll, SubjectID, Marks)
Subjects: (SubjectID, SubjectName)
→ প্রতিটি তথ্য একবারই আছে
→ পরিবর্তন করতে একটি জায়গাই যথেষ্ট
🧠 মূল শিক্ষা
মনে রাখো: RDBMS = DBMS + Relational Model। ডেটা টেবিলে থাকে, টেবিলগুলো FK দিয়ে সংযুক্ত, SQL দিয়ে জিজ্ঞাসা করা হয়। ACID নিশ্চিত করে ডেটা সবসময় সঠিক থাকে। MySQL, Oracle, PostgreSQL — সবই RDBMS।
🔁 নিজে পরীক্ষা করো
❓ প্রশ্ন ১: RDBMS ও DBMS এর মধ্যে প্রধান পার্থক্য কী? ✅ উত্তর: DBMS সাধারণ ডেটাবেজ সফটওয়্যার, RDBMS এ ডেটা টেবিলে থাকে এবং টেবিলগুলো পরস্পর সম্পর্কযুক্ত। RDBMS Relational Model মেনে চলে ও SQL ব্যবহার করে।
❓ প্রশ্ন ২: ACID মানে কী? ✅ উত্তর: Atomicity (সম্পূর্ণ অথবা কিছু না), Consistency (সামঞ্জস্য বজায়), Isolation (একযোগে Transaction আলাদা), Durability (Commit স্থায়ী)।
❓ প্রশ্ন ৩: Normalization কেন দরকার? ✅ উত্তর: Normalization ডেটার পুনরাবৃত্তি কমায়, অসামঞ্জস্য দূর করে এবং একটি জায়গায় পরিবর্তন করলে সব জায়গায় প্রতিফলিত হয়।
❓ প্রশ্ন ৪: Dr. Codd কে ছিলেন? ✅ উত্তর: Dr. Edgar F. Codd ১৯৭০ সালে Relational Database Model আবিষ্কার করেন এবং ১২টি নিয়ম দেন যা RDBMS এর ভিত্তি। ১৯৮১ সালে Turing Award পান।
📝 HSC পরীক্ষার প্রস্তুতি
পরীক্ষায় যা আসতে পারে
🎯 RDBMS এর সংজ্ঞা ও বৈশিষ্ট্য (৩-৪ নম্বর) 🎯 DBMS ও RDBMS এর পার্থক্য তুলনামূলক ছক (৪ নম্বর) 🎯 ACID Properties ব্যাখ্যা করো (৪ নম্বর) 🎯 Relational Model পরিভাষা — Relation, Tuple, Attribute (৩ নম্বর)
সাধারণ ভুলসমূহ
⚠️ সব DBMS কে RDBMS মনে করা — RDBMS একটি বিশেষ ধরনের DBMS ⚠️ ACID এর পূর্ণরূপ ভুলে যাওয়া ⚠️ Tuple ও Attribute এর সংজ্ঞা গুলিয়ে ফেলা
মনে রাখার কৌশল
💡 RDBMS = DBMS + Relations (সম্পর্কযুক্ত টেবিল) 💡 ACID মনে রাখার উপায়: "আমার ছোট ইচ্ছা ধরা" → Atomicity, Consistency, Isolation, Durability
✅ সারাংশ
- RDBMS: Relational Model ভিত্তিক DBMS — টেবিলে সম্পর্কযুক্ত ডেটা
- Relational Model: Table=Relation, Row=Tuple, Column=Attribute
- Codd: RDBMS এর জনক — ১৯৭০ সালে Relational Model প্রকাশ
- ACID: Transaction এর ৪ গুণ নিশ্চিত করে
- Normalization: ডেটার পুনরাবৃত্তি কমানো
- উদাহরণ: MySQL, Oracle, MS SQL Server, PostgreSQL
DBMS বনাম RDBMS — তুলনা সারণি
| বিষয় | DBMS | RDBMS |
|---|---|---|
| ডেটা মডেল | যেকোনো | Relational |
| টেবিল সম্পর্ক | নেই | FK দিয়ে |
| Query Language | বিভিন্ন | SQL |
| ACID | আংশিক | সম্পূর্ণ |
| জনক | — | Dr. Codd |
| উদাহরণ | নেটওয়ার্ক DB | MySQL, Oracle |
🎯 অনুশীলন প্রশ্ন
১. DBMS ও RDBMS এর মধ্যে ৪টি পার্থক্য লেখো।
২. ACID Properties কী? প্রতিটির উদাহরণ দাও।
৩. Relational Model এ Relation, Tuple ও Attribute বলতে কী বোঝায়?
৪. Dr. Edgar Codd এর অবদান ব্যাখ্যা করো।
৫. MCQ: RDBMS এ ডেটা সংরক্ষণ করা হয়: (ক) ফাইলে (খ) টেবিলে (গ) গাছে (ঘ) লিস্টে উত্তর: (খ) টেবিলে