৬.১ ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ (Concept and Types of Database Management)

এইচএসসি আইসিটি অধ্যায় ৬ এর প্রথম টপিক: ডেটাবেজ ম্যানেজমেন্টের ধারণা। ডেটা, তথ্য, ফিল্ড, রেকর্ড, এবং বিভিন্ন প্রকার ডেটাবেজ সম্পর্কে বিস্তারিত আলোচনা।

শেখা শুরু করুন

অধ্যায় ৬.১: ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ

  1. অধ্যায় ৬.১: ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ
  2. তথ্য খুঁজে পাওয়ার চ্যালেঞ্জ
  3. ডেটা (Data) ও তথ্য (Information)
  4. ডেটাবেজ (Database) কী?
  5. ডেটা সংগঠন বা ডেটা হাইরার্কি (Data Hierarchy)
  6. ফিল্ড, রেকর্ড ও টেবিল পরিচিতি
  7. ডেটাবেজের প্রকারভেদ
  8. ১. রিলেশনাল ডেটাবেজ (RDBMS)
  9. হায়ারার্কিক্যাল ও নেটওয়ার্ক ডেটাবেজ
  10. সেন্ট্রালাইজড ও ডিস্ট্রিবিউটেড ডেটাবেজ
  11. ক্লাউড ডেটাবেজ (Cloud Database)
  12. ম্যানুয়াল ফাইল সিস্টেম বনাম ডেটাবেজ
  13. সারসংক্ষেপ

অধ্যায় ৬.১: ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ

এই লেকচার শেষে আমরা-

১। ডেটা এবং তথ্যের (Information) সুনির্দিষ্ট পার্থক্য নির্ণয় করতে পারব।
২। ডেটাবেজ ও ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের (DBMS) মৌলিক ধারণা ব্যাখ্যা করতে পারব।
৩। ডেটা সংগঠনের পিরামিড বা ডেটা হাইরার্কি (Data Hierarchy) বর্ণনা করতে পারব।
৪। গঠনের ভিত্তিতে ও ব্যবহারের ভিত্তিতে বিভিন্ন প্রকার ডেটাবেজের তুলনা করতে পারব।

আসসালামু আলাইকুম প্রিয় শিক্ষার্থীরা। কেমন আছো তোমরা সবাই? আশা করি ভালো আছো। আজ আমরা শুরু করতে যাচ্ছি এইচএসসি আইসিটি বইয়ের খুবই গুরুত্বপূর্ণ এবং মজার একটি অধ্যায় - অধ্যায় ৬: ডেটাবেজ ম্যানেজমেন্ট সিস্টেম। আজকের লেকচারে আমরা ডেটাবেজের একদম বেসিক ধারণাগুলো ক্লিয়ার করব। অনেকেই মনে করে ডেটাবেজ খুব কঠিন, কিন্তু বিশ্বাস করো, আজকের পর তোমাদের কাছে এটা পানির মতো সহজ মনে হবে। চলো দেখে নিই আজ আমরা কী কী শিখব। স্লাইডে লক্ষ্য করো। এই লেকচার শেষে আমরা ডেটা এবং তথ্যের পার্থক্য বুঝতে পারব, ডেটাবেজ কী তা জানব, ডেটা হাইরার্কি বা সংগঠনের ধাপগুলো দেখব এবং বিভিন্ন ধরণের ডেটাবেজ সম্পর্কে বিস্তারিত আলোচনা করব। চলো শুরু করা যাক!

তথ্য খুঁজে পাওয়ার চ্যালেঞ্জ

চিন্তা করে দেখো:

  • একটি ঘরে ১ লক্ষ ছাত্রের রেজাল্ট এলোমেলো কাগজে ছড়ানো।
  • তোমাকে বলা হলো, 'ঢাকা'র ছাত্রদের খুঁজে বের করো।
  • কত সময় লাগবে?
  • কিন্তু এক্সেলে বা সফটওয়্যারে এটা করতে কতক্ষণ লাগে?

পার্থক্য:
* ম্যানুয়াল পদ্ধতি সময়সাপেক্ষ ও ক্লান্তিকর।
* কম্পিউটারাইজড পদ্ধতি দ্রুত ও নির্ভুল।

শুরুতেই একটা গল্প বলি। স্লাইডের ছবিটার দিকে তাকাও। বাম পাশের ছবিটা দেখো - মনে করো তোমার কলেজের রেকর্ড রুমে ১ লক্ষ ছাত্রছাত্রীর ফাইল এভাবেই এলোমেলোভাবে ছড়িয়ে ছিটিয়ে আছে। এখন প্রিন্সিপাল স্যার তোমাকে বললেন, 'যাও তো বাবা, ঢাকায় যারা থাকে, তাদের ফাইলগুলো খুঁজে আনো'। তুমি কি পারবে সহজে খুঁজে বের করতে? হয়তো কয়েক দিন লেগে যাবে! আর ভুল হওয়ার সম্ভাবনা তো আছেই। কিন্তু ডান পাশের ছবিটা দেখো। ঠিক এই কাজটাই যখন আমরা কম্পিউটারে করি, বা ফেসবুকে যখন কোটি কোটি মানুষের মধ্য থেকে তোমার বন্ধুর নাম লিখে সার্চ দাও, তখন কতক্ষণ লাগে? এক সেকেন্ডেরও কম সময়! কেন জানো? কারণ কম্পিউটারে তথ্যগুলো সুশৃঙ্খলভাবে সাজানো থাকে। এই যে সুশৃঙ্খল সাজানো ব্যবস্থা, এটাই হলো ডেটাবেজের জাদুকরী শক্তি।

ডেটা (Data) ও তথ্য (Information)

ডেটা (Data):
* ল্যাটিন শব্দ 'Datum' এর বহুবচন।
* অর্থ: তথ্যের কাঁচামাল।
* উদাহরণ: ১০১, করিম, ৩.৫০ (এগুলো আলাদাভাবে অর্থহীন)।

তথ্য (Information):
* প্রক্রিয়াজাত ডেটা যা অর্থপূর্ণ।
* উদাহরণ: রোল ১০১ এর নাম করিম, জিপিএ ৩.৫০।

সূত্র: $Data + Processing = Information$

এখন আসো, আমরা দুটি শব্দের সাথে পরিচিত হই যা প্রায়ই আমাদের গুলিয়ে যায় - ডেটা এবং ইনফরমেশন বা তথ্য। স্ক্রিনে ফ্লোচার্টটা দেখো। বাম পাশে কিছু সংখ্যা আছে - ১০১, ৩.৫০। এগুলোর কি কোনো নির্দিষ্ট অর্থ আছে? এটা রোল নম্বর হতে পারে, টাকার পরিমাণ হতে পারে, আবার জিপিএও হতে পারে। এই অর্থহীন কাঁচামাল হলো ডেটা বা উপাত্ত। ঠিক যেমন ইট, বালু, সিমেন্ট হলো বাড়ির কাঁচামাল। মাঝখানের প্রসেসিং বা প্রক্রিয়াকরণ ধাপ পার হয়ে ডান পাশে দেখো - এখন লেখা আছে 'রোল ১০১ এর জিপিএ ৩.৫০'। এটা একটা পূর্ণাঙ্গ অর্থ প্রকাশ করে। এটাই হলো ইনফরমেশন বা তথ্য। অর্থাৎ, মনে রাখবে - ডেটাকে প্রসেস করলেই আমরা তথ্য পাই।

ডেটাবেজ (Database) কী?

সংজ্ঞা:
ডেটাবেজ হলো পরস্পর সম্পর্কযুক্ত (Inter-related) ডেটার সুসংগঠিত সংগ্রহ। একে বলা যায় তথ্যের ভাণ্ডার।

ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS):
* যে সফটওয়্যার দিয়ে ডেটাবেজ তৈরি, পরিবর্তন, সংরক্ষণ ও নিয়ন্ত্রণ করা হয়।
* এটি ব্যবহারকারী ও ডেটাবেজের মধ্যে সেতুবন্ধন হিসেবে কাজ করে।
* উদাহরণ: MySQL, Oracle, MS Access, SQL Server।

তাহলে ডেটাবেজ জিনিসটা আসলে কী? সহজ কথায়, ডেটাবেজ হলো তথ্যের ভাণ্ডার। কিন্তু যেকোনো ভাণ্ডার না। স্লাইডের ছবিটা দেখো, একটা বড় ড্রামের মতো দেখছো? ওটা হলো ডেটাবেজ, যেখানে সব তথ্য জমা থাকে। তবে শর্ত হলো, তথ্যগুলো হতে হবে পরস্পর সম্পর্কযুক্ত বা Inter-related। মানে, স্টুডেন্ট ডেটাবেজে শুধু স্টুডেন্টদের তথ্যই থাকবে, গরুর হাটের তথ্য না! আর এই বিশাল ভাণ্ডারকে যে ম্যানেজ করে বা পাহারা দেয়, সে হলো DBMS বা ডেটাবেজ ম্যানেজমেন্ট সিস্টেম। যেমন MySQL, Oracle - এগুলো হলো সেই সফটওয়্যার যা দিয়ে আমরা ডেটাবেজ তৈরি করি এবং নিয়ন্ত্রণ করি।

ডেটা সংগঠন বা ডেটা হাইরার্কি (Data Hierarchy)

ডেটাবেজ কীভাবে গঠিত হয়, সেটা বোঝার জন্য এই পিরামিডটা খুব ভালো করে লক্ষ্য করো। এটাকে বলা হয় ডেটা হাইরার্কি। একদম নিচে দেখো - বিট (Bit)। ০ আর ১। কম্পিউটার তো এটাই বোঝে, তাই না? ৮টি বিট মিলে হয় ১টি বাইট বা ক্যারেক্টার, যেমন 'A' বা 'B'। কয়েকটি ক্যারেক্টার মিলে তৈরি হয় একটি ফিল্ড (Field), যেমন কারো নাম। কয়েকটি ফিল্ড মিলে হয় একটি রেকর্ড (Record), মানে একজন মানুষের পুরো তথ্য। অনেকগুলো রেকর্ড মিলে তৈরি হয় একটি ফাইল বা টেবিল। আর সবশেষে, অনেকগুলো টেবিল মিলে তৈরি হয় আমাদের কাঙ্ক্ষিত ডেটাবেজ। ধাপে ধাপে কীভাবে ছোট থেকে বড় হচ্ছে, বিষয়টা কি ধরতে পারছো?

ফিল্ড, রেকর্ড ও টেবিল পরিচিতি

টেবিল: সারি ও কলামের সমষ্টি।

১. ফিল্ড (Field/Column):
* টেবিলের উলম্ব সারি বা কলাম।
* একই জাতীয় ডেটা থাকে (যেমন শুধু নাম)।
* একে 'অ্যাট্রিবিউট' (Attribute) বলা হয়।

২. রেকর্ড (Record/Row):
* টেবিলের অনুভূমিক সারি বা রো।
* একটি এনটিটির বা বস্তুর পূর্ণ তথ্য।
* একে 'টাপল' (Tuple) বলা হয়।

পিছনের স্লাইডে আমরা ফিল্ড আর রেকর্ড শব্দগুলো শুনেছি। চলো, এবার বাস্তবে দেখি এগুলো কী। এই স্লাইডের টেবিলটা দেখো। লম্বা লম্বি যে কলামগুলো দেখছো, যেমন 'Name' বা 'GPA' - এগুলো হলো ফিল্ড। একটা ফিল্ডে সবসময় একই ধরণের ডেটা থাকে। নামের কলামে শুধুই নাম থাকবে, জিপিএ থাকবে না। একে ডেটাবেজের ভাষায় 'অ্যাট্রিবিউট'ও বলা হয়। আর আড়াআড়ি যে লাইন বা রো দেখছো, সেটা হলো রেকর্ড। একটা রেকর্ডে একজন মানুষের সব তথ্য থাকে - তার আইডি, নাম, জিপিএ সব। একে 'টাপল'ও বলা হয়। মনে রাখার একটা টেকনিক বলি? R-এ Row, R-এ Record। সহজ না?

ডেটাবেজের প্রকারভেদ

ডেটাবেজকে প্রধানত দুই ভাবে ভাগ করা যায়:

১। গঠনের ওপর ভিত্তি করে (Structure Based):
* রিলেশনাল (Relational)
* হায়ারার্কিক্যাল (Hierarchical)
* নেটওয়ার্ক (Network)

২। ব্যবহারের ওপর ভিত্তি করে (Usage Based):
* সেন্ট্রালাইজড (Centralized)
* ডিস্ট্রিবিউটেড (Distributed)
* ক্লাউড (Cloud)

আমরা তো জানলাম ডেটাবেজ কী। এখন চলো দেখি ডেটাবেজ কত ধরণের হতে পারে। মূলত দুইভাবে আমরা ভাগ করতে পারি। প্রথমত, এটা দেখতে কেমন বা এর গঠন কেমন - তার ওপর ভিত্তি করে তিন প্রকার: রিলেশনাল, হায়ারার্কিক্যাল এবং নেটওয়ার্ক। আর দ্বিতীয়ত, এটা কোথায় রাখা আছে বা কীভাবে ব্যবহার হচ্ছে - তার ওপর ভিত্তি করে আবার ভাগ করা যায়, যেমন সেন্ট্রালাইজড, ডিস্ট্রিবিউটেড বা হাল আমলের ক্লাউড ডেটাবেজ। এখন আমরা এগুলো এক এক করে বিস্তারিত দেখব।

১. রিলেশনাল ডেটাবেজ (RDBMS)

বৈশিষ্ট্য:
* বর্তমানে সবচেয়ে জনপ্রিয় ও বহুল ব্যবহৃত।
* ডেটাগুলো টেবিল (Table) আকারে থাকে।
* একাধিক টেবিলের মধ্যে কমন ফিল্ডের মাধ্যমে সম্পর্ক (Relation) তৈরি করা যায়।
* উদাহরণ: MySQL, SQL Server, Oracle।

এটি নমনীয় এবং সহজে কুয়েরি (Query) করা যায়।

প্রথমে আসি রিলেশনাল ডেটাবেজে। বর্তমানে এটাই বিশ্বজুড়ে সবচেয়ে বেশি চলে। স্লাইডের ছবিটা দেখো। এখানে দুটি আলাদা টেবিল আছে - একটাতে স্টুডেন্টের নাম, আরেকটাতে তাদের মার্কস। কিন্তু খেয়াল করো, দুটোর মধ্যেই 'ID' নামের একটা কলাম আছে। এই কমন কলামটা দিয়ে আমরা দুই টেবিলের মধ্যে একটা সম্পর্ক বা রিলেশন তৈরি করে ফেলেছি। এটাই হলো রিলেশনাল ডেটাবেজ বা RDBMS এর মূল কথা। আমরা এই কোর্সে মূলত এটাই শিখব। এটা খুব ফ্লেক্সিবল এবং সহজেই তথ্য খুঁজে বের করা যায়।

হায়ারার্কিক্যাল ও নেটওয়ার্ক ডেটাবেজ

হায়ারার্কিক্যাল (Hierarchical):
* ট্রি (Tree) বা গাছের মতো গঠন।
* Parent-Child সম্পর্ক বিদ্যমান।
* একটি প্যারেন্টের একাধিক চাইল্ড থাকতে পারে, কিন্তু চাইল্ডের প্যারেন্ট একটাই।
* উদাহরণ: উইন্ডোজ ফোল্ডার সিস্টেম।

এবার আসি একটু পুরনো দুটি মডেলে। বাম পাশের ছবিটা দেখো - হায়ারার্কিক্যাল মডেল। এটা দেখতে অনেকটা উল্টানো গাছের মতো, তাই না? এখানে একটা প্যারেন্টের অনেকগুলো চাইল্ড থাকতে পারে, ঠিক যেমন তোমার কম্পিউটারের একটা ফোল্ডারের ভেতর অনেকগুলো সাব-ফোল্ডার থাকে। কিন্তু ডান পাশের নেটওয়ার্ক মডেলটা দেখো - এটা মাকড়সার জালের মতো। এখানে একজনের সাথে অন্যজনের এলোমেলো সম্পর্ক থাকতে পারে। একটা চাইল্ডের অনেকগুলো প্যারেন্টও হতে পারে। এগুলো এখন খুব একটা ব্যবহার হয় না, কারণ এগুলো মেইনটেইন করা বেশ জটিল।

সেন্ট্রালাইজড ও ডিস্ট্রিবিউটেড ডেটাবেজ

সেন্ট্রালাইজড (Centralized):
* সব ডেটা একটি কেন্দ্রীয় সার্ভারে সংরক্ষিত থাকে।
* সব ব্যবহারকারী ঐ একটি জায়গা থেকেই ডেটা এক্সেস করে।
* সমস্যা: সার্ভার নষ্ট হলে পুরো সিস্টেম অচল।

ডিস্ট্রিবিউটেড (Distributed):
* ডেটা বিভিন্ন স্থানে বা কম্পিউটারে ভাগ করা থাকে।
* নেটওয়ার্কের মাধ্যমে সব কম্পিউটার যুক্ত থাকে।
* সুবিধা: ডেটা শেয়ারিং সহজ ও দ্রুত, ঝুঁকি কম।

এখন ব্যবহারের ওপর ভিত্তি করে দেখি। স্লাইডের বামে দেখো সেন্ট্রালাইজড ডেটাবেজ। এখানে একটা মেইন বস বা সার্ভার থাকে, আর বাকিরা তার সাথে যুক্ত। সব তথ্য ওই বস-এর কাছে। এর সুবিধা হলো নিরাপত্তা দেওয়া সহজ, কিন্তু সমস্যা হলো বস যদি অসুস্থ হয়ে পড়ে, মানে সার্ভার ডাউন হয়, তবে সবাই অচল! আর ডানে দেখো ডিস্ট্রিবিউটেড সিস্টেম। এখানে তথ্যগুলো বিভিন্ন জায়গায় বা ব্রাঞ্চে ছড়ানো থাকে, কিন্তু সবাই একে অপরের সাথে কানেক্টেড। ব্যাংকের কথা ভাবো - সব ব্রাঞ্চের ডেটা মিলে একটা সিস্টেম। এটা অনেক বেশি নিরাপদ কারণ এক জায়গা নষ্ট হলে অন্য জায়গা দিয়ে কাজ চালানো যায়।

ক্লাউড ডেটাবেজ (Cloud Database)

ধারণা:
* ডেটা নিজস্ব কম্পিউটারে না রেখে ইন্টারনেটে (ভার্চুয়াল সার্ভারে) রাখা হয়।
* ব্যবহারকারী যেকোনো স্থান থেকে ইন্টারনেট ব্যবহার করে এক্সেস করতে পারে।
* সুবিধা: খরচ কম, রক্ষণাবেক্ষণের ঝামেলা নেই, অটোমেটিক ব্যাকআপ।
* উদাহরণ: Amazon RDS, Google Cloud SQL, Microsoft Azure।

NoSQL: বিশাল পরিমাণ আনস্ট্রাকচার্ড ডেটার জন্য ব্যবহৃত হয় (যেমন: MongoDB)।

তোমরা কি কখনো ভেবেছ, তোমার ফোনের ছবিগুলো গুগল ফটোসে বা ইনস্টাগ্রামে রাখলে ফোনের মেমোরি খালি করলেও ছবিগুলো হারিয়ে যায় না কেন? কারণ ওগুলো আছে 'ক্লাউড ডেটাবেজে'। স্লাইডে দেখো, ক্লাউড মানে হলো ইন্টারনেটের বিশাল সার্ভার। এখানে ডেটা রাখলে তুমি পৃথিবীর যেকোনো জায়গা থেকে সেটা এক্সেস করতে পারো। এর জন্য তোমার নিজের বড় কোনো কম্পিউটার কেনার দরকার নেই। অ্যামাজন, গুগল, মাইক্রোসফট - এরা টাকার বিনিময়ে এই ক্লাউড সার্ভিস দেয়। বর্তমানে বড় বড় সব কোম্পানি ক্লাউড ডেটাবেজ ব্যবহার করছে।

ম্যানুয়াল ফাইল সিস্টেম বনাম ডেটাবেজ

ম্যানুয়াল ফাইল সিস্টেমের অসুবিধা:
* ডেটা ডুপ্লিকেশন বা পুনরাবৃত্তি (Redundancy)।
* তথ্যের অসামঞ্জস্যতা (Inconsistency)।
* নিরাপত্তার অভাব ও তথ্য হারানোর ভয়।
* তথ্য খুঁজে পাওয়া সময়সাপেক্ষ।

শেষ করার আগে একটা খুব গুরুত্বপূর্ণ বিষয় আলোচনা করি। আমরা কেন এত কষ্ট করে ডেটাবেজ শিখব? কেন খাতা-কলম বা ম্যানুয়াল ফাইল ব্যবহার করব না? কারণ ম্যানুয়াল ফাইলে একই তথ্য বারবার লিখতে হয়, যাকে বলে 'ডেটা রিডান্ডেন্সি'। আবার এক জায়গায় নাম ঠিক করলে অন্য ফাইলে হয়তো ভুল থেকে যায়, যাকে বলে 'ইনকনসিস্টেন্সি'। কিন্তু ডেটাবেজ এই সমস্যাগুলো সমাধান করে। এটা তথ্যের সঠিকতা বা 'ইন্টিগ্রিটি' বজায় রাখে এবং নিরাপত্তা দেয়। তাই আধুনিক যুগে ডেটাবেজ ছাড়া কোনো বড় প্রতিষ্ঠান চলার কথা চিন্তাও করতে পারে না।

সারসংক্ষেপ

আজ আমরা শিখলাম:

১। ডেটা (কাঁচামাল) ও তথ্যের (অর্থপূর্ণ) পার্থক্য।
২। ডেটা হাইরার্কি: বিট $\rightarrow$ বাইট $\rightarrow$ ফিল্ড $\rightarrow$ রেকর্ড $\rightarrow$ টেবিল $\rightarrow$ ডেটাবেজ।
৩। ফিল্ড (কলাম) ও রেকর্ড (সারি) চেনার উপায়।
৪। রিলেশনাল, হায়ারার্কিক্যাল, নেটওয়ার্ক এবং ক্লাউড ডেটাবেজের ধারণা।

আগামী ক্লাসের বিষয়: ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) এর কাজ ও ব্যবহারিক প্রয়োগ।

আজকের লেকচার আমরা এখানেই শেষ করছি। চলো একটু মনে করি আজ কী শিখলাম। আমরা জেনেছি ডেটা আর তথ্যের পার্থক্য, দেখেছি কীভাবে বিট থেকে ধাপে ধাপে ডেটাবেজ তৈরি হয়। ফিল্ড আর রেকর্ডের পার্থক্যটা কিন্তু খুব ভালো করে মনে রাখবে, কারণ পরের ক্লাসগুলোতে এটা বারবার লাগবে। আর বিভিন্ন ধরণের ডেটাবেজ সম্পর্কেও ধারণা পেলাম। আগামী ক্লাসে আমরা দেখব এই ডেটাবেজ ম্যানেজমেন্ট সিস্টেম বা DBMS আসলে কী কী কাজ করে। সেই পর্যন্ত সবাই ভালো থেকো, সুস্থ থেকো। আল্লাহ হাফেজ।

৬.১ ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ

পড়তে প্রায় 25 মিনিট

কল্পনা করো, তোমার কলেজের অফিসে হাজার হাজার ছাত্রছাত্রীর ভর্তির ফাইল একটি ঘরের মেঝেতে এলোমেলোভাবে ছড়িয়ে ছিটিয়ে আছে। এখন যদি অধ্যক্ষ মহোদয় হঠাৎ কোনো একজন নির্দিষ্ট ছাত্রের তথ্য জানতে চান, তবে সেই স্তূপ থেকে সঠিক ফাইলটি খুঁজে বের করা কতটা কঠিন হবে? এই কাজটি করতে হয়তো কয়েক ঘণ্টা বা কয়েক দিনও লেগে যেতে পারে। কিন্তু যদি এই ফাইলগুলো একটি নির্দিষ্ট নিয়মে আলমারিতে সাজানো থাকত অথবা কম্পিউটারে একটি সফটওয়্যারের মাধ্যমে সংরক্ষিত থাকত, তবে মাত্র কয়েক সেকেন্ডেই তথ্যটি পাওয়া সম্ভব হতো।

বর্তমান যুগ হলো তথ্যের যুগ বা Information Age। এই যুগে তথ্যের সঠিক সংরক্ষণ, ব্যবস্থাপনা এবং দ্রুত খুঁজে পাওয়ার পদ্ধতি জানা অত্যন্ত জরুরি। ম্যানুয়াল বা খাতা-কলমের পদ্ধতির সীমাবদ্ধতা কাটিয়ে ওঠার জন্যই ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) এর উদ্ভব হয়েছে। আজকের এই পাঠে আমরা জানব ডেটাবেজ কী, এটি কীভাবে কাজ করে এবং এর বিভিন্ন প্রকারভেদ সম্পর্কে।

ডেটা ও তথ্য: ধারণা এবং পার্থক্য

অনেকেই ডেটা (Data) এবং তথ্য (Information) শব্দ দুটিকে একই অর্থে ব্যবহার করেন, কিন্তু আইসিটির ভাষায় এদের মধ্যে সূক্ষ্ম অথচ গুরুত্বপূর্ণ পার্থক্য রয়েছে। একটি সহজ উদাহরণ দেওয়া যাক: একটি আসবাবপত্র তৈরির কারখানায় কাঠ, পেরেক, আঠা হলো 'কাঁচামাল'। এই কাঁচামালগুলোকে প্রক্রিয়াজাত করে যখন একটি সুন্দর চেয়ার তৈরি করা হয়, তখন সেটি হলো 'প্রস্তুত পণ্য'। এখানে ডেটা হলো কাঁচামাল এবং তথ্য হলো প্রস্তুত পণ্য।

সংজ্ঞা (Definition):

ডেটা (Data): ল্যাটিন শব্দ 'Datum' এর বহুবচন হলো Data। তথ্যের ক্ষুদ্রতম একক বা কাঁচামাল, যা সুনির্দিষ্ট কোনো অর্থ বহন করে না, তাকে ডেটা বা উপাত্ত বলে। যেমন: ১০১, ৫.০০, করিম।


তথ্য (Information): ডেটাকে প্রক্রিয়াকরণ করে যে অর্থপূর্ণ ফলাফল পাওয়া যায়, যা সিদ্ধান্ত গ্রহণে সহায়তা করে, তাকে তথ্য বা ইনফরমেশন বলে। যেমন: 'রোল ১০১ এর নাম করিম এবং তার জিপিএ ৫.০০'।

ডেটা বা উপাত্ত সরাসরি ব্যবহারযোগ্য নয়, কিন্তু তথ্য সরাসরি ব্যবহার করা যায়। তথ্যের প্রক্রিয়াকরণ চক্রটি নিচের সমীকরণের মাধ্যমে প্রকাশ করা যায়:

$$Data + Processing = Information$$
অর্থাৎ, উপাত্ত + প্রক্রিয়াকরণ = তথ্য

নিচে পরীক্ষার জন্য ডেটা ও তথ্যের একটি তুলনামূলক পার্থক্য দেওয়া হলো:

বিষয় ডেটা (Data) তথ্য (Information)
সংজ্ঞা সুনির্দিষ্ট ফলাফল পাওয়ার জন্য ব্যবহৃত কাঁচামাল। ডেটা প্রক্রিয়াকরণের পর প্রাপ্ত অর্থপূর্ণ ফলাফল।
নির্ভরশীলতা ডেটা তথ্যের ওপর নির্ভরশীল নয়। তথ্য সম্পূর্ণরূপে ডেটার ওপর নির্ভরশীল।
অর্থ এর কোনো সুনির্দিষ্ট অর্থ নাও থাকতে পারে। এটি সবসময় অর্থপূর্ণ হয়।
উদাহরণ ১০১, করিম, ঢাকা। ছাত্রের নাম করিম, রোল ১০১, বাসা ঢাকা।

ডেটাবেজ ও ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS)

ডেটাবেজ এবং ডিবিএমএস (DBMS) দুটি ভিন্ন ধারণা। সহজ কথায়, ডেটাবেজ হলো একটি পাত্র বা লাইব্রেরি যেখানে বই (ডেটা) রাখা হয়, আর ডিবিএমএস হলো সেই লাইব্রেরিয়ান বা সফটওয়্যার যে বইগুলো গুছিয়ে রাখে এবং খুঁজে দেয়।

সংজ্ঞা (Definition):

ডেটাবেজ (Database): ডেটাবেজ হলো কম্পিউটারভিত্তিক পদ্ধতিতে সংরক্ষিত পরস্পর সম্পর্কযুক্ত (Inter-related) ডেটার একটি বিশাল ভাণ্ডার, যেখান থেকে প্রয়োজন অনুযায়ী তথ্য খুব সহজে ও দ্রুত খুঁজে বের করা যায়।


DBMS: যে সফটওয়্যার বা প্রোগ্রামের মাধ্যমে ডেটাবেজ তৈরি, পরিবর্তন, সংরক্ষণ, নিয়ন্ত্রণ এবং পরিচালনা করা হয়, তাকে ডেটাবেজ ম্যানেজমেন্ট সিস্টেম বা DBMS বলে।

ডেটাবেজকে বলা হয় 'তথ্যভাণ্ডার'। একটি ডেটাবেজে এক বা একাধিক টেবিল থাকতে পারে। অন্যদিকে, DBMS হলো সেই সফটওয়্যার যা ব্যবহারকারী এবং ডেটাবেজের মধ্যে সেতুবন্ধন হিসেবে কাজ করে।

উদাহরণ (Example):

জনপ্রিয় কিছু DBMS সফটওয়্যার হলো:

  • MySQL: বর্তমানে সবচেয়ে জনপ্রিয় ওপেন সোর্স ও ফ্রি ডেটাবেজ সফটওয়্যার।
  • Oracle Database: বড় বড় ব্যাংক ও করপোরেট প্রতিষ্ঠানে ব্যবহৃত হয়।
  • Microsoft SQL Server: এন্টারপ্রাইজ লেভেলে বহুল ব্যবহৃত।
  • Microsoft Access: ছোট পরিসরে বা ব্যক্তিগত ব্যবহারের জন্য উপযুক্ত।

ডেটা সংগঠনের ক্রম বা ডেটা হাইরার্কি (Data Hierarchy)

কম্পিউটারে ডেটা সংরক্ষণের জন্য একটি নির্দিষ্ট গঠন বা কাঠামো মেনে চলা হয়। একে ডেটা হাইরার্কি বা ডেটা সংগঠনের পিরামিড বলা হয়। এই কাঠামোর সর্বনিম্ন স্তরে থাকে বিট এবং সর্বোচ্চ স্তরে থাকে ডেটাবেজ।

Data Hierarchy and Table Structure

নিচে নিচ থেকে ওপরের দিকে ক্রমানুসারে প্রতিটি স্তরের বর্ণনা দেওয়া হলো:

  1. বিট (Bit): বাইনারি ডিজিট ০ এবং ১ কে বিট বলে। এটি ডেটার ক্ষুদ্রতম একক।
  2. বাইট (Byte): ৮টি বিট মিলে ১টি বাইট বা ক্যারেক্টার তৈরি হয়। যেমন: 'A' একটি ক্যারেক্টার।
  3. ফিল্ড (Field): কয়েকটি ক্যারেক্টার বা বাইট মিলে একটি ফিল্ড তৈরি হয় যা একটি নির্দিষ্ট আইটেমের অর্থ প্রকাশ করে। যেমন: কোনো ছাত্রের 'নাম' বা 'রোল' হলো একেকটি ফিল্ড।
  4. রেকর্ড (Record): পরস্পর সম্পর্কযুক্ত কয়েকটি ফিল্ড মিলে একটি রেকর্ড গঠিত হয়। যেমন: একজন ছাত্রের নাম, রোল এবং জিপিএ—এই তিনটি ফিল্ড মিলে ওই ছাত্রের একটি পূর্ণাঙ্গ রেকর্ড তৈরি হয়।
  5. ফাইল (File): সমজাতীয় অনেকগুলো রেকর্ডের সমষ্টিকে ফাইল বা টেবিল বলা হয়। যেমন: সকল ছাত্রের রেকর্ড মিলে 'স্টুডেন্ট ফাইল'।
  6. ডেটাবেজ (Database): পরস্পর সম্পর্কযুক্ত এক বা একাধিক ফাইল নিয়ে ডেটাবেজ গঠিত হয়।

গুরুত্বপূর্ণ (Important):

পরীক্ষায় এবং সৃজনশীল প্রশ্নে নিচের প্রতিশব্দগুলো প্রায়ই ব্যবহার করা হয়, তাই এগুলো মনে রাখা জরুরি:

- ফিল্ড (Field) = অ্যাট্রিবিউট (Attribute) বা কলাম (Column)।

- রেকর্ড (Record) = টাপল (Tuple) বা সারি (Row)।

- ফাইল (File) = টেবিল (Table) বা এনটিটি সেট (Entity Set)।

উদাহরণ (Example):

একটি ছাত্রের তথ্য: {রোল: ১০১, নাম: 'করিম', জিপিএ: ৫.০০}

- এখানে 'নাম', 'রোল' বা 'জিপিএ' হলো একেকটি ফিল্ড বা অ্যাট্রিবিউট

- পুরো লাইনটি (১০১, করিম, ৫.০০) মিলে হলো একজন ছাত্রের একটি রেকর্ড বা টাপল

- ক্লাসের সকল ছাত্রের রেকর্ডের সমষ্টি হলো ফাইল বা টেবিল

ডেটাবেজের প্রকারভেদ: গঠন ও ব্যবহারের ভিত্তিতে

ডেটাবেজকে প্রধানত দুই ভাগে ভাগ করে আলোচনা করা হয়: ১. গঠনের ভিত্তিতে এবং ২. ব্যবহারের ভিত্তিতে।

১. গঠনের ভিত্তিতে প্রকারভেদ (Database Models)

ডেটাবেজে ডেটাগুলো কীভাবে একে অপরের সাথে যুক্ত থাকবে, তার ওপর ভিত্তি করে ডেটাবেজ মডেল তৈরি হয়।

Database Models Comparison

  • হায়ারার্কিক্যাল মডেল (Hierarchical Model): এই মডেলে ডেটাগুলো গাছের বা 'Tree' স্ট্রাকচারে সাজানো থাকে। এখানে একটি প্যারেন্ট (Parent) রেকর্ডের অধীনে একাধিক চাইল্ড (Child) রেকর্ড থাকতে পারে, কিন্তু একটি চাইল্ডের কেবল একটিই প্যারেন্ট থাকে। এটি 'One-to-Many' সম্পর্ক সমর্থন করে।
  • নেটওয়ার্ক মডেল (Network Model): এটি হায়ারার্কিক্যাল মডেলের উন্নত রূপ। এখানে একটি চাইল্ড রেকর্ডের একাধিক প্যারেন্ট থাকতে পারে। এটি 'Many-to-Many' সম্পর্ক সমর্থন করে এবং গ্রাফের মতো কাজ করে।
  • রিলেশনাল মডেল (Relational Model): বর্তমানে সবচেয়ে জনপ্রিয় মডেল। এখানে ডেটাগুলো দ্বিমাত্রিক টেবিল (Rows and Columns) আকারে থাকে। বিভিন্ন টেবিলের মধ্যে সাধারণ ফিল্ড বা 'Key Field' এর মাধ্যমে সম্পর্ক তৈরি করা হয়। একে RDBMS (Relational Database Management System) বলা হয়।

পরীক্ষার টিপস (Exam Tip):

যদি প্রশ্ন আসে "সবচেয়ে নমনীয় বা জনপ্রিয় ডেটাবেজ মডেল কোনটি?", উত্তর হবে রিলেশনাল মডেল। কারণ এখানে খুব সহজে নতুন টেবিল যোগ করা যায় এবং তথ্যের মধ্যে জটিল সম্পর্ক তৈরি করা যায়।

২. ব্যবহারের ভিত্তিতে প্রকারভেদ
  • সেন্ট্রালাইজড ডেটাবেজ (Centralized Database): সমস্ত ডেটা একটি কেন্দ্রীয় কম্পিউটারে বা মেইনফ্রেমে সংরক্ষিত থাকে। ব্যবহারকারীরা দূরবর্তী টার্মিনাল থেকে সেই কেন্দ্রীয় কম্পিউটারে যুক্ত হয়ে ডেটা ব্যবহার করে। এর রক্ষণাবেক্ষণ সহজ, কিন্তু কেন্দ্রীয় কম্পিউটার নষ্ট হলে পুরো সিস্টেম অচল হয়ে যায়।
  • ডিস্ট্রিবিউটেড ডেটাবেজ (Distributed Database): ডেটাগুলো একটি জায়গায় না রেখে নেটওয়ার্কের মাধ্যমে বিভিন্ন কম্পিউটারে ছড়িয়ে রাখা হয়। কোনো একটি কম্পিউটার নষ্ট হলেও পুরো সিস্টেম বন্ধ হয় না। ব্যাংকিং সিস্টেমে এটি বেশি ব্যবহৃত হয়।
  • ক্লাউড ডেটাবেজ (Cloud Database): এটি বর্তমান যুগের প্রযুক্তি। ডেটা নিজস্ব হার্ডওয়্যারে না রেখে ক্লাউড সার্ভিস প্রোভাইডারদের (যেমন: Amazon AWS, Google Cloud) ভার্চুয়াল সার্ভারে রাখা হয়। এর ফলে যেকোনো স্থান থেকে ইন্টারনেটের মাধ্যমে ডেটা এক্সেস করা যায় এবং হার্ডওয়্যার রক্ষণাবেক্ষণের খরচ কমে।
সেন্ট্রালাইজড vs ডিস্ট্রিবিউটেড ডেটাবেজ:
| বৈশিষ্ট্য | সেন্ট্রালাইজড | ডিস্ট্রিবিউটেড | | :--- | :--- | :--- | | অবস্থান | একটি কেন্দ্রীয় সার্ভারে থাকে। | বিভিন্ন লোকেশনে বা নোডে ছড়িয়ে থাকে। | | নিরাপত্তা | নিরাপত্তা নিয়ন্ত্রণ সহজ। | নিরাপত্তা নিশ্চিত করা জটিল। | | নির্ভরযোগ্যতা | সার্ভার ফেইল করলে সব বন্ধ। | এক জায়গায় সমস্যা হলে অন্য জায়গা থেকে কাজ চলে। |

ম্যানুয়াল ফাইল সিস্টেম বনাম ডেটাবেজ সিস্টেম

কেন আমরা পুরোনো দিনের ম্যানুয়াল ফাইল বা খাতা-কলমের হিসাব বাদ দিয়ে কম্পিউটারাইজড ডেটাবেজ ব্যবহার করছি? এর প্রধান কারণ হলো ম্যানুয়াল সিস্টেমে ডেটার পুনরাবৃত্তি এবং অসামঞ্জস্যতা দূর করা সম্ভব ছিল না।

ডেটা রিডান্ডেন্সি (Data Redundancy):

একই ডেটার বারবার পুনরাবৃত্তি হওয়াকে ডেটা রিডান্ডেন্সি বলে। ম্যানুয়াল সিস্টেমে একই ছাত্রের নাম ও ঠিকানা লাইব্রেরি কার্ডে, ভর্তির ফাইলে এবং রেজাল্ট শিটে আলাদাভাবে লিখতে হতো। এতে জায়গার অপচয় হতো। ডেটাবেজ সিস্টেমে তথ্য একবারই সংরক্ষণ করা হয়, ফলে রিডান্ডেন্সি কমে।

ডেটা ইনকনসিস্টেন্সি (Data Inconsistency):

একই তথ্যের একাধিক কপিতে ভিন্নতা বা অসামঞ্জস্য থাকাকে ইনকনসিস্টেন্সি বলে। ধরো, একজন ছাত্র বাসা পরিবর্তন করেছে। ম্যানুয়াল সিস্টেমে হয়তো ভর্তির ফাইলে ঠিকানা ঠিক করা হলো, কিন্তু লাইব্রেরি কার্ডে পুরোনো ঠিকানাই রয়ে গেল। একে বলা হয় ডেটা ইনকনসিস্টেন্সি। ডেটাবেজে এক জায়গায় পরিবর্তন করলেই সব জায়গায় আপডেট হয়ে যায়।

সংক্ষিপ্ত সারাংশ (Quick Revision)

রিভিশন চেকলিস্ট:

  • ডেটা vs তথ্য: ডেটা হলো কাঁচামাল (১০১), তথ্য হলো অর্থপূর্ণ রূপ (রোল: ১০১)।
  • DBMS: সফটওয়্যার যা ডেটাবেজ নিয়ন্ত্রণ করে (যেমন: MySQL)।
  • হায়ারার্কি: বিট → বাইট → ফিল্ড → রেকর্ড → ফাইল → ডেটাবেজ।
  • RDBMS: রিলেশনাল ডেটাবেজ যেখানে টেবিল আকারে ডেটা থাকে।
  • সুবিধা: ডেটা রিডান্ডেন্সি (পুনরাবৃত্তি) কমানো এবং ইনকনসিস্টেন্সি (অসামঞ্জস্যতা) দূর করা।

পরিভাষা (Glossary)

পরিভাষা (Term) সংজ্ঞা (Definition)
Entity (এনটিটি) যার সম্পর্কে ডেটা সংরক্ষণ করা হয়। যেমন: কোনো ব্যক্তি, বস্তু বা ঘটনা।
Attribute (অ্যাট্রিবিউট) এনটিটির বৈশিষ্ট্য বা গুণাবলি। যেমন: ছাত্রের নাম, বয়স, রোল। এটি টেবিলের কলাম বা ফিল্ড।
Tuple (টাপল) টেবিলের একটি সারি বা রো (Row), যা একটি পূর্ণাঙ্গ রেকর্ড নির্দেশ করে।
Query (কুয়েরি) ডেটাবেজ থেকে নির্দিষ্ট কোনো শর্ত সাপেক্ষে তথ্য খুঁজে বের করার বা পরিবর্তন করার কমান্ড বা নির্দেশ।
Schema (স্কিমা) ডেটাবেজের সামগ্রিক গঠন বা নকশাকে স্কিমা বলা হয়।

অনুশীলনের প্রশ্ন

সৃজনশীল প্রশ্ন

সৃজনশীল প্রশ্ন ১

একটি কলেজের ছাত্রছাত্রীদের তথ্য সংরক্ষণের জন্য দীর্ঘ দিন ধরে সনাতন পদ্ধতির ফাইল সিস্টেম ব্যবহার করা হচ্ছিল। এতে একই ডেটা বিভিন্ন ফাইলে বারবার লিখতে হতো এবং প্রয়োজনের সময় নির্দিষ্ট তথ্য খুঁজে পাওয়া কঠিন ছিল। এই সমস্যা সমাধানের জন্য অধ্যক্ষ মহোদয় আইসিটি শিক্ষকের পরামর্শে একটি আধুনিক ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) চালু করার সিদ্ধান্ত নিলেন।

ক) ডেটাবেজ কী?
খ) রিলেশনাল ও নন-রিলেশনাল ডেটাবেজের মধ্যে দুটি পার্থক্য লিখ।
গ) উদ্দীপকে উল্লেখিত সমস্যা সমাধানে ডেটাবেজ ম্যানেজমেন্ট সিস্টেম কীভাবে ভূমিকা রাখবে? ব্যাখ্যা কর।
ঘ) কলেজের জন্য কোন ধরণের ডেটাবেজ (Relational vs Distributed) বেশি উপযোগী হবে এবং কেন? বিশ্লেষণ কর।

উত্তর

(ক) ডেটাবেজ হলো পরস্পর সম্পর্কযুক্ত (interrelated) ডেটা বা তথ্যের একটি সুসংগঠিত ভান্ডার, যেখান থেকে খুব সহজে এবং দ্রুত প্রয়োজনীয় তথ্য খুঁজে বের করা যায়।

(খ) রিলেশনাল ও নন-রিলেশনাল ডেটাবেজের পার্থক্য:
১. ডেটা স্ট্রাকচার: রিলেশনাল ডেটাবেজে ডেটাগুলো টেবিল বা রিলেশন আকারে সারি ও কলামে সজ্জিত থাকে। অন্যদিকে নন-রিলেশনাল ডেটাবেজে ডেটা জেসন (JSON), গ্রাফ বা ডকুমেন্ট আকারে থাকে, কোনো নির্দিষ্ট স্কিমা বা টেবিল স্ট্রাকচার মানতে হয় না।
২. সম্পর্ক: রিলেশনাল ডেটাবেজে টেবিলগুলোর মধ্যে প্রাইমারি ও ফরেন কি-এর মাধ্যমে সম্পর্ক তৈরি করা যায়। নন-রিলেশনাল ডেটাবেজে টেবিল রিলেশনশিপের পরিবর্তে কালেকশন বা নোড ভিত্তিক সম্পর্ক থাকে যা অনেক বেশি ফ্লেক্সিবল।

(গ) উদ্দীপকে উল্লেখিত কলেজের সমস্যাগুলো ছিল ডেটা ডুপ্লিকেশন (একই তথ্য বারবার থাকা) এবং তথ্য খুঁজে পেতে সমস্যা হওয়া, যা সনাতন ফাইল সিস্টেমের প্রধান সীমাবদ্ধতা। ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS) এই সমস্যাগুলো যেভাবে সমাধান করবে:

  1. ডেটা রিডান্ডেন্সি কমানো: DBMS-এ সেন্ট্রলাইজড বা কেন্দ্রীয়ভাবে ডেটা সংরক্ষিত থাকে। ফলে একই ছাত্রের নাম বা ঠিকানা একাধিক ফাইলে লেখার প্রয়োজন হয় না। এতে ডেটা ডুপ্লিকেশন বা রিডান্ডেন্সি দূর হয় এবং স্টোরেজ সাশ্রয় হয়।
  2. ডেটা ইন্টিগ্রিটি ও কনসিস্টেন্সি: যেহেতু এক জায়গায় ডেটা আপডেট করলে সব জায়গায় তা স্বয়ংক্রিয়ভাবে আপডেট হয়ে যায়, তাই তথ্যের অসামঞ্জস্যতা দূর হয়।
  3. দ্রুত অনুসন্ধান (Indexing): DBMS-এ কুয়েরি ল্যাঙ্গুয়েজ (যেমন SQL) ব্যবহার করে হাজার হাজার ছাত্রের মধ্য থেকে চোখের পলকে নির্দিষ্ট ছাত্রের তথ্য খুঁজে বের করা যায়, যা ফাইল সিস্টেমে ম্যানুয়ালি করা অত্যন্ত সময়সাপেক্ষ।
  4. নিরাপত্তা: ফাইল সিস্টেমে যে কেউ ফাইল খুলতে পারে, কিন্তু DBMS-এ ইউজার এক্সেস কন্ট্রোল থাকে, ফলে অনুমোদিত ব্যক্তি ছাড়া কেউ ডেটা দেখতে বা পরিবর্তন করতে পারে না।

সুতরাং, কলেজের ফাইল সিস্টেমের জটিলতা দূর করে কাজের গতি ও নির্ভুলতা বাড়াতে DBMS কার্যকর ভূমিকা রাখবে।

(ঘ) কলেজের জন্য রিলেশনাল ডেটাবেজ (Relational Database) বেশি উপযোগী হবে বলে আমি মনে করি। এর কারণ নিচে বিশ্লেষণ করা হলো:

  1. ডেটার ধরন: একটি কলেজের ডেটা সাধারণত সুনির্দিষ্ট কাঠামোর হয়। যেমন- ছাত্রছাত্রীর নাম, রোল, বিভাগ, বিষয় ইত্যাদি। এই ধরনের স্ট্রাকচার্ড ডেটা টেবিল আকারে সাজানোর জন্য রিলেশনাল ডেটাবেজ (যেমন MySQL, Oracle) সবচেয়ে কার্যকর।
  2. সম্পর্ক স্থাপন: কলেজে ছাত্র, শিক্ষক, কোর্স এবং রেজাল্টের মধ্যে পারস্পরিক সম্পর্ক থাকে। রিলেশনাল ডেটাবেজে সহজেই এক টেবিলের সাথে অন্য টেবিলের রিলেশন তৈরি করে জটিল কুয়েরি চালানো যায়। যেমন- কোন ছাত্র কোন শিক্ষকের কোর্সে কত নম্বর পেয়েছে তা সহজেই বের করা সম্ভব।
  3. ব্যবস্থাপনা ও রক্ষণাবেক্ষণ: ডিস্ট্রিবিউটেড ডেটাবেজ সাধারণত বিশাল ভৌগোলিক এলাকাজুড়ে বিস্তৃত বড় প্রতিষ্ঠানের (যেমন ব্যাংক বা বহুজাতিক কোম্পানি) জন্য ব্যবহৃত হয়, যেখানে একাধিক সার্ভারে ডেটা রাখার প্রয়োজন হয়। একটি কলেজের কার্যক্রম সাধারণত একটি নির্দিষ্ট ক্যাম্পাসের মধ্যে সীমাবদ্ধ থাকে, তাই ডিস্ট্রিবিউটেড সিস্টেমের জটিলতা ও খরচ এখানে অপ্রয়োজনীয়।
  4. খরচ ও দক্ষতা: রিলেশনাল ডেটাবেজ সেটআপ করা সহজ এবং তুলনামূলক কম ব্যয়বহুল। এটি কলেজের মতো প্রতিষ্ঠানের সাধারণ প্রশাসনিক কাজের জন্য যথেষ্ট শক্তিশালী এবং দ্রুতগতির।

পরিশেষে বলা যায়, কলেজের ভৌগোলিক অবস্থান এবং ডেটার ধরনের কথা বিবেচনা করলে ডিস্ট্রিবিউটেড ডেটাবেজের চেয়ে সেন্ট্রলাইজড রিলেশনাল ডেটাবেজই বেশি বাস্তবসম্মত ও উপযোগী সিদ্ধান্ত হবে।


সৃজনশীল প্রশ্ন ২

মি. এক্স একজন উদ্যোক্তা। তিনি একটি ই-কমার্স সাইট তৈরি করছেন যেখানে গ্রাহক, পণ্য এবং অর্ডারের তথ্য সংরক্ষণ করা প্রয়োজন। তিনি প্রথমে খাতায় লিখে সব হিসাব রাখতেন, কিন্তু এখন ডেটাগুলো কম্পিউটারে টেবিল আকারে সাজাতে চান। তার বন্ধু তাকে বললেন, "তুমি যদি ডেটাগুলো সঠিকভাবে ফিল্ড ও রেকর্ডে ভাগ করে সাজাও, তাহলে ভবিষ্যতে অনেক সুবিধা পাবে।"

ক) ফিল্ড কী?
খ) ডেটা ও তথ্যের (Information) মধ্যে সম্পর্ক ব্যাখ্যা কর।
গ) মি. এক্স এর ডেটাবেজের জন্য 'Customer' নামে একটি নমুনা টেবিল তৈরি করে ফিল্ড ও রেকর্ড চিহ্নিত কর।
ঘ) উক্ত ডেটাবেজটি রিলেশনাল মডেল অনুসরণ করলে মি. এক্স কী কী সুবিধা পাবেন? বিশ্লেষণ কর।

উত্তর

(ক) ডেটাবেজ টেবিলের প্রতিটি কলামের শিরোনামকে ফিল্ড (Field) বলা হয়, যা ডেটার ক্ষুদ্রতম একক এবং নির্দিষ্ট ধরণের ডেটা নির্দেশ করে।

(খ) ডেটা ও তথ্যের সম্পর্ক হলো কাঁচামাল ও প্রক্রিয়াজাত পণ্যের মতো।
'ডেটা' (Data) হলো তথ্যের ক্ষুদ্রতম একক বা অগোছালো কাঁচামাল (যেমন: কোনো ছাত্রের প্রাপ্ত নম্বর ৫৫, ৮০, ৯০)। এই ডেটাকে যখন প্রক্রিয়াকরণ করে একটি অর্থবহ রূপ দেওয়া হয়, তখন তাকে 'তথ্য' বা ইনফরমেশন (Information) বলে (যেমন: ছাত্রটি জিপিএ ৫ পেয়েছে)। অর্থাৎ সকল তথ্যই ডেটা থেকে তৈরি, কিন্তু সকল ডেটা তথ্য নয়। ডেটা ইনপুট হিসেবে কাজ করে আর তথ্য হলো আউটপুট।

(গ) মি. এক্স এর ই-কমার্স সাইটের জন্য একটি নমুনা 'Customer' টেবিল নিচে তৈরি করা হলো এবং এতে ফিল্ড ও রেকর্ড চিহ্নিত করে দেখানো হলো:

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

Cust_ID (ফিল্ড ১) Name (ফিল্ড ২) Phone (ফিল্ড ৩) City (ফিল্ড ৪)
101 Rahim 01711... Dhaka
102 Karim 01922... Chittagong
103 Sumi 01833... Sylhet

চিহ্নিতকরণ:
- ফিল্ড (Field): উপরের টেবিলের কলামগুলোর নাম— Cust_ID, Name, Phone, City হলো এক একটি ফিল্ড। এখানে মোট ৪টি ফিল্ড আছে।
- রেকর্ড (Record): টেবিলের প্রতিটি সারি (Row) হলো এক একটি রেকর্ড। যেমন- 101, Rahim, 01711..., Dhaka—এই পুরো সারিটি একটি রেকর্ড। এখানে মোট ৩টি রেকর্ড দেখানো হয়েছে।

এই কাঠামোর ফলে মি. এক্স খুব সহজেই গ্রাহকদের নাম বা শহরের নাম ধরে তথ্য খুঁজে বের করতে পারবেন।

(ঘ) মি. এক্স যদি তার ই-কমার্স সাইটের ডেটাবেজটি রিলেশনাল মডেল (RDBMS) অনুসরণ করে তৈরি করেন, তবে তিনি নিম্নলিখিত সুবিধাসমূহ পাবেন:

  1. সহজ ডেটা পুনরুদ্ধার: রিলেশনাল মডেলে SQL (Structured Query Language) ব্যবহার করে খুব সহজে কুয়েরি করা যায়। যেমন—তিনি সহজেই বের করতে পারবেন 'ঢাকা শহরের কোন গ্রাহকরা গত মাসে পণ্য অর্ডার করেছেন'।
  2. টেবিলের মধ্যে সম্পর্ক: ই-কমার্সে 'Customer', 'Product' এবং 'Order'—এই তিনটি ভিন্ন টেবিলের মধ্যে সম্পর্ক থাকা জরুরি। রিলেশনাল মডেলে Customer_ID ব্যবহার করে অর্ডার টেবিলের সাথে লিংক করা যাবে, ফলে কে কোন পণ্য কিনেছে তা ট্র্যাক করা সহজ হবে।
  3. ডেটা ডুপ্লিকেশন রোধ: একই গ্রাহকের নাম ও ঠিকানা বারবার প্রতিটি অর্ডারে লেখার প্রয়োজন হবে না। গ্রাহকের তথ্য একবার 'Customer' টেবিলে থাকলেই হবে, অর্ডারে শুধু তার আইডি ব্যবহার করলেই চলবে। এতে স্টোরেজ বাঁচবে।
  4. ডেটা সিকিউরিটি ও ইন্টিগ্রিটি: রিলেশনাল ডেটাবেজে কে কোন ডেটা দেখতে পাবে তা নিয়ন্ত্রণ করা যায়। এছাড়া ভুল ডেটা এন্ট্রি (যেমন ফোন নাম্বারের জায়গায় নাম লেখা) আটকাতে ভ্যালিডেশন রুলস সেট করা যায়।

বিশ্লেষণান্তে বলা যায়, ই-কমার্স ব্যবসার মতো জটিল ও সম্পর্কযুক্ত ডেটা ব্যবস্থাপনার জন্য রিলেশনাল মডেল ব্যবহার করাই মি. এক্সের জন্য সবচেয়ে বুদ্ধিমানের কাজ হবে, যা তার ব্যবসার দাপ্তরিক কাজকে অনেক গতিশীল ও নির্ভুল করবে।


সৃজনশীল প্রশ্ন ৩

'মেঘনা ব্যাংক' এর সারাদেশে ৬৪টি জেলায় শাখা রয়েছে। আগে তাদের সব ডেটা ঢাকা প্রধান অফিসের একটি মাত্র বড় সার্ভারে সংরক্ষিত থাকত। এতে কোনো কারণে প্রধান সার্ভার ডাউন হলে সারা দেশের ব্যাংকিং কার্যক্রম বন্ধ হয়ে যেত এবং দূরবর্তী শাখা থেকে ডেটা এক্সেস করতে অনেক সময় লাগত। এই সমস্যা সমাধানে তারা এখন এমন একটি ডেটাবেজ ব্যবস্থা চালু করেছে যেখানে প্রতিটি শাখার ডেটা সেই শাখার লোকাল সার্ভারে থাকে, আবার সব শাখার সার্ভার একে অপরের সাথে নেটওয়ার্কের মাধ্যমে যুক্ত থাকে।

ক) ডিস্ট্রিবিউটেড ডেটাবেজ কী?
খ) ডেটাবেজ অ্যাডমিনিস্ট্রেটর (DBA)-এর কাজ কী?
গ) উদ্দীপকে উল্লেখিত ব্যাংকের পূর্বের ডেটাবেজ ব্যবস্থাটি কোন ধরনের ছিল? ব্যাখ্যা কর।
ঘ) ব্যাংকের বর্তমান ব্যবস্থাটি কি আগের চেয়ে বেশি সুবিধাজনক? উদ্দীপকের আলোকে বিশ্লেষণ কর।

উত্তর

(ক) ডিস্ট্রিবিউটেড ডেটাবেজ হলো এমন একটি ডেটাবেজ ব্যবস্থা যেখানে ডেটাগুলো একক কোনো কম্পিউটারে না থেকে নেটওয়ার্কের মাধ্যমে যুক্ত একাধিক কম্পিউটারে বা সাইটে ছড়িয়ে থাকে।

(খ) ডেটাবেজ অ্যাডমিনিস্ট্রেটর (DBA) হলেন সেই ব্যক্তি বা দল যিনি কেন্দ্রীয়ভাবে পুরো ডেটাবেজ সিস্টেম নিয়ন্ত্রণ ও তদারকি করেন। তার প্রধান কাজগুলো হলো: ডেটাবেজ ডিজাইন ও তৈরি করা, ব্যবহারকারীদের এক্সেস বা অনুমতি নিয়ন্ত্রণ করা, ডেটার নিরাপত্তা নিশ্চিত করা, নিয়মিত ব্যাকআপ নেওয়া এবং সিস্টেমের ত্রুটি সংশোধন করে ডেটাবেজ সচল রাখা।

(গ) উদ্দীপকে উল্লেখিত ব্যাংকের পূর্বের ডেটাবেজ ব্যবস্থাটি ছিল সেন্ট্রলাইজড ডেটাবেজ (Centralized Database)

সেন্ট্রলাইজড ডেটাবেজ সিস্টেমে প্রতিষ্ঠানের সমস্ত ডেটা একটি মাত্র কেন্দ্রীয় কম্পিউটারে বা সার্ভারে সংরক্ষিত থাকে। দূরবর্তী স্থান থেকে ব্যবহারকারীরা বা ক্লায়েন্টরা নেটওয়ার্কের মাধ্যমে সেই কেন্দ্রীয় সার্ভারে যুক্ত হয়ে ডেটা এক্সেস করে।
উদ্দীপকে বলা হয়েছে, ব্যাংকের সব ডেটা "ঢাকা প্রধান অফিসের একটি মাত্র বড় সার্ভারে সংরক্ষিত থাকত"। এটি সেন্ট্রলাইজড সিস্টেমের প্রধান বৈশিষ্ট্য। এই ব্যবস্থায় সুবিধা হলো ডেটা ম্যানেজমেন্ট সহজ, কিন্তু অসুবিধা হলো কেন্দ্রীয় সার্ভার নষ্ট হলে পুরো সিস্টেম অচল হয়ে পড়ে এবং দূর থেকে ডেটা আদান-প্রদানে নেটওয়ার্ক ট্রাফিক জ্যামের কারণে ধীরগতি সৃষ্টি হয়। উদ্দীপকের ব্যাংকেও ঠিক এই সমস্যাগুলোই হচ্ছিল।

(ঘ) হ্যাঁ, ব্যাংকের বর্তমান ব্যবস্থাটি (ডিস্ট্রিবিউটেড ডেটাবেজ) আগের ব্যবস্থার (সেন্ট্রলাইজড) চেয়ে অনেক বেশি সুবিধাজনক ও কার্যকর। নিচে উদ্দীপকের আলোকে তা বিশ্লেষণ করা হলো:

  1. দ্রুত গতির সেবা: বর্তমান ব্যবস্থায় প্রতিটি শাখার ডেটা তাদের লোকাল সার্ভারে থাকে। ফলে গ্রাহক যখন লেনদেন করে, তখন ডেটা আদান-প্রদানের জন্য ঢাকার প্রধান সার্ভারে যাওয়ার প্রয়োজন হয় না। এতে নেটওয়ার্ক ডিলে কমে যায় এবং কাজের গতি বাড়ে।
  2. নির্ভরযোগ্যতা বৃদ্ধি: আগের ব্যবস্থায় প্রধান সার্ভার ডাউন হলে সারা দেশের ব্যাংকিং বন্ধ হয়ে যেত। কিন্তু ডিস্ট্রিবিউটেড সিস্টেমে যদি একটি শাখার সার্ভার নষ্টও হয়, তবুও অন্যান্য শাখার কাজ স্বাভাবিকভাবেই চলতে থাকে। পুরো সিস্টেম একসাথে অচল হওয়ার ঝুঁকি থাকে না।
  3. স্কেলেবিলিটি বা সম্প্রসারণ সুবিধা: ভবিষ্যতে ব্যাংক যদি নতুন শাখা খোলে, তবে সহজেই নতুন একটি লোকাল সার্ভার বসিয়ে মূল নেটওয়ার্কে যুক্ত করা যাবে। আগের মতো কেন্দ্রীয় সার্ভারের ওপর চাপ বাড়বে না।
  4. লোকাল অটোনমি: প্রতিটি শাখা তাদের নিজস্ব ডেটার ওপর পূর্ণ নিয়ন্ত্রণ রাখতে পারে, যা প্রশাসনিক কাজের জন্য সুবিধাজনক।

যদিও ডিস্ট্রিবিউটেড সিস্টেম মেইনটেইন করা কিছুটা জটিল ও ব্যয়বহুল, কিন্তু 'মেঘনা ব্যাংক'-এর মতো সারা দেশে বিস্তৃত প্রতিষ্ঠানের জন্য নিরবচ্ছিন্ন সেবা ও গ্রাহক সন্তুষ্টি নিশ্চিত করতে এই ব্যবস্থাটিই সর্বোত্তম ও বেশি সুবিধাজনক।

এমসিকিউ

১। ডেটাবেজ (Database) শব্দের অর্থ কী?

ক) তথ্যের সমাবেশ
খ) উপাত্তের সমাবেশ
গ) ফাইলের সমাবেশ
ঘ) রেকর্ডের সমাবেশ

সঠিক উত্তর: খ) উপাত্তের সমাবেশ

ব্যাখ্যা: Database শব্দটি Data এবং Base এই দুটি শব্দের সমন্বয়ে গঠিত। Data অর্থ উপাত্ত এবং Base অর্থ ঘাটি বা সমাবেশ। তাই শাব্দিক অর্থে ডেটাবেজ হলো উপাত্তের সমাবেশ।


২। তথ্যের ক্ষুদ্রতম একক কোনটি?

ক) ফিল্ড
খ) রেকর্ড
গ) ডেটা
ঘ) ফাইল

সঠিক উত্তর: গ) ডেটা

ব্যাখ্যা: তথ্যের ক্ষুদ্রতম একক হলো ডেটা বা উপাত্ত। প্রক্রিয়াকরণের মাধ্যমে ডেটাকে তথ্যে রূপান্তর করা হয়।


৩। পরস্পর সম্পর্কযুক্ত ফিল্ড নিয়ে কী গঠিত হয়?

ক) ডেটাবেজ
খ) ফাইল
গ) রেকর্ড
ঘ) টেবিল

সঠিক উত্তর: গ) রেকর্ড

ব্যাখ্যা: একাধিক পরস্পর সম্পর্কযুক্ত ফিল্ড (Field) মিলে একটি রেকর্ড (Record) তৈরি হয়। যেমন- নাম, বয়স ও রোল—এই তিনটি ফিল্ড মিলে একজন ছাত্রের রেকর্ড তৈরি হয়।


৪। ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের (DBMS) প্রধান কাজ কোনটি?

ক) ডেটা প্রসেস করে গ্রাফ তৈরি করা
খ) নতুন ডেটাবেজ তৈরি ও নিয়ন্ত্রণ করা
গ) অপারেটিং সিস্টেম ইনস্টল করা
ঘ) ভাইরাসে আক্রান্ত ফাইল মুছে ফেলা

সঠিক উত্তর: খ) নতুন ডেটাবেজ তৈরি ও নিয়ন্ত্রণ করা

ব্যাখ্যা: DBMS হলো এমন এক ধরণের সফটওয়্যার যা নতুন ডেটাবেজ তৈরি, ডেটা সংরক্ষণ, নিয়ন্ত্রণ এবং পরিচালনার কাজ করে।


৫। নিচের কোনটি ডেটাবেজ সফটওয়্যার?

ক) MS Word
খ) MS Excel
গ) MySQL
ঘ) Firefox

সঠিক উত্তর: গ) MySQL

ব্যাখ্যা: MySQL একটি জনপ্রিয় ওপেন সোর্স রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS)। বাকিগুলো ওয়ার্ড প্রসেসর, স্প্রেডশিট বা ব্রাউজার।


৬। "Roll" ফিল্ডটিতে কোন ডেটা টাইপ ব্যবহার করা উচিত?

ক) Text
খ) Number
গ) Memo
ঘ) Currency

সঠিক উত্তর: খ) Number

ব্যাখ্যা: রোল নম্বর সাধারণত গাণিতিক সংখ্যা হয় এবং এর ওপর গাণিতিক অপারেশন (যেমন যোগ-বিয়োগ বা ক্রম সাজানো) প্রয়োজন হতে পারে, তাই Number ডেটা টাইপ উপযুক্ত।


৭। OLE অবজেক্ট ডেটা টাইপ ব্যবহৃত হয় কোন ক্ষেত্রে?

ক) বড় টেক্সট সংরক্ষণে
খ) ছবি বা গ্রাফিক্স সংরক্ষণে
গ) তারিখ সংরক্ষণে
ঘ) টাকার অংক সংরক্ষণে

সঠিক উত্তর: খ) ছবি বা গ্রাফিক্স সংরক্ষণে

ব্যাখ্যা: OLE (Object Linking and Embedding) অবজেক্ট ব্যবহার করে ডেটাবেজে ছবি, শব্দ বা অন্য কোনো গ্রাফিক্স ফাইল যুক্ত করা যায়।


৮। ডেটাবেজ ফাইলে তথ্যের সারিকে (Row) কী বলা হয়?

ক) ফিল্ড
খ) রেকর্ড
গ) কলাম
ঘ) টেবিল

সঠিক উত্তর: খ) রেকর্ড

ব্যাখ্যা: ডেটাবেজ টেবিলে আনুভূমিক সারি বা Row-কে বলা হয় রেকর্ড এবং উলম্ব কলাম বা Column-কে বলা হয় ফিল্ড।


৯। রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের (RDBMS) উদাহরণ কোনটি?

ক) Oracle
খ) Python
গ) Windows
ঘ) Photoshop

সঠিক উত্তর: ক) Oracle

ব্যাখ্যা: Oracle একটি অত্যন্ত শক্তিশালী রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম। এটি বড় বড় প্রতিষ্ঠানে ডেটা ব্যবস্থাপনার কাজে ব্যবহৃত হয়।


১০। একটি ফাইলে একই ডেটা বারবার থাকাকে কী বলে?

ক) ডেটা সিকিউরিটি
খ) ডেটা রিডান্ডেন্সি
গ) ডেটা সর্টিং
ঘ) ডেটা রিলেশন

সঠিক উত্তর: খ) ডেটা রিডান্ডেন্সি

ব্যাখ্যা: ডেটাবেজে একই ডেটা একাধিকবার সংরক্ষিত থাকাকে ডেটা রিডান্ডেন্সি (Data Redundancy) বা তথ্যের পুনরাবৃত্তি বলা হয়। DBMS এটি কমায়।


১১। নিচের কোনটি ডেটাবেজ অ্যাডমিনিস্ট্রেটর (DBA)-এর কাজ নয়?

ক) ডেটাবেজ ডিজাইন করা
খ) ডেটা ব্যাকআপ নেওয়া
গ) ডেটা এন্ট্রি করা
ঘ) ব্যবহারকারীর এক্সেস নিয়ন্ত্রণ

সঠিক উত্তর: গ) ডেটা এন্ট্রি করা

ব্যাখ্যা: DBA মূলত ডেটাবেজ ডিজাইন, রক্ষণাবেক্ষণ, নিরাপত্তা ও ব্যাকআপের কাজ করেন। প্রাত্যহিক ডেটা এন্ট্রির কাজ সাধারণ ব্যবহারকারীরা করে থাকেন।


১২। কুয়েরি (Query) কী?

ক) ডেটাবেজ থেকে নির্দিষ্ট তথ্য খোঁজা
খ) ডেটাবেজ ডিলিট করা
গ) নতুন টেবিল তৈরি করা
ঘ) ডেটাবেজ প্রিন্ট করা

সঠিক উত্তর: ক) ডেটাবেজ থেকে নির্দিষ্ট তথ্য খোঁজা

ব্যাখ্যা: ডেটাবেজে সংরক্ষিত বিশাল তথ্যভান্ডার থেকে নির্দিষ্ট শর্ত সাপেক্ষে প্রয়োজনীয় তথ্য খুঁজে বের করা বা প্রদর্শন করাকে কুয়েরি (Query) বলা হয়।


১৩। কোনটি ইউনিক ফিল্ড বা অদ্বিতীয় ফিল্ড হতে পারে?

ক) নাম
খ) পিতার নাম
গ) মোবাইল নম্বর
ঘ) জাতীয় পরিচয়পত্র নম্বর

সঠিক উত্তর: ঘ) জাতীয় পরিচয়পত্র নম্বর

ব্যাখ্যা: একাধিক ব্যক্তির নাম বা মোবাইল নম্বর (একই পরিবারের সদস্য হলে) একই হতে পারে, কিন্তু জাতীয় পরিচয়পত্র নম্বর বা NID প্রত্যেকের জন্য অদ্বিতীয় (Unique) হয়।


১৪। ডেটাবেজ রিলেশনের পূর্বশর্ত কী?

ক) কমপক্ষে একটি কমন ফিল্ড থাকতে হবে
খ) সব ফিল্ড একই হতে হবে
গ) টেবিলের নাম একই হতে হবে
ঘ) রেকর্ড সংখ্যা সমান হতে হবে

সঠিক উত্তর: ক) কমপক্ষে একটি কমন ফিল্ড থাকতে হবে

ব্যাখ্যা: দুটি টেবিলের মধ্যে রিলেশন তৈরি করতে হলে অবশ্যই উভয় টেবিলে অন্তত একটি সাধারণ বা কমন ফিল্ড (Common Field) থাকতে হয়।


১৫। কর্পোরেট ডেটাবেজ বা বড় প্রতিষ্ঠানের জন্য কোন ধরনের ডেটাবেজ উপযোগী?

ক) ডিস্ট্রিবিউটেড ডেটাবেজ
খ) পার্সোনাল ডেটাবেজ
গ) এন্ড ইউজার ডেটাবেজ
ঘ) কমার্শিয়াল ডেটাবেজ

সঠিক উত্তর: ক) ডিস্ট্রিবিউটেড ডেটাবেজ

ব্যাখ্যা: বড় বা কর্পোরেট প্রতিষ্ঠানে বিভিন্ন শাখা বা বিভাগে ডেটা ছড়িয়ে থাকে, তাই তাদের জন্য ডিস্ট্রিবিউটেড ডেটাবেজ সিস্টেম (Distributed Database System) বেশি কার্যকর।


১৬। ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (DBMS)-এর সুবিধা হলো—
i. ডেটা রিডান্ডেন্সি কমানো
ii. ডেটার নিরাপত্তা নিশ্চিত করা
iii. ডেটা শেয়ারিং সহজ করা

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: DBMS ব্যবহার করলে ডেটার পুনরাবৃত্তি কমে, অননুমোদিত ব্যবহার রোধ করে নিরাপত্তা বাড়ানো যায় এবং নেটওয়ার্কের মাধ্যমে একাধিক ব্যবহারকারী একই সময়ে ডেটা শেয়ার করতে পারে।


১৭। প্রাইমারি কী (Primary Key)-এর বৈশিষ্ট্য হলো—
i. এর মান অদ্বিতীয় (Unique) হতে হয়
ii. এর মান নাল (Null) হতে পারে না
iii. এটি দিয়ে রেকর্ড শনাক্ত করা যায়

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: প্রাইমারি কী একটি টেবিলের প্রতিটি রেকর্ডকে অনন্যভাবে শনাক্ত করে। তাই এর মান ডুপ্লিকেট হতে পারে না এবং খালি বা Null রাখা যায় না।


১৮। ডেটাবেজ রিলেশনের প্রকারভেদ হলো—
i. One-to-One
ii. One-to-Many
iii. Many-to-Many

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: রিলেশনাল ডেটাবেজ মডেলে প্রধানত এই তিন ধরনের রিলেশনশিপ (One-to-One, One-to-Many, Many-to-Many) তৈরি করা যায়।


১৯। SQL (Structured Query Language)-এর কমান্ডগুলো হলো—
i. SELECT
ii. UPDATE
iii. DELETE

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: SQL-এ ডেটা নির্বাচন করার জন্য SELECT, ডেটা পরিবর্তন করার জন্য UPDATE এবং মুছে ফেলার জন্য DELETE কমান্ড ব্যবহৃত হয়।


২০। ডেটাবেজ সিকিউরিটির জন্য প্রয়োজন—
i. ইউজার অথেনটিফিকেশন
ii. ডেটা এনক্রিপশন
iii. নিয়মিত ব্যাকআপ

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: ডেটাবেজের নিরাপত্তা নিশ্চিত করতে সঠিক ব্যবহারকারী যাচাই (Authentication), ডেটা গোপন রাখা (Encryption) এবং দুর্যোগকালীন সুরক্ষার জন্য ব্যাকআপ (Backup) অপরিহার্য।


নিচের উদ্দীপকটি পড় এবং ২১ ও ২২ নং প্রশ্নের উত্তর দাও:

একটি কলেজের লাইব্রেরি ম্যানেজমেন্ট সফটওয়্যারে 'Books' নামে একটি টেবিল আছে। টেবিলটিতে Book_ID, Title, Author এবং Price নামে ৪টি কলাম রয়েছে। লাইব্রেরিয়ান নতুন বইয়ের তথ্য যুক্ত করতে চাইলেন।

২১। উদ্দীপকের টেবিলটিতে 'রেকর্ড' যুক্ত করতে হলে কোন ডেটা টাইপটি Price কলামের জন্য উপযুক্ত?

ক) Text
খ) Currency
গ) Date/Time
ঘ) AutoNumber

সঠিক উত্তর: খ) Currency

ব্যাখ্যা: বইয়ের দাম বা মূল্য একটি আর্থিক পরিমাণ, তাই এর জন্য Currency ডেটা টাইপ ব্যবহার করা সবচেয়ে যুক্তিযুক্ত। Number-ও ব্যবহার করা যায় তবে Currency মুদ্রার চিহ্নসহ প্রদর্শন করে।


২২। Book_ID ফিল্ডটিকে প্রাইমারি কী হিসেবে ঘোষণা করলে কী সুবিধা পাওয়া যাবে?
i. একই আইডিতে দুটি বই এন্ট্রি হবে না
ii. দ্রুত বই খুঁজে পাওয়া যাবে
iii. বইয়ের নাম পরিবর্তন করা যাবে না

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: প্রাইমারি কী ডুপ্লিকেট ভ্যালু নেয় না (অর্থাৎ একই আইডিতে দুই বই এন্ট্রি হবে না) এবং অটোমেটিক ইনডেক্সিং তৈরি করে ফলে সার্চিং দ্রুত হয়। কিন্তু এর সাথে বইয়ের নাম পরিবর্তনের কোনো সম্পর্ক নেই।


নিচের উদ্দীপকটি পড় এবং ২৩, ২৪ ও ২৫ নং প্রশ্নের উত্তর দাও:

রহিম সাহেব তার দোকানের পণ্যের হিসাব রাখার জন্য একটি ডেটাবেজ তৈরি করলেন। তিনি দেখলেন যে, তার Sales টেবিলে একই কাস্টমারের নাম বারবার লিখতে হচ্ছে। তার বন্ধু তাকে পরামর্শ দিলেন Customer নামে আলাদা একটি টেবিল তৈরি করে Sales টেবিলের সাথে সম্পর্ক তৈরি করতে।

২৩। রহিম সাহেবের বন্ধু তাকে কোন ধরনের ডেটাবেজ তৈরির পরামর্শ দিলেন?

ক) Flat File Database
খ) Relational Database
গ) Network Database
ঘ) Hierarchical Database

সঠিক উত্তর: খ) Relational Database

ব্যাখ্যা: যখন ডেটাকে একাধিক টেবিলে ভাগ করে তাদের মধ্যে সম্পর্ক (Relation) তৈরি করা হয়, তখন তাকে রিলেশনাল ডেটাবেজ (Relational Database) বলে। এটি ডেটা রিডান্ডেন্সি কমায়।


২৪। নতুন Customer টেবিলের সাথে Sales টেবিলের সম্পর্ক তৈরির জন্য কোনটি আবশ্যক?

ক) ফরেন কী (Foreign Key)
খ) মেমো ফিল্ড
গ) ইনডেক্সিং
ঘ) সর্টিং

সঠিক উত্তর: ক) ফরেন কী (Foreign Key)

ব্যাখ্যা: দুটি টেবিলের মধ্যে সম্পর্ক স্থাপনের জন্য একটি টেবিলের প্রাইমারি কী অন্য টেবিলে ফরেন কী হিসেবে ব্যবহৃত হতে হয়। এখানে Customer টেবিলের প্রাইমারি কী Sales টেবিলে ফরেন কী হবে।


২৫। এই ব্যবস্থার ফলে রহিম সাহেব কী সুবিধা পাবেন?
i. স্টোরেজ স্পেস বাঁচবে
ii. ডেটা এন্ট্রি দ্রুত হবে
iii. ডেটা ডিলিট করা কঠিন হবে

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: রিলেশনাল মডেলে ডেটা পুনরাবৃত্তি রোধ হওয়ায় স্টোরেজ বাঁচে এবং ড্রপ-ডাউন বা আইডি দিয়ে তথ্য নেওয়ায় ডেটা এন্ট্রি দ্রুত হয়। ডেটা ডিলিট করা কঠিন হওয়ার বিষয়টি সঠিক নয়, বরং রেফারেন্সিয়াল ইন্টিগ্রিটির কারণে ভুল ডিলিট রোধ করা যায়।