৬.১ ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ (Concept and Types of Database Management)
এইচএসসি আইসিটি অধ্যায় ৬ এর প্রথম টপিক: ডেটাবেজ ম্যানেজমেন্টের ধারণা। ডেটা, তথ্য, ফিল্ড, রেকর্ড, এবং বিভিন্ন প্রকার ডেটাবেজ সম্পর্কে বিস্তারিত আলোচনা।
অধ্যায় ৬.১: ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ
- অধ্যায় ৬.১: ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ
- তথ্য খুঁজে পাওয়ার চ্যালেঞ্জ
- ডেটা (Data) ও তথ্য (Information)
- ডেটাবেজ (Database) কী?
- ডেটা সংগঠন বা ডেটা হাইরার্কি (Data Hierarchy)
- ফিল্ড, রেকর্ড ও টেবিল পরিচিতি
- ডেটাবেজের প্রকারভেদ
- ১. রিলেশনাল ডেটাবেজ (RDBMS)
- হায়ারার্কিক্যাল ও নেটওয়ার্ক ডেটাবেজ
- সেন্ট্রালাইজড ও ডিস্ট্রিবিউটেড ডেটাবেজ
- ক্লাউড ডেটাবেজ (Cloud Database)
- ম্যানুয়াল ফাইল সিস্টেম বনাম ডেটাবেজ
- সারসংক্ষেপ
৬.১ ডেটাবেজ ম্যানেজমেন্টের ধারণা ও প্রকারভেদ
কল্পনা করো, তোমার কলেজের অফিসে হাজার হাজার ছাত্রছাত্রীর ভর্তির ফাইল একটি ঘরের মেঝেতে এলোমেলোভাবে ছড়িয়ে ছিটিয়ে আছে। এখন যদি অধ্যক্ষ মহোদয় হঠাৎ কোনো একজন নির্দিষ্ট ছাত্রের তথ্য জানতে চান, তবে সেই স্তূপ থেকে সঠিক ফাইলটি খুঁজে বের করা কতটা কঠিন হবে? এই কাজটি করতে হয়তো কয়েক ঘণ্টা বা কয়েক দিনও লেগে যেতে পারে। কিন্তু যদি এই ফাইলগুলো একটি নির্দিষ্ট নিয়মে আলমারিতে সাজানো থাকত অথবা কম্পিউটারে একটি সফটওয়্যারের মাধ্যমে সংরক্ষিত থাকত, তবে মাত্র কয়েক সেকেন্ডেই তথ্যটি পাওয়া সম্ভব হতো।
বর্তমান যুগ হলো তথ্যের যুগ বা 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)
কম্পিউটারে ডেটা সংরক্ষণের জন্য একটি নির্দিষ্ট গঠন বা কাঠামো মেনে চলা হয়। একে ডেটা হাইরার্কি বা ডেটা সংগঠনের পিরামিড বলা হয়। এই কাঠামোর সর্বনিম্ন স্তরে থাকে বিট এবং সর্বোচ্চ স্তরে থাকে ডেটাবেজ।
নিচে নিচ থেকে ওপরের দিকে ক্রমানুসারে প্রতিটি স্তরের বর্ণনা দেওয়া হলো:
- বিট (Bit): বাইনারি ডিজিট ০ এবং ১ কে বিট বলে। এটি ডেটার ক্ষুদ্রতম একক।
- বাইট (Byte): ৮টি বিট মিলে ১টি বাইট বা ক্যারেক্টার তৈরি হয়। যেমন: 'A' একটি ক্যারেক্টার।
- ফিল্ড (Field): কয়েকটি ক্যারেক্টার বা বাইট মিলে একটি ফিল্ড তৈরি হয় যা একটি নির্দিষ্ট আইটেমের অর্থ প্রকাশ করে। যেমন: কোনো ছাত্রের 'নাম' বা 'রোল' হলো একেকটি ফিল্ড।
- রেকর্ড (Record): পরস্পর সম্পর্কযুক্ত কয়েকটি ফিল্ড মিলে একটি রেকর্ড গঠিত হয়। যেমন: একজন ছাত্রের নাম, রোল এবং জিপিএ—এই তিনটি ফিল্ড মিলে ওই ছাত্রের একটি পূর্ণাঙ্গ রেকর্ড তৈরি হয়।
- ফাইল (File): সমজাতীয় অনেকগুলো রেকর্ডের সমষ্টিকে ফাইল বা টেবিল বলা হয়। যেমন: সকল ছাত্রের রেকর্ড মিলে 'স্টুডেন্ট ফাইল'।
- ডেটাবেজ (Database): পরস্পর সম্পর্কযুক্ত এক বা একাধিক ফাইল নিয়ে ডেটাবেজ গঠিত হয়।
গুরুত্বপূর্ণ (Important):
পরীক্ষায় এবং সৃজনশীল প্রশ্নে নিচের প্রতিশব্দগুলো প্রায়ই ব্যবহার করা হয়, তাই এগুলো মনে রাখা জরুরি:
- ফিল্ড (Field) = অ্যাট্রিবিউট (Attribute) বা কলাম (Column)।
- রেকর্ড (Record) = টাপল (Tuple) বা সারি (Row)।
- ফাইল (File) = টেবিল (Table) বা এনটিটি সেট (Entity Set)।
উদাহরণ (Example):
একটি ছাত্রের তথ্য: {রোল: ১০১, নাম: 'করিম', জিপিএ: ৫.০০}
- এখানে 'নাম', 'রোল' বা 'জিপিএ' হলো একেকটি ফিল্ড বা অ্যাট্রিবিউট।
- পুরো লাইনটি (১০১, করিম, ৫.০০) মিলে হলো একজন ছাত্রের একটি রেকর্ড বা টাপল।
- ক্লাসের সকল ছাত্রের রেকর্ডের সমষ্টি হলো ফাইল বা টেবিল।
ডেটাবেজের প্রকারভেদ: গঠন ও ব্যবহারের ভিত্তিতে
ডেটাবেজকে প্রধানত দুই ভাগে ভাগ করে আলোচনা করা হয়: ১. গঠনের ভিত্তিতে এবং ২. ব্যবহারের ভিত্তিতে।
১. গঠনের ভিত্তিতে প্রকারভেদ (Database Models)
ডেটাবেজে ডেটাগুলো কীভাবে একে অপরের সাথে যুক্ত থাকবে, তার ওপর ভিত্তি করে ডেটাবেজ মডেল তৈরি হয়।
- হায়ারার্কিক্যাল মডেল (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) ভার্চুয়াল সার্ভারে রাখা হয়। এর ফলে যেকোনো স্থান থেকে ইন্টারনেটের মাধ্যমে ডেটা এক্সেস করা যায় এবং হার্ডওয়্যার রক্ষণাবেক্ষণের খরচ কমে।
| বৈশিষ্ট্য | সেন্ট্রালাইজড | ডিস্ট্রিবিউটেড | | :--- | :--- | :--- | | অবস্থান | একটি কেন্দ্রীয় সার্ভারে থাকে। | বিভিন্ন লোকেশনে বা নোডে ছড়িয়ে থাকে। | | নিরাপত্তা | নিরাপত্তা নিয়ন্ত্রণ সহজ। | নিরাপত্তা নিশ্চিত করা জটিল। | | নির্ভরযোগ্যতা | সার্ভার ফেইল করলে সব বন্ধ। | এক জায়গায় সমস্যা হলে অন্য জায়গা থেকে কাজ চলে। |
ম্যানুয়াল ফাইল সিস্টেম বনাম ডেটাবেজ সিস্টেম
কেন আমরা পুরোনো দিনের ম্যানুয়াল ফাইল বা খাতা-কলমের হিসাব বাদ দিয়ে কম্পিউটারাইজড ডেটাবেজ ব্যবহার করছি? এর প্রধান কারণ হলো ম্যানুয়াল সিস্টেমে ডেটার পুনরাবৃত্তি এবং অসামঞ্জস্যতা দূর করা সম্ভব ছিল না।
ডেটা রিডান্ডেন্সি (Data Redundancy):
একই ডেটার বারবার পুনরাবৃত্তি হওয়াকে ডেটা রিডান্ডেন্সি বলে। ম্যানুয়াল সিস্টেমে একই ছাত্রের নাম ও ঠিকানা লাইব্রেরি কার্ডে, ভর্তির ফাইলে এবং রেজাল্ট শিটে আলাদাভাবে লিখতে হতো। এতে জায়গার অপচয় হতো। ডেটাবেজ সিস্টেমে তথ্য একবারই সংরক্ষণ করা হয়, ফলে রিডান্ডেন্সি কমে।
ডেটা ইনকনসিস্টেন্সি (Data Inconsistency):
একই তথ্যের একাধিক কপিতে ভিন্নতা বা অসামঞ্জস্য থাকাকে ইনকনসিস্টেন্সি বলে। ধরো, একজন ছাত্র বাসা পরিবর্তন করেছে। ম্যানুয়াল সিস্টেমে হয়তো ভর্তির ফাইলে ঠিকানা ঠিক করা হলো, কিন্তু লাইব্রেরি কার্ডে পুরোনো ঠিকানাই রয়ে গেল। একে বলা হয় ডেটা ইনকনসিস্টেন্সি। ডেটাবেজে এক জায়গায় পরিবর্তন করলেই সব জায়গায় আপডেট হয়ে যায়।
সংক্ষিপ্ত সারাংশ (Quick Revision)
রিভিশন চেকলিস্ট:
- ডেটা vs তথ্য: ডেটা হলো কাঁচামাল (১০১), তথ্য হলো অর্থপূর্ণ রূপ (রোল: ১০১)।
- DBMS: সফটওয়্যার যা ডেটাবেজ নিয়ন্ত্রণ করে (যেমন: MySQL)।
- হায়ারার্কি: বিট → বাইট → ফিল্ড → রেকর্ড → ফাইল → ডেটাবেজ।
- RDBMS: রিলেশনাল ডেটাবেজ যেখানে টেবিল আকারে ডেটা থাকে।
- সুবিধা: ডেটা রিডান্ডেন্সি (পুনরাবৃত্তি) কমানো এবং ইনকনসিস্টেন্সি (অসামঞ্জস্যতা) দূর করা।
পরিভাষা (Glossary)
| পরিভাষা (Term) | সংজ্ঞা (Definition) |
|---|---|
| Entity (এনটিটি) | যার সম্পর্কে ডেটা সংরক্ষণ করা হয়। যেমন: কোনো ব্যক্তি, বস্তু বা ঘটনা। |
| Attribute (অ্যাট্রিবিউট) | এনটিটির বৈশিষ্ট্য বা গুণাবলি। যেমন: ছাত্রের নাম, বয়স, রোল। এটি টেবিলের কলাম বা ফিল্ড। |
| Tuple (টাপল) | টেবিলের একটি সারি বা রো (Row), যা একটি পূর্ণাঙ্গ রেকর্ড নির্দেশ করে। |
| Query (কুয়েরি) | ডেটাবেজ থেকে নির্দিষ্ট কোনো শর্ত সাপেক্ষে তথ্য খুঁজে বের করার বা পরিবর্তন করার কমান্ড বা নির্দেশ। |
| Schema (স্কিমা) | ডেটাবেজের সামগ্রিক গঠন বা নকশাকে স্কিমা বলা হয়। |