এইচএসসি আইসিটি: ৬ষ্ঠ অধ্যায় (সম্পূর্ণ নোট ও প্রশ্নব্যাংক)
ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) | HSC ICT Chapter 6 Lecture Notes & Question Bank
১. ডেটাবেজ ও আরডিবিএমএস (DBMS & RDBMS) ধারণা
ডেটা ও তথ্য: ডেটা (Data) হলো তথ্যের ক্ষুদ্রতম উপাদান বা কাঁচামাল। আর ডেটা প্রসেসিং করার পর যে অর্থপূর্ণ ফলাফল পাওয়া যায় তাকে তথ্য (Information) বলে।
DBMS (Database Management System): ডেটাবেজ তৈরি, সংশোধন, সংরক্ষণ, অনুসন্ধান ও পরিচালনার জন্য ব্যবহৃত সফটওয়্যার সিস্টেম। (যেমন: MS Access, MySQL, Oracle)।
RDBMS (Relational Database Management System): একাধিক টেবিলের মধ্যে সাধারণ ফিল্ডের (Primary Key) মাধ্যমে সম্পর্ক (Relation) তৈরি করে পরিচালিত ডেটাবেজ ব্যবস্থাপনা।
- Primary Key: যে ফিল্ডের মান প্রতিটি রেকর্ডের জন্য অনন্য (Unique) এবং কখনো ফাঁকা (Null) হতে পারে না (যেমন: Roll, Student_ID)।
- Foreign Key: এক টেবিলের Primary Key যখন অন্য টেবিলে সম্পর্কের জন্য ব্যবহৃত হয়।
- Composite Primary Key: একাধিক ফিল্ডের সমন্বয়ে গঠিত প্রাইমারি কি।
২. ডেটাবেজের ডেটা টাইপসমূহ
| ডেটা টাইপ | ব্যবহার / বর্ণনা | উদাহরণ |
|---|---|---|
| Text / Short Text | অক্ষর, সংখ্যা বা চিহ্নের সমন্বয় (সর্বোচ্চ ২৫৫ বর্ণ) | Name, Address |
| Number | গাণিতিক হিসাবের জন্য ব্যবহৃত সংখ্যা | Marks, Age |
| Date/Time | তারিখ ও সময় সংরক্ষণে | DOB, Joining_Date |
| Currency | মুদ্রা বা টাকার হিসাব সংক্রান্ত মান | Fee, Salary |
| AutoNumber | স্বয়ংক্রিয়ভাবে ১ করে বৃদ্ধি পাওয়া অনন্য সংখ্যা | Serial_No, ID |
| OLE Object | ছবি, অডিও, ভিডিও বা ডকুমেন্ট লিংকের জন্য | Photo, Signature |
৩. ডেটাবেজ রিলেশনশিপ ও সর্টিং-ইন্ডেক্সিং
ডেটাবেজ রিলেশনশিপের প্রকারভেদ:
- 1-to-1 (One-to-One): প্রথম টেবিলের একটি রেকর্ড দ্বিতীয় টেবিলের একটি মাত্র রেকর্ডের সাথে যুক্ত থাকে।
- 1-to-Many (One-to-Many): প্রথম টেবিলের একটি রেকর্ড দ্বিতীয় টেবিলের একাধিক রেকর্ডের সাথে যুক্ত থাকে। (সর্বাধিক ব্যবহৃত)
- Many-to-1 (Many-to-One): প্রথম টেবিলের একাধিক রেকর্ড দ্বিতীয় টেবিলের একটি রেকর্ডের সাথে যুক্ত থাকে।
- Many-to-Many: উভয় টেবিলের একাধিক রেকর্ড পরস্পরের একাধিক রেকর্ডের সাথে যুক্ত থাকে (Junction Table প্রয়োজন হয়)।
- সর্টিং: ডেটাকে নির্দিষ্ট ক্রমানুসারে (উর্ধ্বে বা নিম্নে) স্থায়ীভাবে সাজানো। এতে মূল ফাইল পরিবর্তন হয় এবং সময় বেশি লাগে।
- ইন্ডেক্সিং: মূল ফাইলের রেকর্ড না বদলে দ্রুত তথ্য খোঁজার জন্য আলাদা একটি সূচিপত্র তৈরি করা। এতে অনুসন্ধান অত্যন্ত দ্রুত হয়।
৪. মৌলিক এসকিউএল (SQL) নির্দেশাবলী
Structured Query Language (SQL) দিয়ে ডেটাবেজে কাজ করার মূল কমান্ডসমূহ:
SELECT: ডেটাবেজ থেকে তথ্য খুঁজে বের করতে।
উদাহরণ:SELECT Name, Roll FROM Student WHERE GPA = 5.00;INSERT INTO: টেবিলে নতুন ডেটা যোগ করতে।UPDATE: বিদ্যমান ডেটা পরিবর্তন বা আপডেট করতে।DELETE: রেকর্ড মুছে ফেলতে।ORDER BY: ফলাফলকে ছোট থেকে বড় (ASC) বা বড় থেকে ছোট (DESC) সাজাতে।
৫. গুরুত্বপূর্ণ বহুনির্বাচনী প্রশ্নপত্র (MCQ)
ব্যাখ্যা: তথ্যের মৌলিক বা ক্ষুদ্রতম একক হলো ডেটা বা উপাত্ত।
ব্যাখ্যা: Primary Key-এর মান অনন্য হয় এবং তা দ্বারা কোনো নির্দিষ্ট রেকর্ডকে নিশ্চিতভাবে চেনা যায়।
ব্যাখ্যা: ছবি, অডিও বা গ্রাফিক্স জাতীয় ফাইল স্টোর করতে OLE Object বা Attachment ব্যবহার করা হয়।
ব্যাখ্যা: ইন্ডেক্সিং করলে ফাইল সাজানোর প্রয়োজন হয় না, অ্যালফাবেটিক বা নিউমেরিক সূচির সাহায্যে দ্রুত ফাইল খোঁজা যায়।
ব্যাখ্যা: একজন শিক্ষক অনেক শিক্ষার্থীকে পড়ান এবং একজন শিক্ষার্থী একাধিক শিক্ষকের কাছে পড়ে।
ব্যাখ্যা: নির্দিষ্ট কোনো শর্তের ভিত্তিতে রেকর্ড প্রদর্শন করতে WHERE ক্লজ ব্যবহৃত হয়।
ব্যাখ্যা: AutoNumber ডেটা টাইপে মান সয়ংক্রিয়ভাবে ১, ২, ৩... এভাবে ক্রম অনুযায়ী যুক্ত হয়।
ব্যাখ্যা: MS Word একটি ওয়ার্ড প্রসেসিং সফটওয়্যার, ডেটাবেজ সফটওয়্যার নয়।
ব্যাখ্যা: দুটি টেবিলের মধ্যে সম্পর্ক স্থাপনে দ্বিতীয় টেবিলের প্রাইমারি কি অংশটি Foreign Key হিসেবে গণ্য হয়।
ব্যাখ্যা: ডাটা Ascending বা Descending অর্ডারে সাজানোর জন্য ORDER BY ক্লজ ব্যবহার করা হয়।
৬. নমুনা সৃজনশীল প্রশ্নপত্র (CQ) ও সমাধান
একটি কলেজের 'Student' টেবিল ও 'Result' টেবিলের ফিল্ডসমূহ নিচে দেওয়া হলো:
Table 1 (Student): Student_ID, Name, Class, Phone_No
Table 2 (Result): Student_ID, GPA, Grade
কলেজ কর্তৃপক্ষ Student_ID ফিল্ডের মাধ্যমে উভয় টেবিলের মধ্যে সম্পর্ক তৈরি করে দ্রুত তথ্য অনুসন্ধানের ব্যবস্থা করলেন।
(ক) প্রাইমারি কি (Primary Key) কী? মান: ১
(খ) ইন্ডেক্সিং করলে কেন অনুসন্ধানের গতি বৃদ্ধি পায়? মান: ২
(গ) উদ্দীপকের টেবিল দুটির মধ্যে কোন ধরনের রিলেশনশিপ গঠন সম্ভব? ব্যাখ্যা করো। মান: ৩
(ঘ) GPA 5.00 পাওয়া শিক্ষার্থীদের নাম ও ফোন নম্বর বের করার SQL কমান্ড লিখে বিশ্লেষণ করো। মান: ৪
ব্যাখ্যা: 'Student' টেবিলের মূল চাবিকাঠি বা প্রাইমারি কি হলো
Student_ID। একজন শিক্ষার্থীর একটাই আইডি থাকে। আবার 'Result' টেবিলেও একজন শিক্ষার্থীর একটি আইডির বিপরীদে একটিমাত্র জিপিএ মান থাকবে। অর্থাৎ ১ম টেবিলের ১টি রেকর্ড ২য় টেবিলের কেবল ১টি রেকর্ডের সাথে সম্পর্কিত। তাই এটি ১-টু-১ রিলেশনশিপ।
SELECT Student.Name, Student.Phone_No FROM Student, Result WHERE Student.Student_ID = Result.Student_ID AND Result.GPA = 5.00;বিশ্লেষণ:
SELECTঅংশটি কাঙ্ক্ষিত ফিল্ড (Name, Phone_No) দেখানোর নির্দেশ দেয়।FROMঅংশটিতে প্রয়োজনীয় দুটি টেবিল যুক্ত করা হয়েছে।WHEREঅংশে দুটি শর্ত দেওয়া হয়েছে: প্রথমত উভয় টেবিলের সংযোগ বজায় রাখার জন্যStudent_IDমেলানো, এবং দ্বিতীয়তGPA = 5.00শর্ত পূরণ করা।
করিম সাহেব তাঁর প্রতিষ্ঠানে ১০,০০০ কর্মচারীর ডেটাবেজ নিয়ে কাজ করছেন। তিনি দেখলেন নির্দিষ্ট কর্মচারীর তথ্য বের করতে প্রচুর সময় লাগছে। পরে তিনি ডেটাবেজে বিশেষ একটি ফিচার যুক্ত করলেন যাতে ফাইল পুনর্বিন্যাস না করেই মুহূর্তেই তথ্য পাওয়া যায়।
(ক) DBMS এর পূর্ণরূপ কী? মান: ১
(খ) Foreign Key বলতে কী বোঝায়? মান: ২
(গ) করিম সাহেবের প্রাথমিক সমস্যায় সময় বেশি লাগার কারণ (সর্টিং সমস্যা) আলোচনা করো। মান: ৩
(ঘ) করিম সাহেবের গৃহীত সমাধানটি (ইন্ডেক্সিং) কীভাবে কাজের গতি বৃদ্ধি করল—বিশ্লেষণ করো। মান: ৪
গতি বৃদ্ধির কারণ বিশ্লেষণ:
- ইন্ডেক্সিং পয়েন্টার (Pointer) ব্যবহারের মাধ্যমে মূল ডেটা স্পর্শ না করেই নির্দিষ্ট তথ্যের অবস্থান চিহ্নিত করে।
- বইয়ের শুরুর সূচিপত্রের মতো কাজ করায় পুরো ১০,০০০ ফাইল প্রসেস করতে হয় না।
- ডেটাবেজে নতুন তথ্য যোগ বা বাদ দিলেও ইন্ডেক্স ফাইল স্বয়ংক্রিয়ভাবে দ্রুত আপডেট হয়ে যায়।
