৬.৮ রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) ও এর ব্যবহার

এইচএসসি আইসিটি অধ্যায় ৬: রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS)। ACID প্রপার্টি, কর্পোরেট ও সরকারি পর্যায়ে (যেমন NID, ভূমি রেকর্ড) ডেটাবেজের ব্যবহার ও

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

৬.৮ রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) ও এর ব্যবহার

  1. ৬.৮ রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) ও এর ব্যবহার
  2. চলো একটু চিন্তা করি: এটিএম (ATM) এর রহস্য
  3. RDBMS কী?
  4. RDBMS এর গঠন ও বৈশিষ্ট্য
  5. RDBMS এর প্রাণভোমরা: ACID প্রপার্টি
  6. A for Atomicity: সব হবে, নয়তো কিছুই হবে না
  7. C for Consistency & I for Isolation
  8. D for Durability: স্থায়িত্ব
  9. কর্পোরেট জগতে ডেটাবেজের ব্যবহার
  10. বাংলাদেশে ই-গভর্ন্যান্স ও ডেটাবেজ
  11. ব্যাংকিং ও শিক্ষা ক্ষেত্রে প্রয়োগ
  12. ডিস্ট্রিবিউটেড ডেটাবেজ (Distributed Database)
  13. RDBMS ব্যবহারের চ্যালেঞ্জসমূহ
  14. সারসংক্ষেপ

৬.৮ রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) ও এর ব্যবহার

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

১। রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) এর ধারণা ব্যাখ্যা করতে পারব।
২। RDBMS এর বৈশিষ্ট্যসমূহ বর্ণনা করতে পারব।
৩। ডেটাবেজের অত্যন্ত গুরুত্বপূর্ণ ACID (অ্যাসিড) প্রপার্টি বিশ্লেষণ করতে পারব।
৪। বাংলাদেশে কর্পোরেট ও সরকারি প্রতিষ্ঠানে ডেটাবেজের ব্যবহার সম্পর্কে আলোচনা করতে পারব।

আসসালামু আলাইকুম প্রিয় শিক্ষার্থীরা। স্বাগতম সবাইকে আইসিটির আজকের ক্লাসে। আজকে আমরা ডেটাবেজের জগতের অন্যতম গুরুত্বপূর্ণ বিষয় নিয়ে কথা বলব। আজকের টপিক 'রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম' বা সংক্ষেপে RDBMS. চলো দেখে নিই আজকের লেকচার শেষে আমরা কী কী শিখতে পারব। এই লেকচার শেষে আমরা- ১। রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম বা RDBMS এর মূল ধারণা ব্যাখ্যা করতে পারব। ২। এর বৈশিষ্ট্যগুলো কী কী তা বর্ণনা করতে পারব। ৩। ডেটাবেজের সবথেকে গুরুত্বপূর্ণ কনসেপ্ট 'ACID প্রপার্টি' বিশ্লেষণ করতে পারব। এবং ৪। আমাদের দেশে সরকারি ও বেসরকারি প্রতিষ্ঠানে ডেটাবেজ কীভাবে কাজ সহজ করে দিচ্ছে তা আলোচনা করতে পারব।

চলো একটু চিন্তা করি: এটিএম (ATM) এর রহস্য

দৃশ্যপট:
* একই ব্যাংক অ্যাকাউন্ট।
* ব্যালেন্স: ১০,০০০ টাকা।
* দুইজন ব্যক্তি একই সময়ে দুটি ভিন্ন বুথ থেকে ১০,০০০ টাকা তোলার চেষ্টা করলেন।
* কী ঘটবে?

প্রশ্ন: ব্যাংক কীভাবে নিশ্চিত করে যে দুইজনই টাকা পাবে না?

শুরুতেই একটা মজার সিনারিও বা দৃশ্যপট চিন্তা করা যাক। ধরো, তোমার ব্যাংক অ্যাকাউন্টে ১০,০০০ টাকা আছে। এখন তুমি এবং তোমার বন্ধু ঠিক একই সময়ে—একদম একই সেকেন্ডে—দেশের দুই প্রান্তের দুটো ভিন্ন এটিএম বুথ থেকে কার্ড পাঞ্চ করলে এবং ১০,০০০ টাকা তোলার জন্য রিকোয়েস্ট দিলে। স্ক্রিনে ছবিটার দিকে তাকাও। দুইজনই রিকোয়েস্ট পাঠাচ্ছে। এখন কী মনে হয়? দুইজনেই কি ১০,০০০ টাকা করে মোট ২০,০০০ টাকা তুলে ফেলতে পারবে? ব্যাংক কি দেউলিয়া হয়ে যাবে? অবশ্যই না! কিন্তু ব্যাংক বা ডেটাবেজ সিস্টেম এটা কীভাবে আটকায়? কীভাবে সে নিশ্চিত করে যে ব্যালেন্স মাইনাস না হয়ে সঠিক থাকবে? এই প্রশ্নের উত্তর লুকিয়ে আছে আজকের টপিক RDBMS এর মধ্যে।

RDBMS কী?

সংজ্ঞা: যে ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে ডেটাগুলো পরস্পর সম্পর্কযুক্ত (Relational) টেবিল আকারে সংরক্ষিত থাকে, তাকে RDBMS বলে।

উৎপত্তি:
* ১৯৭০ সালে E.F. Codd রিলেশনাল মডেলের ধারণা দেন।

জনপ্রিয় উদাহরণ:
* MySQL
* Oracle Database
* Microsoft SQL Server
* PostgreSQL

তাহলে RDBMS আসলে কী? RDBMS এর পূর্ণরূপ হলো Relational Database Management System. সহজ কথায়, যখন কোনো ডেটাবেজ সিস্টেমে ডেটাগুলো এলোমেলো না থেকে সুশৃঙ্খল টেবিল আকারে থাকে এবং এই টেবিলগুলোর মধ্যে এক ধরণের লজিক্যাল সম্পর্ক বা রিলেশন থাকে, তখন তাকে আমরা RDBMS বলি। ১৯৭০ সালে বিজ্ঞানী E.F. Codd প্রথম এই মডেলটি দাঁড় করান। তোমরা হয়তো MySQL, Oracle বা SQL Server এর নাম শুনেছ—এরা সবাই কিন্তু RDBMS সফটওয়্যার। এই সফটওয়্যারগুলো দিয়েই আজকের বিশ্বের বড় বড় সব ডেটাবেজ তৈরি হয়েছে।

RDBMS এর গঠন ও বৈশিষ্ট্য

মূল বৈশিষ্ট্যসমূহ:

১। টেবিল বা রিলেশন: ডেটা সারি (Row) ও কলাম (Column) এ সাজানো থাকে।
২। কি (Key) এর ব্যবহার: প্রাইমারি কি (Primary Key) ও ফরেন কি (Foreign Key) দিয়ে টেবিলের মধ্যে সম্পর্ক তৈরি হয়।
৩। SQL সাপোর্ট: কুয়েরি করার জন্য Structured Query Language ব্যবহার করে।

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

RDBMS এর প্রাণভোমরা: ACID প্রপার্টি

ডেটাবেজের বিশ্বস্ততা বা Reliability নিশ্চিত করতে RDBMS চারটি মূলনীতি মেনে চলে, যাকে সংক্ষেপে ACID বলে।

  • A - Atomicity (অ্যাটোমি সিটি)
  • C - Consistency (কনসিস্টেন্সি)
  • I - Isolation (আইসোলেশন)
  • D - Durability (ডিউরেবিলিটি)

এখন আমরা এমন একটি কনসেপ্ট শিখব যা আধুনিক ব্যাংকিং এবং অনলাইন সিস্টেমের মেরুদণ্ড। একে বলা হয় ACID (অ্যাসিড) প্রপার্টি। না, এটা কেমিস্ট্রির অ্যাসিড না! এটি হলো চারটি শব্দের আদ্যক্ষর—Atomicity, Consistency, Isolation, এবং Durability. একটি ট্রানজেকশন বা লেনদেন ঠিকঠাক হলো কিনা, তা এই চারটি বিষয় দিয়ে নিশ্চিত করা হয়। চলো এগুলো একটু বিস্তারিত বুঝি, কারণ এখান থেকে প্রশ্ন আসার সম্ভাবনা থাকে।

A for Atomicity: সব হবে, নয়তো কিছুই হবে না

Atomicity এর মূলকথা:
* একটি ট্রানজেকশন সম্পূর্ণ সফল হতে হবে।
* মাঝপথে বন্ধ হলে পুরোটা বাতিল (Rollback) হবে।

উদাহরণ (বিকাশ সেন্ড মানি):
1. ধাপ ১: তোমার অ্যাকাউন্ট থেকে টাকা কাটা।
2. ধাপ ২: বন্ধুর অ্যাকাউন্টে টাকা জমা হওয়া।

সমস্যা: ধাপ ১ হওয়ার পর নেটওয়ার্ক চলে গেলে?
সমাধান: ধাপ ১ বাতিল হয়ে টাকা ফেরত আসবে।

প্রথমে আসি Atomicity তে। এর নীতি হলো 'All or Nothing'—হয় কাজটা পুরোটা হবে, নয়তো কিছুই হবে না। স্ক্রিনের ডায়াগ্রামটা দেখো। ধরো তুমি বিকাশে বন্ধুকে টাকা পাঠাচ্ছ। এখানে দুটো কাজ হয়: ১. তোমার ব্যালেন্স থেকে টাকা কাটা, এবং ২. বন্ধুর ব্যালেন্স বাড়া। এখন ধরো, তোমার টাকা কাটার পরেই ইন্টারনেট চলে গেল, বন্ধুর টাকা বাড়লো না। তখন কী হবে? Atomicity নিশ্চিত করে যে, যেহেতু কাজটা শেষ হয়নি, তাই তোমার কাটা টাকাটাও সিস্টেমে 'Rollback' বা ফেরত আসবে। অর্থাৎ, অর্ধেক কাজ হয়ে ডেটাবেজ বসে থাকবে না।

C for Consistency & I for Isolation

Consistency (সামঞ্জস্যতা):
* ট্রানজেকশনের আগে ও পরে ডেটাবেজ একটি ভ্যালিড বা সঠিক অবস্থায় থাকবে।
* উদাহরন: ভ্যালিডেশন রুলস মানা (যেমন: ব্যালেন্স নেগেটিভ হবে না)।

Isolation (বিচ্ছিন্নতা):
* একাধিক ব্যবহারকারী একসাথে কাজ করলেও কেউ কাউকে বাধা দেবে না।
* প্রতিটি লেনদেন আলাদা বা আইসোলেটেড থাকবে।

এরপর আসি Consistency এবং Isolation এ। Consistency মানে হলো, ডেটাবেজ সবসময় যৌক্তিক নিয়ম মেনে চলবে। যেমন, তোমার অ্যাকাউন্টে আছে ৫০০ টাকা, তুমি ১০০০ টাকা পাঠাতে চাইলে ডেটাবেজ সেটা হতে দেবে না—এটাই Consistency. আর Isolation হলো সেই শুরুতে বলা এটিএম এর রহস্যের উত্তর। যখন হাজার হাজার মানুষ একসাথে লেনদেন করে, RDBMS প্রতিটি লেনদেনকে আলাদা বা আইসোলেটেড রাখে। ছবির মতো আলাদা আলাদা টানেল বা লেন চিন্তা করো। আমি যখন টাকা তুলছি, ঠিক ওই কয়েক ন্যানোসেকেন্ডের জন্য আমার অ্যাকাউন্টের ডেটা লক করা থাকে, যাতে অন্য জায়গা থেকে কেউ এক্সেস করতে না পারে।

D for Durability: স্থায়িত্ব

Durability (স্থায়িত্ব):
* একবার ট্রানজেকশন সফল (Commit) হলে, তা স্থায়ীভাবে সেভ হয়ে যায়।
* এরপর বিদ্যুৎ চলে গেলে বা সিস্টেম ক্র্যাশ করলেও ডেটা হারাবে না।
* হার্ড ডিস্ক বা স্থায়ী মেমোরিতে রেকর্ড থেকে যায়।

Commit: সফলভাবে ডেটা সেভ করা।

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

কর্পোরেট জগতে ডেটাবেজের ব্যবহার

বড় প্রতিষ্ঠানগুলো (যেমন: গ্রামীণফোন, প্রাণ-আরএফএল) বিশাল কর্মযজ্ঞ সামলাতে RDBMS ব্যবহার করে।

১। HR Management: হাজার হাজার কর্মীর বেতন, হাজিরা, ছুটির হিসাব।
২। CRM (Customer Relationship Management): গ্রাহকের তথ্য ও সেবা নিশ্চিত করা।
৩। Inventory: পণ্যের স্টক বা মজুদের হিসাব রাখা।

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

বাংলাদেশে ই-গভর্ন্যান্স ও ডেটাবেজ

ডিজিটাল বাংলাদেশ বিনির্মাণে সরকারি ডেটাবেজ অপরিহার্য।

  • জাতীয় পরিচয়পত্র (NID): ১২ কোটির বেশি নাগরিকের বায়োমেট্রিক তথ্য।
  • জন্ম-মৃত্যু নিবন্ধন: অনলাইনে জন্ম সনদের তথ্য সংরক্ষণ।
  • ভূমির ই-পর্চা: জমির মালিকানা সংক্রান্ত রেকর্ড ডিজিটালাইজেশন।

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

ব্যাংকিং ও শিক্ষা ক্ষেত্রে প্রয়োগ

ব্যাংকিং (Core Banking):
* দেশের যেকোনো শাখা থেকে টাকা তোলা বা জমা দেওয়া।
* এটিএম ও মোবাইল ব্যাংকিং সেবা।

শিক্ষা বোর্ড:
* এসএসসি/এইচএসসি পরীক্ষার রেজাল্ট প্রসেসিং।
* অনলাইনে কলেজ ভর্তি কার্যক্রম।

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

ডিস্ট্রিবিউটেড ডেটাবেজ (Distributed Database)

ধারণা:
* ডেটাবেজ যখন একটি কম্পিউটারে সীমাবদ্ধ না থেকে নেটওয়ার্কের মাধ্যমে একাধিক লোকেশনে ছড়িয়ে থাকে।

সুবিধা:
* এক সার্ভার নষ্ট হলে অন্যটি থেকে ব্যাকআপ পাওয়া যায়।
* কাজের গতি বাড়ে এবং ঝুঁকি কমে।

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

RDBMS ব্যবহারের চ্যালেঞ্জসমূহ

সব প্রযুক্তিরই কিছু চ্যালেঞ্জ থাকে:

১। নিরাপত্তা ঝুঁকি: হ্যাকিং বা ডেটা চুরির ভয় থাকে।
২। রক্ষণাবেক্ষণ খরচ: সার্ভার ও সফটওয়্যার মেইনটেইন করা ব্যয়বহুল।
৩। দক্ষ জনবল: এটি পরিচালনার জন্য দক্ষ ডাটাবেজ অ্যাডমিনিস্ট্রেটর (DBA) প্রয়োজন।

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

সারসংক্ষেপ

আজকের লেকচারের মূল বিষয়গুলো:

১। RDBMS হলো রিলেশনাল মডেল ভিত্তিক ডেটাবেজ।
২। ACID প্রপার্টি (Atomicity, Consistency, Isolation, Durability) ডেটাবেজের নির্ভরযোগ্যতা নিশ্চিত করে।
৩। ব্যাংক, টেলিকম, সরকারি সেবা ও শিক্ষাক্ষেত্রে এর ব্যাপক ব্যবহার রয়েছে।
৪। ডিজিটাল জীবনের ভিত্তিই হলো এই ডেটাবেজ সিস্টেম।

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

৬.৮ রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) ও এর ব্যবহার

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

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

রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) পরিচিতি

RDBMS-এর পূর্ণরূপ হলো Relational Database Management System। এটি বর্তমান সময়ের সবচেয়ে জনপ্রিয় ডেটাবেজ মডেল। ১৯৭০ সালে আইবিএম-এর গবেষক ড. ই.এফ. কড (E.F. Codd) এই মডেলের ধারণা প্রবর্তন করেন, যা ডেটাবেজ জগতে এক বৈপ্লবিক পরিবর্তন নিয়ে আসে। সাধারণ ফাইল সিস্টেমে ডেটাগুলো এলোমেলো বা বিচ্ছিন্নভাবে সংরক্ষিত থাকে, কিন্তু রিলেশনাল মডেলে ডেটাগুলো সুশৃঙ্খল টেবিল বা রিলেশন (Relation) আকারে সংরক্ষিত থাকে।

সংজ্ঞা (Definition): রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (RDBMS) হলো এমন এক ধরণের ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যেখানে ডেটাগুলো পরস্পর সম্পর্কযুক্ত (Relational) একাধিক টেবিলে দ্বিমাত্রিক সারি (Row) ও কলাম (Column) আকারে সংরক্ষিত থাকে এবং প্রয়োজন অনুযায়ী টেবিলগুলোর মধ্যে রিলেশন বা সম্পর্ক তৈরি করে ডেটা আদান-প্রদান ও নিয়ন্ত্রণ করা যায়।

সহজ কথায়, RDBMS হলো এমন একটি সফটওয়্যার যা ব্যবহারকারীকে ডেটাবেজ তৈরি, ডেটা সংরক্ষণ, নিরাপত্তা নিশ্চিতকরণ এবং একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপনের সুযোগ দেয়। জনপ্রিয় কিছু RDBMS সফটওয়্যার হলো: Oracle, MySQL, Microsoft SQL Server, PostgreSQL, এবং MariaDB।

সাধারণ DBMS ও RDBMS-এর মধ্যে পার্থক্য

পরীক্ষায় প্রায়ই অনুধাবনমূলক প্রশ্নে সাধারণ ডেটাবেজ এবং রিলেশনাল ডেটাবেজের পার্থক্য জানতে চাওয়া হয়। নিচের ছকটি ভালোভাবে লক্ষ্য করুন:

বৈশিষ্ট্য সাধারণ DBMS (Flat File) RDBMS (Relational)
ডেটা সংরক্ষণ ডেটা সাধারণত একটি ফাইলে বা ফ্ল্যাট ফাইল আকারে সংরক্ষিত থাকে। ডেটা একাধিক টেবিলে (Table) সারি ও কলাম আকারে সুশৃঙ্খলভাবে থাকে।
সম্পর্ক (Relation) টেবিলগুলোর মধ্যে কোনো লজিক্যাল সম্পর্ক বা রিলেশন থাকে না। প্রাইমারি ও ফরেন কি (Key) ব্যবহার করে টেবিলগুলোর মধ্যে সম্পর্ক তৈরি করা যায়।
ডেটা রিডান্ডেন্সি একই ডেটা বারবার সংরক্ষিত হতে পারে (Redundancy বেশি)। নরমালাইজেশনের মাধ্যমে ডেটার পুনরাবৃত্তি বা Redundancy কমানো হয়।
ব্যবহারকারী সাধারণত একজন ব্যবহারকারী এট-এ-টাইম কাজ করতে পারে। বহু ব্যবহারকারী (Multi-user) একই সময়ে ডেটা এক্সেস করতে পারে।
উদাহরণ Microsoft Excel, XML, FoxPro. MySQL, Oracle, SQL Server.

গুরুত্বপূর্ণ (Important):
RDBMS-এর মূল ভিত্তি হলো 'রিলেশন' বা টেবিল। প্রতিটি টেবিলের একটি অনন্য নাম থাকে। টেবিলে উলম্বভাবে থাকে কলাম বা অ্যাট্রিবিউট (Attribute/Field) এবং অনুভূমিকভাবে থাকে সারি বা টাপল (Tuple/Record)। পরীক্ষার খাতায় 'ফাইল' না লিখে 'টেবিল' শব্দটি ব্যবহার করা বাঞ্ছনীয়।

RDBMS এর বৈশিষ্ট্য এবং 'কি' (Key) এর ব্যবহার

একটি রিলেশনাল ডেটাবেজের প্রধান শক্তি হলো এর 'কি' (Key) বা চাবি। একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করতে এবং প্রতিটি রেকর্ডকে আলাদাভাবে শনাক্ত করতে এই কি-গুলো ব্যবহৃত হয়। পরীক্ষার উদ্দীপকে প্রায়ই দুটি টেবিল দিয়ে প্রশ্ন করা হয়—"টেবিল দুটির মধ্যে সম্পর্ক স্থাপন সম্ভব কি না?" এর উত্তর দিতে হলে আপনাকে প্রাইমারি কি এবং ফরেন কি সম্পর্কে স্বচ্ছ ধারণা রাখতে হবে।

নিচের চিত্রটি লক্ষ্য করুন যেখানে দুটি টেবিলের মধ্যে সম্পর্ক দেখানো হয়েছে:

রিলেশনাল ডেটাবেজ কি (Key) এবং সম্পর্ক

১. প্রাইমারি কি (Primary Key)

একটি টেবিলের লক্ষ লক্ষ রেকর্ডের মধ্যে নির্দিষ্ট কোনো রেকর্ডকে খুঁজে বের করার জন্য যে ফিল্ডটি ব্যবহার করা হয়, সেটিই প্রাইমারি কি।

সংজ্ঞা (Definition): প্রাইমারি কি (Primary Key) হলো টেবিলের এমন একটি ফিল্ড বা অ্যাট্রিবিউট, যার মান দ্বারা প্রতিটি রেকর্ডকে অদ্বিতীয়ভাবে (Uniquely) শনাক্ত করা যায়। এই ফিল্ডের মান কখনো নাল (Null) বা ফাঁকা হতে পারে না এবং একই মান দুবার (Duplicate) থাকতে পারে না।

উদাহরণ: উপরের চিত্রে 'Student' টেবিলে Roll হলো প্রাইমারি কি। কারণ একই রোল নম্বর একাধিক ছাত্রের হতে পারে না।

২. ফরেন কি (Foreign Key)

দুটি ভিন্ন টেবিলের মধ্যে সম্পর্ক বা রিলেশন তৈরির জন্য ফরেন কি অপরিহার্য। এটি মূলত এক টেবিলের চাবি যা অন্য টেবিলে গিয়ে তালা খোলার কাজ করে।

সংজ্ঞা (Definition): কোনো টেবিলের একটি ফিল্ড বা অ্যাট্রিবিউট যদি অন্য কোনো টেবিলের প্রাইমারি কি হিসেবে ব্যবহৃত হয়, তবে প্রথম টেবিলের ওই ফিল্ডটিকে ফরেন কি (Foreign Key) বলা হয়। এটি রিলেশনাল ডেটাবেজে টেবিলগুলোর মধ্যে সংযোগ স্থাপনকারী হিসেবে কাজ করে।

উদাহরণ: উপরের চিত্রে 'Result' টেবিলে Roll ফিল্ডটি হলো ফরেন কি, কারণ এটি আসলে 'Student' টেবিলের প্রাইমারি কি। এই Roll এর মাধ্যমেই জানা যাবে কোন রেজাল্টটি কোন ছাত্রের।

৩. কম্পোজিট কি (Composite Key)

কখনো কখনো একটি মাত্র ফিল্ড দিয়ে কোনো রেকর্ডকে ইউনিকভাবে শনাক্ত করা সম্ভব হয় না। তখন একাধিক ফিল্ড মিলিয়ে প্রাইমারি কি তৈরি করা হয়।

সংজ্ঞা (Definition): যখন টেবিলের দুই বা ততোধিক অ্যাট্রিবিউট বা ফিল্ড একত্রে মিলে একটি প্রাইমারি কি গঠন করে, তখন তাকে কম্পোজিট প্রাইমারি কি (Composite Primary Key) বলা হয়।

উদাহরণ: একটি কলেজের রেজাল্ট শিটে একই রোল নম্বরের ছাত্র বিভিন্ন ক্লাসে থাকতে পারে। তাই শুধু Roll দিয়ে তাকে চেনা যাবে না। সেখানে Class এবং Roll—এই দুটি ফিল্ড মিলিয়ে ইউনিক আইডি তৈরি করতে হবে। এখানে (Class + Roll) হলো কম্পোজিট কি।

পরীক্ষার টিপস (Exam Tip):
উদ্দীপকে দুটি টেবিল দেওয়া থাকলে প্রথমেই খুঁজবেন কোন ফিল্ডটি উভয় টেবিলে আছে (Common Field)। যদি দেখেন কমন ফিল্ডটি এক টেবিলে ইউনিক (প্রাইমারি কি) এবং অন্য টেবিলে সাধারণ ফিল্ড হিসেবে আছে, তবে বুঝবেন দ্বিতীয় টেবিলে সেটি ফরেন কি। সম্পর্ক তৈরির শর্তই হলো—দুটি টেবিলের মধ্যে অন্তত একটি কমন ফিল্ড থাকতে হবে।

RDBMS এর প্রাণ: ACID প্রপার্টি

কোনো ব্যাংকিং লেনদেন বা ট্রানজেকশন সফল হলো কি না, তা নিশ্চিত করার জন্য RDBMS চারটি মূলনীতি মেনে চলে, যাকে সংক্ষেপে ACID প্রপার্টি বলা হয়। এটি ডেটাবেজের বিশ্বস্ততা ও নির্ভুলতা বজায় রাখার রক্ষাকবচ।

কেস স্টাডি (Case Study): মোবাইল ব্যাংকিং

ধরুন, আপনি আপনার বন্ধুকে ৫০০ টাকা পাঠাচ্ছেন। এই প্রক্রিয়াটি কয়েকটি ধাপে সম্পন্ন হয়:
১. আপনার অ্যাকাউন্ট থেকে ৫০০ টাকা মাইনাস হবে।
২. বন্ধুর অ্যাকাউন্টে ৫০০ টাকা প্লাস হবে।

যদি প্রথম ধাপটি হওয়ার পর হঠাৎ সার্ভার ডাউন হয়ে যায় এবং দ্বিতীয় ধাপটি না হয়, তবে আপনার টাকা কাটা গেল কিন্তু বন্ধু পেল না—এটি একটি ভুল ট্রানজেকশন। RDBMS-এর ACID প্রপার্টি নিশ্চিত করে যে, হয় পুরো কাজটি হবে, নাহলে কিছুই হবে না (টাকা ফেরত আসবে)।

চলুন ACID এর প্রতিটি অংশের বিস্তারিত জেনে নিই:

১. Atomicity (অবিভাজ্যতা)

এটি নিশ্চিত করে যে, একটি ট্রানজেকশনের প্রতিটি কাজ একটি একক ইউনিট হিসেবে গণ্য হবে।

সংজ্ঞা (Definition): Atomicity হলো ট্রানজেকশনের এমন একটি বৈশিষ্ট্য যা নিশ্চিত করে যে, ট্রানজেকশনের কাজ সম্পূর্ণভাবে সম্পন্ন হবে, অথবা কিছুই হবে না (All or Nothing)। মাঝপথে কোনো ত্রুটি হলে সিস্টেম পূর্বের অবস্থায় (Rollback) ফিরে আসবে।

২. Consistency (সংগতিপূর্ণতা)

ট্রানজেকশনের আগে ও পরে ডেটাবেজের অবস্থা সঠিক বা ভ্যালিড থাকতে হবে।

সংজ্ঞা (Definition): Consistency নিশ্চিত করে যে, একটি সফল ট্রানজেকশনের পর ডেটাবেজ এক সঠিক অবস্থা (Valid State) থেকে অন্য সঠিক অবস্থায় পরিবর্তিত হবে। ডেটাবেজের কোনো নিয়ম বা শর্ত (Constraint) লঙ্ঘিত হবে না।

৩. Isolation (স্বতন্ত্রীকরণ)

একই সময়ে হাজার হাজার মানুষ লেনদেন করতে পারে। আইসোলেশন নিশ্চিত করে যে একজনের লেনদেন অন্যজনের ওপর প্রভাব ফেলবে না।

সংজ্ঞা (Definition): Isolation প্রপার্টি নিশ্চয়তা দেয় যে, একাধিক ট্রানজেকশন একই সময়ে (Concurrently) চললেও একটি আরেকটির কাজে বাধা সৃষ্টি করবে না। প্রতিটি ট্রানজেকশন এমনভাবে সম্পন্ন হবে যেন মনে হয় সেটি একাই চলছে।

৪. Durability (স্থায়িত্ব)

লেনদেন সফল হওয়ার পর যদি সিস্টেম ক্র্যাশও করে, তবুও সেই তথ্য মুছে যাবে না।

সংজ্ঞা (Definition): Durability হলো এমন একটি বৈশিষ্ট্য যা নিশ্চিত করে যে, একবার ট্রানজেকশন সম্পন্ন (Commit) হলে সেই ডেটা স্থায়ীভাবে ডেটাবেজে সংরক্ষিত হবে। বিদ্যুৎ বিভ্রাট বা হার্ডওয়্যার ত্রুটিতেও সেই ডেটা হারাবে না।

ডিস্ট্রিবিউটেড ডেটাবেজ: ধারণা ও সুবিধা

আমরা এতক্ষণ যা আলোচনা করলাম, তা সাধারণত একটি কেন্দ্রীয় কম্পিউটারে (Centralized) থাকা ডেটাবেজ নিয়ে। কিন্তু বড় বড় প্রতিষ্ঠানের ডেটা একটি জায়গায় না রেখে বিভিন্ন শাখা বা লোকেশনে ভাগ করে রাখা হয়। একেই বলা হয় ডিস্ট্রিবিউটেড ডেটাবেজ।

ডিস্ট্রিবিউটেড ডেটাবেজ আর্কিটেকচার

সংজ্ঞা (Definition): ডিস্ট্রিবিউটেড ডেটাবেজ (Distributed Database) হলো এমন একটি ডেটাবেজ ব্যবস্থা যেখানে ডেটাবেজগুলো লজিক্যালি বা যৌক্তিকভাবে এক থাকলেও ফিজিক্যালি বা বাহ্যিকভাবে নেটওয়ার্কের মাধ্যমে বিভিন্ন স্থানে (ভিন্ন ভিন্ন সার্ভারে) ছড়িয়ে থাকে।

প্রকারভেদ: এটি মূলত দুই ধরণের হতে পারে—
১. সমজাতীয় (Homogeneous): সব লোকেশনে একই ধরণের ডেটাবেজ সফটওয়্যার (যেমন: সব জায়গায় Oracle) ব্যবহার করা হয়।
২. অসমজাতীয় (Heterogeneous): ভিন্ন ভিন্ন লোকেশনে ভিন্ন ভিন্ন সফটওয়্যার ও হার্ডওয়্যার ব্যবহৃত হয়।

সুবিধা ও অসুবিধার তুলনা
সুবিধা (Advantages) অসুবিধা (Disadvantages)
১. নির্ভরযোগ্যতা: একটি সাইট বা সার্ভার নষ্ট হয়ে গেলে পুরো সিস্টেম বন্ধ হয় না, অন্য সার্ভার থেকে কাজ চালানো যায়। ১. জটিলতা: ডেটা বিভিন্ন জায়গায় ছড়িয়ে থাকায় পুরো সিস্টেম ডিজাইন ও ম্যানেজ করা বেশ জটিল।
২. দ্রুতগতি: ব্যবহারকারী তার নিকটবর্তী লোকাল সার্ভার থেকে ডেটা এক্সেস করতে পারে, ফলে সময় কম লাগে। ২. নিরাপত্তা ঝুঁকি: অনেকগুলো লোকেশন ও নেটওয়ার্ক সংযোগ থাকায় হ্যাকিং বা ডেটা চুরির ঝুঁকি কিছুটা বেড়ে যায়।
৩. স্কেলেবিলিটি: প্রয়োজনে নতুন নতুন শাখা বা সার্ভার সহজেই সিস্টেমে যুক্ত করা যায়। ৩. খরচ: একাধিক সার্ভার, উন্নত নেটওয়ার্ক এবং রক্ষণাবেক্ষণের জন্য খরচ বেশি হয়।

গুরুত্বপূর্ণ অনুধাবন (Important Concept):
"সব ডিম এক ঝুড়িতে না রাখা"—এই প্রবাদটি ডিস্ট্রিবিউটেড ডেটাবেজের ক্ষেত্রে প্রযোজ্য। সেন্ট্রালাইজড ডেটাবেজে সব ডেটা এক সার্ভারে থাকে, তাই সেই সার্ভার ক্র্যাশ করলে সব অচল। কিন্তু ডিস্ট্রিবিউটেড ব্যবস্থায় ঝুঁকি বিভিন্ন স্থানে বণ্টিত হয়ে যায়।

বাংলাদেশে ডেটাবেজের ব্যবহার ও প্রয়োগ

সৃজনশীল প্রশ্নের 'ঘ' অংশে (উচ্চতর দক্ষতা) প্রায়ই বাংলাদেশের প্রেক্ষাপটে ডেটাবেজের গুরুত্ব বিশ্লেষণ করতে বলা হয়। ডিজিটাল বাংলাদেশ বিনির্মাণে এবং স্মার্ট বাংলাদেশ গড়ার লক্ষ্যে ডেটাবেজ প্রযুক্তির ব্যবহার অপরিহার্য। নিচে কিছু গুরুত্বপূর্ণ ক্ষেত্র আলোচনা করা হলো:

১. সরকারি সেবা ও ই-গভর্ন্যান্স

জাতীয় পরিচয়পত্র (NID): বাংলাদেশের প্রায় ১২ কোটি নাগরিকের আঙুলের ছাপ, চোখের স্ক্যান এবং ব্যক্তিগত তথ্য একটি বিশাল ওরাকল (Oracle) ডেটাবেজে সংরক্ষিত আছে। এর ফলেই খুব সহজে সিম নিবন্ধন, পাসপোর্ট ভেরিফিকেশন এবং অপরাধী শনাক্তকরণ সম্ভব হচ্ছে।

ভূমি রেকর্ড ডিজিটালাইজেশন: 'ই-পর্চা' বা ডিজিটাল ভূমি রেকর্ডের মাধ্যমে জমির মালিকানা সংক্রান্ত জটিলতা কমেছে। এখন দেশের যেকোনো প্রান্ত থেকে অনলাইনে খতিয়ান দেখা ও ডাউনলোড করা যায়।

২. ব্যাংকিং ও আর্থিক খাত

দেশের প্রতিটি ব্যাংক এখন 'কোর ব্যাংকিং সলিউশন' (CBS) ব্যবহার করে, যা মূলত একটি শক্তিশালী RDBMS। এর ফলে আপনি ঢাকা থেকে টাকা জমা দিলে মুহূর্তেই তা চট্টগ্রাম বা অন্য যেকোনো শাখার গ্রাহক তুলতে পারেন। এটিএম বুথ, মোবাইল ব্যাংকিং (বিকাশ, নগদ)—সবই এই কেন্দ্রীয় ডেটাবেজের ওপর ভিত্তি করে চলছে।

৩. কৃষি ও শিক্ষা

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

প্রয়োগিক উদাহরণ (Real-world Example):
করোনাকালীন সময়ে 'সুরক্ষা' অ্যাপের মাধ্যমে কোটি কোটি মানুষের টিকার নিবন্ধন ও সনদ প্রদান করা হয়েছিল। এটি একটি ক্লাউড-বেজড রিলেশনাল ডেটাবেজের চমৎকার উদাহরণ, যেখানে এনআইডি সার্ভারের সাথে সংযোগ স্থাপন করে তথ্যের সত্যতা যাচাই করা হয়েছিল।

সারসংক্ষেপ ও পরীক্ষার প্রস্তুতি

আজকের পাঠ থেকে আমরা যা শিখলাম, তা এক নজরে দেখে নিই:

সংক্ষিপ্ত সারাংশ (Quick Revision):
- RDBMS: ডেটা টেবিল আকারে থাকে এবং টেবিলগুলোর মধ্যে সম্পর্ক থাকে।
- Keys: প্রাইমারি কি রেকর্ডকে ইউনিক করে, ফরেন কি রিলেশন তৈরি করে।
- ACID: ট্রানজেকশনের নির্ভুলতা নিশ্চিত করে (Atomicity, Consistency, Isolation, Durability)।
- Distributed DB: ডেটা বিভিন্ন স্থানে ছড়িয়ে থাকে, যা সিস্টেমকে দ্রুত ও নিরাপদ করে।
- প্রয়োগ: এনআইডি, ব্যাংকিং, এবং ই-গভর্ন্যান্সে এর ব্যাপক ব্যবহার রয়েছে।

পরীক্ষার জন্য সম্ভাব্য প্রশ্ন
  1. জ্ঞানমূলক: RDBMS কী? প্রাইমারি কি কাকে বলে?
  2. অনুধাবনমূলক: RDBMS ও DBMS এর মধ্যে দুটি পার্থক্য লেখ। ডিস্ট্রিবিউটেড ডেটাবেজ সুবিধাজনক কেন?
  3. প্রয়োগমূলক: উদ্দীপকের টেবিল দুটির মধ্যে রিলেশন তৈরির শর্ত ব্যাখ্যা কর।
  4. উচ্চতর দক্ষতা: "ডিজিটাল বাংলাদেশ গড়তে ডেটাবেজের ভূমিকা অনস্বীকার্য"—উক্তিটি বিশ্লেষণ কর।

পরিভাষা (Glossary)

পরিভাষা (Term) ব্যাখ্যা (Definition)
RDBMS Relational Database Management System; রিলেশনাল ডেটাবেজ পরিচালনার সফটওয়্যার।
Tuple টেবিলের প্রতিটি সারি বা রেকর্ডকে টাপল বলা হয়।
Attribute টেবিলের প্রতিটি কলাম বা ফিল্ডকে অ্যাট্রিবিউট বলা হয়।
Primary Key যে ফিল্ড দিয়ে রেকর্ডকে অদ্বিতীয়ভাবে চেনা যায়।
Foreign Key অন্য টেবিলের প্রাইমারি কি যা বর্তমান টেবিলে রেফারেন্স হিসেবে ব্যবহৃত হয়।
ACID ট্রানজেকশন প্রসেসিংয়ের ৪টি মূলনীতি (Atomicity, Consistency, Isolation, Durability)।

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

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

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

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

ক) RDBMS কী?
খ) ডেটাবেজ রিলেশন বলতে কী বোঝায়?
গ) উদ্দীপকে 'মেঘনা লজিস্টিকস' কোন ধরনের ডেটাবেজ ম্যানেজমেন্ট সিস্টেম ব্যবহার করছে? ব্যাখ্যা কর।
ঘ) প্রতিষ্ঠানটির গৃহিত নতুন পলিসিতে ডেটাবেজ অ্যাডমিনিস্ট্রেটরের (DBA) ভূমিকা বিশ্লেষণ কর।

উত্তর

(ক) RDBMS এর পূর্ণরূপ হলো Relational Database Management System। এটি এমন একটি ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যেখানে পরস্পর সম্পর্কযুক্ত একাধিক টেবিলের সমন্বয়ে ডেটাবেজ গঠিত হয় এবং টেবিলগুলোর মধ্যে রিলেশন বা সম্পর্ক স্থাপন করে ডেটা প্রসেস ও নিয়ন্ত্রণ করা যায়।

(খ) রিলেশনাল ডেটাবেজ মডেলে 'রিলেশন' বলতে মূলত টেবিলকে বোঝানো হয়। তবে ব্যাপক অর্থে, ডেটাবেজের দুটি বা তার অধিক টেবিলের মধ্যে একটি সাধারণ ফিল্ডের (Common Field) উপর ভিত্তি করে যে সম্পর্ক তৈরি হয়, তাকে রিলেশন বলে। এর মাধ্যমে এক টেবিলের ডেটার সাথে অন্য টেবিলের ডেটার সংযোগ স্থাপন করা হয়।

(গ) উদ্দীপকে 'মেঘনা লজিস্টিকস' ডিস্ট্রিবিউটেড ডেটাবেজ ম্যানেজমেন্ট সিস্টেম (Distributed DBMS) ব্যবহার করছে।

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

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

DBA হলেন সেই ব্যক্তি বা দল যারা ডেটাবেজ সিস্টেমের সার্বিক রক্ষণাবেক্ষণ, নিরাপত্তা ও পরিচালনার দায়িত্বে থাকেন। উদ্দীপকের প্রেক্ষাপটে DBA-এর ভূমিকা নিচে বিশ্লেষণ করা হলো:
১. ডেটা রিডান্ডেন্সি বা ডুপ্লিকেশন নিয়ন্ত্রণ: DBA ডেটাবেজ নরমালাইজেশন এবং কনস্ট্রেইন্ট (যেমন Primary Key, Unique Key) প্রয়োগের মাধ্যমে একই ডেটার পুনরাবৃত্তি রোধ করবেন। এতে স্টোরেজ সাশ্রয় হবে এবং ডেটার অখণ্ডতা বজায় থাকবে।
২. নিরাপত্তা নিশ্চিতকরণ: তিনি ব্যবহারকারীদের জন্য অ্যাক্সেস কন্ট্রোল বা প্রিভিলেজ লেভেল নির্ধারণ করবেন। কে কোন ডেটা দেখতে পারবে বা পরিবর্তন করতে পারবে তা নিয়ন্ত্রণ করে তিনি অননুমোদিত প্রবেশ ঠেকাবেন।
৩. ব্যাকআপ ও রিকভারি: ডেটা হারিয়ে যাওয়া রোধ করতে তিনি নিয়মিত ব্যাকআপ নেয়ার ব্যবস্থা করবেন এবং প্রয়োজনে রিকভারি করবেন।
৪. সেন্ট্রাল কন্ট্রোল: ডিস্ট্রিবিউটেড সিস্টেমে ডেটা সিনক্রোনাইজেশন ঠিকঠাক হচ্ছে কিনা তা তদারকি করবেন।

পরিশেষে বলা যায়, মেঘনা লজিস্টিকসের নতুন পলিসি বাস্তবায়নে একজন দক্ষ DBA-এর কারিগরি ও প্রশাসনিক পদক্ষেপই মুখ্য ভূমিকা পালন করবে।


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

দৃশ্যকল্প: 'সিটি ব্যাংক' তাদের অনলাইন ব্যাংকিং সেবাকে আরও উন্নত করতে চায়। মিস্টার রাশেদ ব্যাংকটির একজন গ্রাহক। তিনি এটিএম বুথ থেকে ৫০০০ টাকা উত্তোলনের কমান্ড দিলেন। মেশিন থেকে টাকা বের হওয়ার আগেই বিদ্যুৎ চলে গেল এবং সিস্টেম বন্ধ হয়ে গেল। পরে ব্যালেন্স চেক করে দেখলেন তার একাউন্ট থেকে টাকা কেটে নেওয়া হয়েছে কিন্তু তিনি টাকা পাননি। ব্যাংকের আইটি অফিসার বললেন, "সিস্টেমে ACID প্রপার্টি ঠিকমতো কাজ না করায় এই সমস্যা হয়েছে।"

ক) প্রাইমারি কি (Primary Key) কী?
খ) কম্পোজিট কি (Composite Key) কেন ব্যবহার করা হয়?
গ) মিস্টার রাশেদের লেনদেনে সমস্যার কারণটি ডেটাবেজের কোন বৈশিষ্ট্যের আলোকে ব্যাখ্যা করা যায়?
ঘ) উদ্দীপকের ব্যাংকিং সিস্টেমে লেনদেনের নির্ভরযোগ্যতা ও সঠিকতা বজায় রাখতে ACID প্রপার্টিজের গুরুত্ব মূল্যায়ন কর।

উত্তর

(ক) কোনো ডেটাবেজ টেবিলে যে ফিল্ড বা ফিল্ডসমুহের মান দ্বারা প্রতিটি রেকর্ডকে বা শাড়িকে সম্পূর্ণ আলাদা বা অদ্বিতীয়ভাবে শনাক্ত করা যায়, তাকে প্রাইমারি কি (Primary Key) বলে।

(খ) যখন কোনো টেবিলে একক কোনো ফিল্ড রেকর্ডগুলোকে অদ্বিতীয়ভাবে শনাক্ত করতে পারে না, তখন দুই বা ততোধিক ফিল্ডের সমন্বয়ে যে 'কি' গঠন করা হয়, তাকে কম্পোজিট প্রাইমারি কি বা কম্পোজিট কি বলে। বড় ডেটাবেজে বা মেনি-টু-মেনি রিলেশনশিপের ক্ষেত্রে রেকর্ড ইউনিক করার জন্য এটি ব্যবহার করা হয়।

(গ) মিস্টার রাশেদের লেনদেনে সমস্যার কারণটি ডেটাবেজের 'Atomicity' (অ্যাটমিস্টি) বৈশিষ্ট্যের ব্যর্থতা বা অনুপস্থিতি।

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

(ঘ) উদ্দীপকের ব্যাংকিং সিস্টেমে লেনদেনের নির্ভরযোগ্যতা বা সঠিকতা বজায় রাখতে ACID প্রপার্টিজ (Atomicity, Consistency, Isolation, Durability) এর গুরুত্ব অপরিসীম। নিচে তা মূল্যায়ন করা হলো:

  1. Atomicity (অখণ্ডতা): ব্যাংকিং লেনদেনে এটি সবচেয়ে জরুরি। যেমন উদ্দীপকের ঘটনায়, টাকা কাটা এবং টাকা পাওয়া—এই দুটি কাজ মিলে একটি ট্রানজেকশন। হয় দুটিই হবে, নাহলে কোনোটিই হবে না। এটি নিশ্চিত করলে গ্রাহকের টাকা হারানোর ভয় থাকে না।
  2. Consistency (সামঞ্জস্যতা): লেনদেনের আগে এবং পরে ডেটাবেজের মোট ভ্যালু বা নিয়ম ঠিক থাকতে হবে। যেমন, এক অ্যাকাউন্ট থেকে কমলে অন্যটিতে বা ক্যাশে ঠিক ততটুকুই বাড়তে হবে।
  3. Isolation (বিচ্ছিন্নতা): একই সময়ে একাধিক গ্রাহক লেনদেন করলে যেন কারও লেনদেন অন্যের ওপর প্রভাব না ফেলে। এটি না থাকলে ব্যালেন্সের গরমিল হতে পারে।
  4. Durability (স্থায়িত্ব): লেনদেন সফল হওয়ার পর যদি সিস্টেম ক্র্যাশও করে, তবুও সেই ডেটা সেভ থাকতে হবে।

সিটি ব্যাংকের ক্ষেত্রে এই চারটি বৈশিষ্ট্য বা ACID প্রপার্টি নিশ্চিত করা হলে মিস্টার রাশেদের মতো ভুক্তভোগী হতে হতো না। ট্রানজেকশন ফেইল করলে সিস্টেম অটোমেটিক রোলব্যাক করত। তাই আর্থিক নিরাপত্তা ও গ্রাহক সন্তুষ্টির জন্য RDBMS-এর এই বৈশিষ্ট্যগুলো অপরিহার্য।


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

দৃশ্যকল্প: কলেজ কর্তৃপক্ষ তাদের শিক্ষার্থীদের তথ্য সংরক্ষণের জন্য দুটি টেবিল তৈরি করল: 'Student_Info' (Roll, Name, Address) এবং 'Result_Info' (Roll, GPA, Passing_Year)। আইসিটি শিক্ষক বললেন, "তোমরা যদি টেবিল দুটির মধ্যে রিলেশন তৈরি কর তবে সহজেই যেকোনো ছাত্রের সব তথ্য একসাথে পাওয়া যাবে। তবে এজন্য কিছু শর্ত মানতে হবে।"

ক) ডেটা ইন্টিগ্রিটি কী?
খ) ওয়ান-টু-ওয়ান রিলেশনশিপ বলতে কী বোঝ?
গ) উদ্দীপকের টেবিল দুটির মধ্যে রিলেশন তৈরির শর্তগুলো ব্যাখ্যা কর।
ঘ) "টেবিল দুটির মধ্যে রিলেশন তৈরি করা হলে ডেটাবেজের ব্যবহার আরও সুবিধাজনক হবে"—উক্তিটি বিশ্লেষণ কর।

উত্তর

(ক) ডেটাবেজে সংরক্ষিত ডেটার নির্ভুলতা, সঠিকতা এবং সামঞ্জস্যতা বজায় রাখাকেই ডেটা ইন্টিগ্রিটি (Data Integrity) বলে।

(খ) যখন ডেটাবেজের একটি টেবিল এর একটি রেকর্ডের সাথে অন্য একটি টেবিলের কেবল একটি রেকর্ডের সম্পর্ক থাকে এবং একইভাবে দ্বিতীয় টেবিলের একটি রেকর্ডের সাথে প্রথম টেবিলের কেবল একটি রেকর্ডের সম্পর্ক থাকে, তখন তাকে ওয়ান-টু-ওয়ান (1:1) রিলেশনশিপ বলে। যেমন: একজন ব্যক্তির একটিই এনআইডি নম্বর থাকে।

(গ) উদ্দীপকের 'Student_Info' এবং 'Result_Info' টেবিল দুটির মধ্যে রিলেশন তৈরির জন্য নিম্নলিখিত শর্তগুলো মানতে হবে:
১. কমন ফিল্ড (Common Field): উভয় টেবিলে অন্তত একটি সাধারণ ফিল্ড থাকতে হবে। উদ্দীপকে উভয় টেবিলে 'Roll' নামক ফিল্ডটি রয়েছে, যা কমন ফিল্ড হিসেবে কাজ করবে।
২. প্রাইমারি কি (Primary Key): কমন ফিল্ডটিকে অন্তত একটি টেবিলে (সাধারণত প্যারেন্ট টেবিলে) প্রাইমারি কি হতে হবে যাতে রেকর্ডগুলো অদ্বিতীয়ভাবে চেনা যায়। এখানে 'Roll' ফিল্ডটি প্রাইমারি কি হতে পারে কারণ এক রোলের দুইজন ছাত্র থাকে না।
৩. ডেটা টাইপ ও সাইজ: উভয় টেবিলের কমন ফিল্ডের ('Roll') ডেটা টাইপ এবং ফিল্ড সাইজ হুবহু এক হতে হবে।

(ঘ) উদ্দীপকের উক্তিটি যথার্থ। টেবিল দুটির মধ্যে রিলেশন তৈরি করলে ডেটাবেজ ব্যবস্থাপনা ও ব্যবহারে নিম্নলিখিত সুবিধাসমূহ পাওয়া যাবে:

  1. ডেটা রিডান্ডেন্সি হ্রাস: রিলেশন থাকায় একই তথ্য (যেমন Name বা Address) দ্বিতীয় টেবিলে পুনরায় লেখার প্রয়োজন নেই। শুধু Roll নম্বর দিয়ে লিংক করলেই হবে। এতে মেমোরি বাঁচে।
  2. তথ্য অনুসন্ধান সহজীকরণ: কুয়েরি (Query) ব্যবহার করে সহজেই দুই টেবিল থেকে জয়েন (Join) অপারেশনের মাধ্যমে পূর্ণাঙ্গ রিপোর্ট তৈরি করা যাবে। যেমন, কোনো ছাত্রের নাম এবং জিপিএ একসাথে দেখা যাবে।
  3. ডেটা কনসিস্টেন্সি: এক টেবিলে পরিবর্তন করলে বা রিলেশনাল ইন্টিগ্রিটি বজায় রাখলে ডেটার অসামঞ্জস্যতা দূর হয়।
  4. সময় সাশ্রয়: আলাদা আলাদা টেবিলে গিয়ে তথ্য খুঁজতে হয় না, ফলে ব্যবহারকারীর সময় বাঁচে এবং সিদ্ধান্ত গ্রহণ সহজ হয়।

সুতরাং, রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের (RDBMS) মূল শক্তিই হলো এই রিলেশন, যা উদ্দীপকের কলেজের ডেটা ব্যবস্থাপনাকে অনেক বেশি দক্ষ ও গতিশীল করবে।

এমসিকিউ

১. RDBMS এর পূর্ণরূপ কী?

ক) Rational Database Management System
খ) Relational Database Management System
গ) Rapid Database Management System
ঘ) Remote Database Management System

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

ব্যাখ্যা: RDBMS হলো রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম। এটি এমন একটি ডেটাবেজ যা পরস্পর সম্পর্কযুক্ত ডেটা টেবিল বা রিলেশন নিয়ে কাজ করে। ১৯৭০ সালে ই.এফ. কড (E.F. Codd) এই মডেল প্রবর্তন করেন।


২. রিলেশনাল ডেটাবেজ মডেলে 'রিলেশন' বলতে কী বোঝায়?

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

সঠিক উত্তর: গ) টেবিল

ব্যাখ্যা: রিলেশনাল ডেটাবেজ মডেলে ডেটাগুলো টেবিলে সংরক্ষিত থাকে। এই টেবিলকেই গাণিতিক পরিভাষায় 'রিলেশন' (Relation) বলা হয়। প্রতিটি রিলেশনের একটি নির্দিষ্ট নাম থাকে এবং এতে সারি (Tuples) ও কলাম (Attributes) থাকে।


৩. ডেটাবেজ টেবিলের প্রতিটি সারিকে (Row) কী বলা হয়?

ক) রেকর্ড বা টাপল (Tuple)
খ) অ্যাট্রিবিউট (Attribute)
গ) ফিল্ড (Field)
ঘ) ডোমেইন (Domain)

সঠিক উত্তর: ক) রেকর্ড বা টাপল (Tuple)

ব্যাখ্যা: একটি ডেটাবেজ টেবিলের আনুভূমিক সারিকে রেকর্ড বা টাপল বলা হয়। প্রতিটি টাপল কোনো একটি নির্দিষ্ট এনটিটি (যেমন একজন ছাত্র বা একজন কর্মী) সম্পর্কিত সকল তথ্য ধারণ করে।


৪. ডেটাবেজ টেবিলের কলামগুলোকে (Column) কী বলা হয়?

ক) এনটিটি
খ) টাপল
গ) অ্যাট্রিবিউট বা ফিল্ড
ঘ) ফাইল

সঠিক উত্তর: গ) অ্যাট্রিবিউট বা ফিল্ড

ব্যাখ্যা: টেবিলের প্রতিটি কলাম বা খাড়া অংশকে ফিল্ড বা অ্যাট্রিবিউট বলা হয়। এটি রেকর্ডের নির্দিষ্ট কোনো বৈশিষ্ট্য (যেমন নাম, বয়স, রোল) নির্দেশ করে।


৫. কোনটি RDBMS সফটওয়্যার নয়?

ক) Oracle
খ) MySQL
গ) MS Access
ঘ) MS PowerPoint

সঠিক উত্তর: ঘ) MS PowerPoint

ব্যাখ্যা: ওরাকল (Oracle), মাইএসকিউএল (MySQL) এবং এমএস এক্সেস (MS Access) হলো জনপ্রিয় ডেটাবেজ ম্যানেজমেন্ট সফটওয়্যার। কিন্তু এমএস পাওয়ারপয়েন্ট হলো একটি প্রেজেন্টেশন সফটওয়্যার, এটি ডেটাবেজ নয়।


৬. ডেটাবেজ রিলেশনের জন্য আবশ্যিক শর্ত কোনটি?

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

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

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


৭. প্রাইমারি কি (Primary Key) এর প্রধান বৈশিষ্ট্য কী?

ক) ডুপ্লিকেট ভ্যালু গ্রহণ করে
খ) নাল (Null) ভ্যালু গ্রহণ করে
গ) অদ্বিতীয় বা ইউনিক (Unique) হতে হয়
ঘ) সব সময় টেক্সট হতে হয়

সঠিক উত্তর: গ) অদ্বিতীয় বা ইউনিক (Unique) হতে হয়

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


৮. ফরেইন কি (Foreign Key) কোন কাজে ব্যবহৃত হয়?

ক) ডেটা ডিলিট করতে
খ) দুটি টেবিলের মধ্যে সম্পর্ক বা রিলেশন তৈরি করতে
গ) ডেটা সর্টিং করতে
ঘ) ডেটা এনক্রিপ্ট করতে

সঠিক উত্তর: খ) দুটি টেবিলের মধ্যে সম্পর্ক বা রিলেশন তৈরি করতে

ব্যাখ্যা: একটি টেবিলের প্রাইমারি কি যখন অন্য টেবিলে সাধারণ ফিল্ড হিসেবে ব্যবহৃত হয়, তখন তাকে ফরেইন কি বলে। এর মাধ্যমেই মূলত রিলেশনাল ডেটাবেজে দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করা হয় (Referential Integrity)।


৯. SQL এর পূর্ণরূপ কী?

ক) Structured Query Language
খ) Simple Query Language
গ) Standard Query Logic
ঘ) System Query Language

সঠিক উত্তর: ক) Structured Query Language

ব্যাখ্যা: এসকিউএল (SQL) হলো স্ট্রাকচার্ড কুয়েরি ল্যাঙ্গুয়েজ। এটি ডেটাবেজ তৈরি, পরিচালনা, নিয়ন্ত্রণ এবং ডেটা রিট্রিভ করার জন্য ব্যবহৃত একটি স্ট্যান্ডার্ড ল্যাঙ্গুয়েজ।


১০. ডেটাবেজ থেকে ডেটা খুঁজে বের করার প্রক্রিয়াকে কী বলে?

ক) সর্টিং
খ) ইনডেক্সিং
গ) কুয়েরি (Query)
ঘ) রিলেশন

সঠিক উত্তর: গ) কুয়েরি (Query)

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


১১. ট্রানজেকশন (Transaction) ব্যবস্থাপনায় 'ACID' প্রপার্টিজের 'A' দ্বারা কী বোঝায়?

ক) Accuracy
খ) Atomicity
গ) Availability
ঘ) Authentication

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

ব্যাখ্যা: ACID এর পূর্ণরূপ হলো Atomicity, Consistency, Isolation, Durability। এখানে 'A' দ্বারা Atomicity বা অবিাজ্যতা বোঝায়, যার অর্থ একটি ট্রানজেকশন সম্পূর্ণ হবে অথবা কিছুই হবে না (All or Nothing)।


১২. কোনটি DDL (Data Definition Language) কমান্ড?

ক) SELECT
খ) INSERT
গ) CREATE
ঘ) UPDATE

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

ব্যাখ্যা: DDL বা ডেটা ডেফিনিশন ল্যাঙ্গুয়েজ দিয়ে ডেটাবেজের স্ট্রাকচার তৈরি বা পরিবর্তন করা হয়। CREATE, ALTER, DROP হলো DDL কমান্ড। অন্যদিকে SELECT, INSERT, UPDATE হলো DML কমান্ড।


১৩. ডেটাবেজ সিকিউরিটির জন্য কোনটি ব্যবহৃত হয়?

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

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

ব্যাখ্যা: ডেটাবেজের নিরাপত্তা নিশ্চিত করতে এবং অননুমোদিত অ্যাক্সেস রোধ করতে ডেটা এনক্রিপশন (Encryption) ব্যবহৃত হয়। এতে ডেটাকে দুর্বোধ্য ফরম্যাটে পরিবর্তন করে রাখা হয়।


১৪. ডিস্ট্রিবিউটেড ডেটাবেজের সুবিধা কোনটি?

ক) কেন্দ্রীয় সার্ভারের প্রয়োজন নেই
খ) ডেটা শেয়ারিং কঠিন
গ) যেকোনো স্থান থেকে ডেটা অ্যাক্সেস করা যায়
ঘ) শুধুমাত্র একজনেই ব্যবহার করতে পারে

সঠিক উত্তর: গ) যেকোনো স্থান থেকে ডেটা অ্যাক্সেস করা যায়

ব্যাখ্যা: ডিস্ট্রিবিউটেড ডেটাবেজ সিস্টেমে ডেটা বিভিন্ন লোকেশনে ছড়িয়ে থাকলেও নেটওয়ার্কের মাধ্যমে সংযুক্ত থাকে। ফলে ব্যবহারকারী যেকোনো স্থান থেকে সহজেই ডেটা অ্যাক্সেস করতে পারেন।


১৫. এনটিটি (Entity) বলতে কী বোঝায়?

ক) ডেটাবেজ ফাইল
খ) যার সম্পর্কে ডেটা সংরক্ষণ করা হয়
গ) ডেটাবেজ সফটওয়্যার
ঘ) ডেটাবেজ অ্যাডমিনিস্ট্রেটর

সঠিক উত্তর: খ) যার সম্পর্কে ডেটা সংরক্ষণ করা হয়

ব্যাখ্যা: যার বা যে বস্তুর সম্পর্কে ডেটাবেজে তথ্য সংরক্ষণ করা হয়, তাকে এনটিটি (Entity) বলা হয়। যেমন—'Student' টেবিলটিতে ছাত্র হলো একটি এনটিটি।


১৬. কর্পোরেট ডেটাবেজের বৈশিষ্ট্য হলো—
i. বিশাল পরিমাণ ডেটা ধারণ ক্ষমতা
ii. বহু ব্যবহারকারী বা মাল্টি-ইউজার সমর্থন
iii. শুধুমাত্র একজন ব্যবহারকারী

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

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

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

ব্যাখ্যা: কর্পোরেট ডেটাবেজ সাধারণত বড় প্রতিষ্ঠানের জন্য ব্যবহৃত হয়, যেখানে বিশাল পরিমাণ ডেটা থাকে এবং একই সময়ে অনেক ব্যবহারকারী (Multi-user) তা ব্যবহার করতে পারে। একক ব্যবহারকারী এর বৈশিষ্ট্য নয়।


১৭. প্রাইমারি কি (Primary Key) নির্বাচনের শর্ত হলো—
i. ফিল্ডের মান অদ্বিতীয় হতে হবে
ii. ফিল্ডের মান নাল (Null) হতে পারবে না
iii. ফিল্ডের মান পরিবর্তনশীল হতে হবে

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

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

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

ব্যাখ্যা: প্রাইমারি কি অবশ্যই ইউনিক বা অদ্বিতীয় হতে হবে এবং এটি কখনই ফাঁকা বা নাল রাখা যাবে না। তবে এর মান পরিবর্তনশীল হওয়া বাঞ্ছনীয় নয়, বরং স্থির থাকাই শ্রেয়।


১৮. ডেটাবেজ অ্যাডমিনিস্ট্রেটর (DBA) এর কাজ হলো—
i. ডেটাবেজ ডিজাইন ও তৈরি করা
ii. ব্যবহারকারীদের নিয়ন্ত্রণ ও নিরাপত্তা নিশ্চিত করা
iii. ডেটা এন্ট্রি করা বা টাইপ করা

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

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

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

ব্যাখ্যা: DBA বা ডেটাবেজ অ্যাডমিনিস্ট্রেটর ডেটাবেজ ডিজাইন, তৈরি, রক্ষণাবেক্ষণ এবং নিরাপত্তা নিশ্চিত করেন। ডেটা এন্ট্রি বা টাইপ করা সাধারণত সাধারণ ব্যবহারকারী বা ডেটা এন্ট্রি অপারেটরের কাজ, DBA-এর প্রধান কাজ নয়।


১৯. SQL-এ ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ (DML) এর কমান্ডগুলো হলো—
i. INSERT
ii. DELETE
iii. UPDATE

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

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

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

ব্যাখ্যা: ডেটাবেজের টেবিলে ডেটা প্রবেশ করানো (INSERT), ডেটা মুছে ফেলা (DELETE) এবং ডেটা পরিবর্তন বা আপডেট করা (UPDATE)—এগুলো সবই ডেটা ম্যানিপুলেশন বা DML এর কাজ।


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

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

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

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

ব্যাখ্যা: রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে প্রধানত তিন ধরণের রিলেশনশিপ দেখা যায়: ওয়ান-টু-ওয়ান (১:১), ওয়ান-টু-মেনি (১:M) এবং মেনি-টু-মেনি (M:M)।


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

'ABC' কলেজ তাদের লাইব্রেরি ব্যবস্থাপনার জন্য একটি ডেটাবেজ সফটওয়্যার তৈরি করল। সেখানে 'Books' এবং 'Members' নামে দুটি টেবিল আছে। লাইব্রেরিয়ান চাইলেন, কোনো সদস্য বই নিলে তা যেন সফটওয়্যারে এন্ট্রি থাকে এবং এক সদস্য একাধিক বই নিতে পারে।

২১. উদ্দীপকের 'Books' এবং 'Members' টেবিলের মধ্যে কোন ধরনের রিলেশনশিপ স্থাপন করা উচিত?

ক) One-to-One
খ) One-to-Many
গ) Many-to-Many
ঘ) None of these

সঠিক উত্তর: গ) Many-to-Many

ব্যাখ্যা: একজন সদস্য (Member) একাধিক বই (Book) নিতে পারেন, আবার একটি বই (কপি ভেদে) একাধিক সদস্যের দ্বারা পঠিত হতে পারে বা লাইব্রেরিতে একই বইয়ের একাধিক কপি থাকতে পারে। সাধারণত লাইব্রেরি সিস্টেমে বই এবং সদস্যের সম্পর্ক মেনি-টু-মেনি (Many-to-Many) হয়। তবে যদি বলা হয় 'একটি নির্দিষ্ট বই', তবে একজন সদস্য অনেক বই নিতে পারেন (One-to-Many)। কিন্তু উদ্দীপকে "এক সদস্য একাধিক বই নিতে পারে" এবং বাস্তবে লাইব্রেরিতে অনেক সদস্য অনেক বই নেয়, তাই এটি Many-to-Many রিলেশনশিপ।


২২. উদ্দীপকের সফটওয়্যারটিতে ডেটা ইনপুট দেওয়ার সময় ভুল এড়াতে কী ব্যবহার করা যেতে পারে?

ক) ইনপুট ভ্যালিডেশন (Input Validation)
খ) ডেটা এনক্রিপশন
গ) ডেটা সর্টিং
ঘ) কুয়েরি

সঠিক উত্তর: ক) ইনপুট ভ্যালিডেশন (Input Validation)

ব্যাখ্যা: ডেটা এন্ট্রির সময় ভুল রোধ করতে ইনপুট ভ্যালিডেশন ব্যবহার করা হয়। এটি নিশ্চিত করে যে ইনপুটকৃত ডেটা সঠিক ফরম্যাটে এবং নির্দিষ্ট সীমার মধ্যে আছে কিনা।


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

'XYZ' ব্যাংক তাদের গ্রাহকদের তথ্যের জন্য 'Customer' টেবিল এবং লেনদেনের জন্য 'Transaction' টেবিল ব্যবহার করে। 'Customer' টেবিলে 'Acc_No' ফিল্ডটি প্রাইমারি কি। 'Transaction' টেবিলেও 'Acc_No' ফিল্ডটি আছে এবং এটি 'Customer' টেবিলের সাথে সম্পর্কিত।

২৩. 'Transaction' টেবিলে 'Acc_No' ফিল্ডটিকে কী বলা হবে?

ক) প্রাইমারি কি
খ) কম্পোজিট কি
গ) ফরেইন কি (Foreign Key)
ঘ) ক্যান্ডিডেট কি

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

ব্যাখ্যা: 'Customer' টেবিলের প্রাইমারি কি 'Acc_No' যখন 'Transaction' টেবিলে ব্যবহৃত হয়ে রিলেশন তৈরি করে, তখন 'Transaction' টেবিলে সেটিকে ফরেইন কি বলা হয়।


২৪. ব্যাংকটি যদি চায় যে 'Customer' টেবিল থেকে কোনো গ্রাহককে ডিলিট করলে তার সব ট্রানজেকশনও মুছে যাবে, তবে কোন বৈশিষ্ট্যটি সেট করতে হবে?

ক) Cascade Update
খ) Cascade Delete
গ) Data Hiding
ঘ) Data Sorting

সঠিক উত্তর: খ) Cascade Delete

ব্যাখ্যা: Referential Integrity-এর 'Cascade Delete' অপশন চালু থাকলে প্যারেন্ট টেবিল (Customer) থেকে কোনো রেকর্ড মুছলে চাইল্ড টেবিল (Transaction) থেকে সংশ্লিষ্ট সকল রেকর্ড স্বয়ংক্রিয়ভাবে মুছে যায়।


২৫. উদ্দীপকের সিস্টেমে 'Customer' এবং 'Transaction' টেবিলের মধ্যে কোন ধরনের রিলেশন বিদ্যমান?

ক) One-to-One
খ) One-to-Many
গ) Many-to-Many
ঘ) Many-to-One

সঠিক উত্তর: খ) One-to-Many

ব্যাখ্যা: একজন গ্রাহকের (One Customer) একাধিক লেনদেন (Many Transactions) থাকতে পারে। তাই 'Customer' এবং 'Transaction' টেবিলের মধ্যে ওয়ান-টু-মেনি (1:M) সম্পর্ক বিদ্যমান।