অধ্যায় - ৬: ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS)

এইচএসসি আইসিটি: ৬ষ্ঠ অধ্যায় (সম্পূর্ণ নোট ও প্রশ্নব্যাংক)

ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (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) তৈরি করে পরিচালিত ডেটাবেজ ব্যবস্থাপনা।

মূল কি (Key) সমূহের সংজ্ঞা:
  • 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 প্রয়োজন হয়)।
সর্টিং বনাম ইন্ডেক্সিং (Sorting vs Indexing):
  • সর্টিং: ডেটাকে নির্দিষ্ট ক্রমানুসারে (উর্ধ্বে বা নিম্নে) স্থায়ীভাবে সাজানো। এতে মূল ফাইল পরিবর্তন হয় এবং সময় বেশি লাগে।
  • ইন্ডেক্সিং: মূল ফাইলের রেকর্ড না বদলে দ্রুত তথ্য খোঁজার জন্য আলাদা একটি সূচিপত্র তৈরি করা। এতে অনুসন্ধান অত্যন্ত দ্রুত হয়।

৪. মৌলিক এসকিউএল (SQL) নির্দেশাবলী

Structured Query Language (SQL) দিয়ে ডেটাবেজে কাজ করার মূল কমান্ডসমূহ:

  • SELECT: ডেটাবেজ থেকে তথ্য খুঁজে বের করতে।
    উদাহরণ: SELECT Name, Roll FROM Student WHERE GPA = 5.00;
  • INSERT INTO: টেবিলে নতুন ডেটা যোগ করতে।
  • UPDATE: বিদ্যমান ডেটা পরিবর্তন বা আপডেট করতে।
  • DELETE: রেকর্ড মুছে ফেলতে।
  • ORDER BY: ফলাফলকে ছোট থেকে বড় (ASC) বা বড় থেকে ছোট (DESC) সাজাতে।

৫. গুরুত্বপূর্ণ বহুনির্বাচনী প্রশ্নপত্র (MCQ)

১. ডেটাবেজের ক্ষুদ্রতম উপাদান কোনটি?
(ক) ফিল্ড (Field)
(খ) রেকর্ড (Record)
(গ) ডেটা (Data)
(ঘ) ফাইল (File)
সঠিক উত্তর: (গ) ডেটা (Data)
ব্যাখ্যা: তথ্যের মৌলিক বা ক্ষুদ্রতম একক হলো ডেটা বা উপাত্ত।
২. অদ্বিতীয়ভাবে রেকর্ড শনাক্ত করার জন্য কোনটি ব্যবহৃত হয়?
(ক) Foreign Key
(খ) Primary Key
(গ) Composite Key
(ঘ) Secondary Key
সঠিক উত্তর: (খ) Primary Key
ব্যাখ্যা: Primary Key-এর মান অনন্য হয় এবং তা দ্বারা কোনো নির্দিষ্ট রেকর্ডকে নিশ্চিতভাবে চেনা যায়।
৩. শিক্ষার্থীর ছবি সংরক্ষণের জন্য কোন ডেটা টাইপটি সবচেয়ে উপযুক্ত?
(ক) Text
(খ) Memo
(গ) OLE Object
(ঘ) Attachment
সঠিক উত্তর: (গ) OLE Object
ব্যাখ্যা: ছবি, অডিও বা গ্রাফিক্স জাতীয় ফাইল স্টোর করতে OLE Object বা Attachment ব্যবহার করা হয়।
৪. দ্রুত ডেটা অনুসন্ধানের জন্য কোনটি বেশি কার্যকর?
(ক) Sorting
(খ) Indexing
(গ) Filtering
(ঘ) Grouping
সঠিক উত্তর: (খ) Indexing
ব্যাখ্যা: ইন্ডেক্সিং করলে ফাইল সাজানোর প্রয়োজন হয় না, অ্যালফাবেটিক বা নিউমেরিক সূচির সাহায্যে দ্রুত ফাইল খোঁজা যায়।
৫. শিক্ষক ও শিক্ষার্থীর মধ্যকার সম্পর্ক সাধারণত কোন ধরনের?
(ক) 1-to-1
(খ) 1-to-Many
(গ) Many-to-1
(ঘ) Many-to-Many
সঠিক উত্তর: (ঘ) Many-to-Many
ব্যাখ্যা: একজন শিক্ষক অনেক শিক্ষার্থীকে পড়ান এবং একজন শিক্ষার্থী একাধিক শিক্ষকের কাছে পড়ে।
৬. SQL-এ শর্ত যুক্ত করার জন্য কোন ক্লজটি ব্যবহৃত হয়?
(ক) SELECT
(খ) FROM
(গ) WHERE
(ঘ) ORDER BY
সঠিক উত্তর: (গ) WHERE
ব্যাখ্যা: নির্দিষ্ট কোনো শর্তের ভিত্তিতে রেকর্ড প্রদর্শন করতে WHERE ক্লজ ব্যবহৃত হয়।
৭. অটোমেটিক ১ করে রোল নম্বর বাড়াতে কোন ডেটা টাইপটি ভালো?
(ক) Number
(খ) AutoNumber
(গ) Short Text
(ঘ) Currency
সঠিক উত্তর: (খ) AutoNumber
ব্যাখ্যা: AutoNumber ডেটা টাইপে মান সয়ংক্রিয়ভাবে ১, ২, ৩... এভাবে ক্রম অনুযায়ী যুক্ত হয়।
৮. কোনটি RDBMS সফটওয়্যার নয়?
(ক) Oracle
(খ) MySQL
(গ) MS Access
(ঘ) MS Word
সঠিক উত্তর: (ঘ) MS Word
ব্যাখ্যা: MS Word একটি ওয়ার্ড প্রসেসিং সফটওয়্যার, ডেটাবেজ সফটওয়্যার নয়।
৯. এক টেবিলের প্রাইমারি কি অন্য টেবিলে ব্যবহৃত হলে তাকে কী বলে?
(ক) Primary Key
(খ) Foreign Key
(গ) Composite Key
(ঘ) Candidate Key
সঠিক উত্তর: (খ) Foreign Key
ব্যাখ্যা: দুটি টেবিলের মধ্যে সম্পর্ক স্থাপনে দ্বিতীয় টেবিলের প্রাইমারি কি অংশটি Foreign Key হিসেবে গণ্য হয়।
১০. SQL-এ ফলাফল সাজানোর জন্য ব্যবহৃত কমান্ড কোনটি?
(ক) GROUP BY
(খ) SORT BY
(গ) ORDER BY
(ঘ) ALIGN BY
সঠিক উত্তর: (গ) ORDER BY
ব্যাখ্যা: ডাটা 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 কমান্ড লিখে বিশ্লেষণ করো। মান: ৪

(ক) উত্তর: ডেটাবেজ টেবিলের যে ফিল্ডের মান প্রতিটি রেকর্ডের জন্য অনন্য (Unique) এবং যাকে দিয়ে রেকর্ড অদ্বিতীয়ভাবে চেনা যায়, তাকে প্রাইমারি কি বলে।
(খ) উত্তর: ইন্ডেক্সিং করলে ডেটাবেজ মূল ফাইলের ডেটা না বদলে একটি আলাদা ইনডেক্স ফাইল বা সূচিপত্র তৈরি করে। ডেটা খোঁজার সময় পুরো ফাইল স্ক্যান না করে সরাসরি ইনডেক্স ধরে রেকর্ড চিহ্নিত করা যায়, ফলে অনুসন্ধানের গতি অনেক বৃদ্ধি পায়।
(গ) উত্তর: উদ্দীপকের টেবিল দুটির মধ্যে 1-to-1 (One-to-One) রিলেশনশিপ গড়ে উঠবে।
ব্যাখ্যা: 'Student' টেবিলের মূল চাবিকাঠি বা প্রাইমারি কি হলো Student_ID। একজন শিক্ষার্থীর একটাই আইডি থাকে। আবার 'Result' টেবিলেও একজন শিক্ষার্থীর একটি আইডির বিপরীদে একটিমাত্র জিপিএ মান থাকবে। অর্থাৎ ১ম টেবিলের ১টি রেকর্ড ২য় টেবিলের কেবল ১টি রেকর্ডের সাথে সম্পর্কিত। তাই এটি ১-টু-১ রিলেশনশিপ।
(ঘ) উত্তর: GPA 5.00 পাওয়া শিক্ষার্থীদের নাম ও ফোন নম্বর প্রদর্শন করার SQL কমান্ডটি নিচে দেওয়া হলো:

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 বলতে কী বোঝায়? মান: ২

(গ) করিম সাহেবের প্রাথমিক সমস্যায় সময় বেশি লাগার কারণ (সর্টিং সমস্যা) আলোচনা করো। মান: ৩

(ঘ) করিম সাহেবের গৃহীত সমাধানটি (ইন্ডেক্সিং) কীভাবে কাজের গতি বৃদ্ধি করল—বিশ্লেষণ করো। মান: ৪

(ক) উত্তর: Database Management System।
(খ) উত্তর: কোনো একটি টেবিলের প্রাইমারি কি যদি অন্য আরেকটি টেবিলে ব্যবহৃত হয়ে টেবিল দুটির মধ্যে সম্পর্ক গড়ে তোলে, তবে দ্বিতীয় টেবিলে ব্যবহৃত সেই ফিল্ডটিকে ফরেন কি (Foreign Key) বলে।
(গ) উত্তর: করিম সাহেবের প্রাথমিক অবস্থায় সমস্যা হওয়ার কারণ ছিল সাজানোহীন ডেটা বা সাধারণ সর্টিং নির্ভরতা। সাধারণ ডেটাবেজে ইন্ডেক্স ছাড়া রেকর্ড খুঁজতে পুরো ফাইল ওপর থেকে নিচে ক্রমান্বয়ে পরীক্ষা (Sequential Search) করতে হয়। ১০,০০০ এর মতো বড় ডেটাবেজে এভাবে অনুসন্ধান করতে প্রসেসরের ওপর চাপ পড়ে এবং অতিরিক্ত সময় ব্যয় হয়।
(ঘ) উত্তর: করিম সাহেব যে ফিচারটি যুক্ত করেছেন তা হলো ইন্ডেক্সিং (Indexing)
গতি বৃদ্ধির কারণ বিশ্লেষণ:
  • ইন্ডেক্সিং পয়েন্টার (Pointer) ব্যবহারের মাধ্যমে মূল ডেটা স্পর্শ না করেই নির্দিষ্ট তথ্যের অবস্থান চিহ্নিত করে।
  • বইয়ের শুরুর সূচিপত্রের মতো কাজ করায় পুরো ১০,০০০ ফাইল প্রসেস করতে হয় না।
  • ডেটাবেজে নতুন তথ্য যোগ বা বাদ দিলেও ইন্ডেক্স ফাইল স্বয়ংক্রিয়ভাবে দ্রুত আপডেট হয়ে যায়।
অতএব, বিশাল আকারের ডেটাবেজে তথ্য দ্রুত খুঁজে পাওয়ার জন্য ইন্ডেক্সিং প্রয়োগ করা করিম সাহেবের জন্য একটি অত্যন্ত সময়োপযোগী ও কার্যকরী সিদ্ধান্ত ছিল।