ডেটাবেস ম্যানেজমেন্ট সিস্টেম হলো পরস্পর সম্পর্কযুক্ত তথ্য সংরক্ষণ, পরিচালনা ও নিয়ন্ত্রণের জন্য ব্যবহৃত সফটওয়্যার। এই অধ্যায়ে তুমি শিখবে ডেটাবেস কী, DBMS কীভাবে কাজ করে, প্রাইমারি কী আর ফরেন কী-এর পার্থক্য, টেবিলের মধ্যে রিলেশন কেমন হয়, আর SQL কমান্ড দিয়ে টেবিল তৈরি ও তথ্য খোঁজার নিয়ম।
আমার অভিজ্ঞতায় এই অধ্যায়টা ছাত্রদের কাছে প্রথমে একটু শুকনো লাগে। কারণ এখানে কোনো গল্প নেই, শুধু সংজ্ঞা আর টেবিল। কিন্তু একবার যদি তুমি নিজের স্কুলের হাজিরা খাতাটাকে একটা ডেটাবেস ভেবে দেখো, তাহলে পুরো ব্যাপারটা চোখের সামনে পরিষ্কার হয়ে যাবে। হাজিরা খাতায় প্রতিটা ছাত্রের নাম, রোল, শ্রেণি আলাদা ঘরে লেখা থাকে। ডেটাবেসও ঠিক সেই কাজটাই করে, শুধু খাতার বদলে কম্পিউটারে, আর অনেক বেশি গোছানোভাবে। এই পোস্টে আমি অধ্যায়টা সেইভাবেই সাজিয়েছি — সংজ্ঞা মুখস্থ করার আগে ধারণাটা বোঝো, তারপর পরীক্ষার প্রশ্নগুলো নিজেই সহজ লাগবে।
ডেটাবেস কী? ডেটা আর তথ্যের পার্থক্য কোথায়?
ডেটাবেস হলো সুশৃঙ্খলভাবে সাজানো পরস্পর সম্পর্কযুক্ত ডেটার সংগ্রহ, যা কম্পিউটারে সংরক্ষণ করা হয় এবং প্রয়োজনে খুঁজে বের করা যায়। সহজ করে বললে, অনেকগুলো তথ্য যখন এমনভাবে গুছিয়ে রাখা হয় যে যেকোনো একটা তথ্য মুহূর্তে খুঁজে পাওয়া যায়, তখন সেটাই ডেটাবেস।
এখানে একটা ভুল প্রায় সবাই করে — ডেটা আর তথ্যকে এক মনে করে। আসলে দুটো আলাদা। ডেটা হলো কাঁচামাল, আর তথ্য হলো সেই কাঁচামাল প্রক্রিয়াজাত করার পর পাওয়া অর্থবহ ফল। একটা উদাহরণ দেখো। একজন ছাত্রের প্রতিটা বিষয়ে পাওয়া নম্বর আলাদা আলাদাভাবে ডেটা। আর সব বিষয়ের নম্বর যোগ করে বানানো রেজাল্ট কার্ড হলো তথ্য। ডেটা ছাড়া তথ্য হয় না, কিন্তু ডেটা মানেই তথ্য নয়।
| বিষয় | ডেটা | তথ্য |
|---|---|---|
| সংজ্ঞা | প্রক্রিয়াকরণের আগে কাঁচামাল | প্রক্রিয়াকরণের পর অর্থবহ ফল |
| ব্যবহার | সরাসরি সিদ্ধান্ত নেওয়া যায় না | সরাসরি সিদ্ধান্ত নেওয়া যায় |
| উদাহরণ | প্রতিটা বিষয়ের আলাদা নম্বর | সব বিষয় মিলিয়ে তৈরি রেজাল্ট |
| নির্ভরতা | তথ্যের ভিত্তি | ডেটার উপর নির্ভরশীল |
পরীক্ষায় এই পার্থক্যটা অনুধাবনমূলক প্রশ্ন হিসেবে আসে। শুধু সংজ্ঞা লিখে থেমো না — একটা করে উদাহরণ যোগ করো। খাতা দেখার সময় শিক্ষক উদাহরণ দেখলেই বোঝেন যে তুমি বিষয়টা সত্যিই বুঝেছো, মুখস্থ করোনি।
ডেটাবেসের মূল উপাদান: ফিল্ড, রেকর্ড আর ফাইল
ডেটাবেসের গঠন বুঝতে তিনটা শব্দ মাথায় রাখতে হয় — ফিল্ড, রেকর্ড আর ফাইল। একটা ছাত্রের তথ্যের টেবিল কল্পনা করো। টেবিলের প্রতিটা কলাম, যেমন রোল নম্বর বা নাম, একেকটা ফিল্ড। একটা ছাত্রের পুরো সারি, মানে তার সব ফিল্ড মিলিয়ে, একটা রেকর্ড। আর অনেকগুলো রেকর্ড মিলে তৈরি হয় ফাইল বা টেবিল।
এই তিনটার ক্রম মনে রাখার সহজ কৌশল হলো ছোট থেকে বড় সাজানো: বিট, বাইট, ফিল্ড, রেকর্ড, ফাইল, ডেটাবেস। পরীক্ষায় ডেটা হায়ারার্কি নিয়ে প্রশ্ন এলে এই ক্রমটাই চায়। আমি নিজে পড়ার সময় এটাকে সিঁড়ির ধাপ ভাবতাম — এক ধাপ ভুল হলেই পুরো সিঁড়িটা এলোমেলো হয়ে যায়।
- বিট: ডেটার ক্ষুদ্রতম একক, ০ অথবা ১।
- বাইট: আটটা বিট মিলে এক বাইট, যা একটা অক্ষর ধারণ করে।
- ফিল্ড: টেবিলের একটা কলাম, যেমন নাম বা জন্মতারিখ।
- রেকর্ড: একটা সত্তার সব ফিল্ড মিলিয়ে একটা সারি।
- ফাইল: একই ধরনের অনেকগুলো রেকর্ডের সংগ্রহ।
- ডেটাবেস: পরস্পর সম্পর্কযুক্ত অনেকগুলো ফাইলের সংগ্রহ।
DBMS কী এবং এটি কী কাজ করে?
ডেটাবেস ম্যানেজমেন্ট সিস্টেম, সংক্ষেপে DBMS, হলো এমন একগুচ্ছ প্রোগ্রাম যার মাধ্যমে ডেটাবেস তৈরি করা, তথ্য সংরক্ষণ করা, পরিবর্তন করা, নিয়ন্ত্রণ করা ও পরিচালনা করা যায়। DBMS ডেটাবেস আর ব্যবহারকারীর মাঝখানে মধ্যস্থতাকারীর মতো কাজ করে। তুমি সরাসরি ফাইলে হাত দাও না — তুমি DBMS-কে বলো কী চাও, আর DBMS সেই কাজটা করে দেয়।
DBMS-এর প্রধান কাজগুলো মনে রাখো। প্রথমত, ডেটাবেস তৈরি ও টেবিল সংজ্ঞায়িত করা। দ্বিতীয়ত, নতুন রেকর্ড যোগ করা, পুরনো রেকর্ড মুছে ফেলা বা বদলানো। তৃতীয়ত, তথ্য খোঁজা ও সাজানো। চতুর্থত, তথ্যের নিরাপত্তা রক্ষা করা — কে কোন তথ্য দেখতে পারবে, তা ঠিক করা। আর পঞ্চমত, একই সময়ে অনেক ব্যবহারকারী কাজ করলেও তথ্য যাতে এলোমেলো না হয়, সেটা দেখা।
DBMS ব্যবহারের সুবিধা অনেক। একই তথ্য বারবার লিখতে হয় না, তাই তথ্যের পুনরাবৃত্তি কমে। তথ্য ভুল হওয়ার আশঙ্কা কমে, কারণ এক জায়গায় বদলালেই সব জায়গায় ঠিক হয়ে যায়। তথ্য খুঁজে পাওয়া দ্রুত হয়, আর নিরাপত্তা বাড়ে। তবে অসুবিধাও আছে — DBMS জটিল সফটওয়্যার, শুরুতে খরচ বেশি, আর এটা চালাতে প্রশিক্ষিত লোক লাগে। পরীক্ষায় সুবিধা-অসুবিধা দুটোই চাইতে পারে, তাই দুটো দিকই পড়ে রেখো।
DBMS-এর ব্যবহার কোথায় কোথায়?
তোমার চারপাশে তাকালেই DBMS-এর ব্যবহার চোখে পড়বে। ব্যাংকে প্রতিটা গ্রাহকের হিসাব, হাসপাতালে রোগীর রেকর্ড, স্কুলে ছাত্রদের তথ্য, রেলের টিকিট বুকিং, মোবাইল কোম্পানির গ্রাহক তালিকা — সবই ডেটাবেস দিয়ে চলে। সৃজনশীল প্রশ্নে উদ্দীপক হিসেবে প্রায়ই স্কুলের ছাত্র তথ্য, হাসপাতালের রোগী তথ্য বা লাইব্রেরির বইয়ের তথ্য দেওয়া হয়। উদ্দীপক পড়ার সময় প্রথমেই চিহ্নিত করো — এখানে টেবিল কয়টা, আর কোন ফিল্ড দিয়ে টেবিলগুলো যুক্ত।
ডেটাবেস কত ধরনের হয়?
ডেটাবেসকে কয়েকভাবে ভাগ করা যায়। পরীক্ষার জন্য প্রধান ভাগগুলো জেনে রাখলেই হবে। কেন্দ্রীয় ডেটাবেসে সব তথ্য একটা জায়গায় থাকে। বিতরণকৃত ডেটাবেসে তথ্য বিভিন্ন জায়গায় ছড়িয়ে থাকে, কিন্তু নেটওয়ার্কের মাধ্যমে যুক্ত থাকে। ক্লায়েন্ট-সার্ভার ডেটাবেসে কেন্দ্রীয় সার্ভারে তথ্য থাকে, আর ব্যবহারকারীরা নেটওয়ার্ক দিয়ে সেটা ব্যবহার করে। ওয়েব-ভিত্তিক ডেটাবেসে ইন্টারনেটের মাধ্যমে যেকোনো জায়গা থেকে তথ্য দেখা যায় — যেমন তোমার অনলাইন রেজাল্ট দেখার সিস্টেম।
আরেকটা গুরুত্বপূর্ণ ভাগ হলো রিলেশনাল ডেটাবেস, সংক্ষেপে RDBMS। এখানে তথ্য অনেকগুলো টেবিলে থাকে, আর টেবিলগুলো পরস্পর সম্পর্কযুক্ত। এই অধ্যায়ের বেশিরভাগ প্রশ্নই RDBMS নিয়েই। কারণ RDBMS-ই সবচেয়ে বেশি ব্যবহৃত হয়, আর এর ধারণাগুলো — কী, রিলেশন, SQL — পরীক্ষায় বারবার আসে।
ডেটাবেসের কী: প্রাইমারি, ফরেন আর কম্পোজিট কী কী?
এই অংশটা পুরো অধ্যায়ের হৃদপিণ্ড। কী বুঝতে না পারলে রিলেশন আর SQL কিছুই বোঝা যাবে না। কী হলো টেবিলের এমন একটা ফিল্ড বা কয়েকটা ফিল্ডের সমষ্টি, যার মাধ্যমে প্রতিটা রেকর্ডকে আলাদাভাবে চেনা যায়। ছাত্রদের টেবিলে রোল নম্বর একটা কী, কারণ দুজন ছাত্রের রোল নম্বর কখনো এক হয় না।
প্রাইমারি কী হলো সেই ফিল্ড, যার মান দিয়ে প্রতিটা রেকর্ডকে এককভাবে শনাক্ত করা যায়। প্রাইমারি কী-এর মান কখনো ফাঁকা থাকতে পারে না, আর কখনো দুটো রেকর্ডে এক হতে পারে না। রোল নম্বর, জাতীয় পরিচয়পত্র নম্বর, মোবাইল নম্বর — এগুলো প্রাইমারি কী হওয়ার উপযুক্ত।
ফরেন কী হলো এক টেবিলের প্রাইমারি কী, যখন সেটা অন্য টেবিলে সাধারণ ফিল্ড হিসেবে ব্যবহৃত হয়। ধরো, ছাত্র টেবিলের প্রাইমারি কী রোল নম্বর। আর নম্বর টেবিলে যদি রোল নম্বর ফিল্ড থাকে, তাহলে নম্বর টেবিলের জন্য রোল নম্বর হলো ফরেন কী। এই ফরেন কী-ই দুটো টেবিলের মধ্যে সেতু তৈরি করে।
কম্পোজিট প্রাইমারি কী তৈরি হয় যখন একটা ফিল্ড দিয়ে রেকর্ড আলাদা করা যায় না, কিন্তু দুই বা ততোধিক ফিল্ড একসাথে মিলে আলাদা করা যায়। যেমন, শুধু বিষয়ের নাম দিয়ে একটা পরীক্ষার রেকর্ড চেনা যাবে না, কারণ একই বিষয়ে অনেক ছাত্র পরীক্ষা দেয়। কিন্তু রোল নম্বর আর বিষয়ের কোড একসাথে নিলে প্রতিটা রেকর্ড আলাদা হয়ে যায়।
| কী-এর নাম | কাজ | উদাহরণ |
|---|---|---|
| প্রাইমারি কী | রেকর্ডকে এককভাবে শনাক্ত করে | ছাত্র টেবিলে রোল নম্বর |
| ফরেন কী | দুটো টেবিল যুক্ত করে | নম্বর টেবিলে রোল নম্বর |
| কম্পোজিট কী | কয়েকটা ফিল্ড মিলে শনাক্ত করে | রোল নম্বর + বিষয় কোড |
| ক্যান্ডিডেট কী | প্রাইমারি কী হওয়ার যোগ্য ফিল্ড | রোল, মোবাইল, ইমেইল — সবাই প্রার্থী |
| অল্টারনেট কী | প্রাইমারি কী না হওয়া ক্যান্ডিডেট কী | প্রাইমারি রোল হলে মোবাইল অল্টারনেট |
| সেকেন্ডারি কী | তথ্য খোঁজার জন্য ব্যবহৃত সাধারণ ফিল্ড | শ্রেণি বা বিভাগ দিয়ে খোঁজা |
এখানে একটা ভুলের কথা বলে রাখি, কারণ আমি দেখেছি অনেক ভালো ছাত্রও এখানে নম্বর হারায়। প্রাইমারি কী আর ফরেন কী-এর নাম দেখে অনেকে ভাবে ফরেন কী বুঝি কম গুরুত্বপূর্ণ। আসলে ফরেন কী ছাড়া দুটো টেবিলের মধ্যে কোনো সম্পর্কই তৈরি হয় না। আর রিলেশন তৈরি হয়ে গেলে প্রাইমারি কী আর বদলানো যায় না, কারণ বদলালে যুক্ত টেবিলগুলোতে সব তথ্য এলোমেলো হয়ে যাবে। এই যুক্তিটা অনুধাবনমূলক প্রশ্নের উত্তর লেখার সময় কাজে লাগবে।
ডেটাবেস রিলেশন: এক-এক, এক-অনেক, অনেক-অনেক
দুটো টেবিলের মধ্যে সম্পর্ককে রিলেশন বলে। রিলেশন তিন ধরনের। এক-থেকে-এক রিলেশনে এক টেবিলের একটা রেকর্ড অন্য টেবিলের ঠিক একটা রেকর্ডের সাথে যুক্ত থাকে। যেমন, একজন ছাত্রের একটাই স্বাস্থ্য রেকর্ড। এক-থেকে-অনেক রিলেশনে এক টেবিলের একটা রেকর্ড অন্য টেবিলের অনেকগুলো রেকর্ডের সাথে যুক্ত। যেমন, একজন শিক্ষকের অনেকজন ছাত্র। অনেক-থেকে-অনেক রিলেশনে দুই দিকেই অনেক রেকর্ড যুক্ত থাকে। যেমন, একজন ছাত্র অনেকগুলো বিষয় পড়ে, আবার একটা বিষয়ও অনেক ছাত্র পড়ে।
পরীক্ষায় রিলেশন বের করার সহজ কৌশল হলো প্রশ্ন করা — এই টেবিলের একটা রেকর্ডের জন্য অন্য টেবিলে কয়টা রেকর্ড থাকতে পারে? উত্তর যদি একটা হয়, তাহলে এক-থেকে-এক। অনেকগুলো হলে এক-থেকে-অনেক। দুই দিকেই অনেক হলে অনেক-থেকে-অনেক। অনেক-থেকে-অনেক রিলেশন সরাসরি বাস্তবায়ন করা যায় না, এর জন্য মাঝখানে একটা তৃতীয় টেবিল লাগে, যাকে জাংশন টেবিল বলে।
| রিলেশন | উদাহরণ | মনে রাখার উপায় |
|---|---|---|
| এক-থেকে-এক | একজন ছাত্র — একটা হাজিরা কার্ড | একজন, একটাই |
| এক-থেকে-অনেক | একজন শিক্ষক — অনেক ছাত্র | একজন, অনেকজন |
| অনেক-থেকে-অনেক | অনেক ছাত্র — অনেক বিষয় | দুই দিকেই অনেক |
ডেটা টাইপ: কোন ফিল্ডে কী ধরনের তথ্য থাকবে?
টেবিল বানানোর সময় প্রতিটা ফিল্ডের জন্য বলে দিতে হয় সেখানে কী ধরনের তথ্য থাকবে। এটাই ডেটা টাইপ। ভুল ডেটা টাইপ দিলে তথ্য ঠিকভাবে সংরক্ষণ হবে না। যেমন, নম্বরের ফিল্ডে যদি টেক্সট টাইপ দাও, তাহলে নম্বর যোগ করা যাবে না।
| ডেটা টাইপ | কী রাখা যায় | উদাহরণ |
|---|---|---|
| Text | বর্ণ, সংখ্যা ও চিহ্ন মেশানো লেখা | নাম, ঠিকানা |
| Number | গাণিতিক হিসাবের সংখ্যা | নম্বর, বয়স, বেতন |
| Date/Time | তারিখ ও সময় | জন্মতারিখ, ভর্তির তারিখ |
| Currency | টাকার অঙ্ক | বেতন, ফি |
| AutoNumber | স্বয়ংক্রিয়ভাবে বাড়তে থাকা নম্বর | ক্রমিক নম্বর |
| Yes/No | হ্যাঁ অথবা না | উপস্থিত বা অনুপস্থিত |
| Memo | বড় লেখা, মন্তব্য | মন্তব্য বা বিবরণ |
| OLE Object | ছবি, অডিও, ভিডিও | ছাত্রের ছবি |
| Hyperlink | ওয়েব ঠিকানা বা ইমেইল | ওয়েবসাইট লিংক |
| Lookup Wizard | আগে থেকে দেওয়া তালিকা থেকে বাছাই | বিভাগের তালিকা |
এই তালিকাটা মুখস্থ করার সময় একটা কাজ করো — প্রতিটা টাইপের পাশে নিজের জীবন থেকে একটা উদাহরণ লেখো। যেমন, তোমার জন্মতারিখ Date/Time, তোমার ছবি OLE Object। নিজের উদাহরণ মনে থাকে, বইয়ের উদাহরণ ভুলে যায়।
ডেটা ভ্যালিডেশন, ইনডেক্সিং আর সর্টিং
ডেটাবেসে ভুল তথ্য ঢুকলে পুরো সিস্টেমের উপর ভরসা নষ্ট হয়। তাই তথ্য ঢোকানোর সময় যাচাই করা হয়, একে ডেটা ভ্যালিডেশন বলে। যেমন, নম্বরের ফিল্ডে ০ থেকে ১০০-এর বাইরে কোনো সংখ্যা দেওয়া যাবে না, এমন নিয়ম বেঁধে দেওয়া যায়। ভ্যালিডেশন থাকলে ভুল তথ্য ঢুকতেই পারে না।
ইনডেক্সিং হলো তথ্য খোঁজা দ্রুত করার কৌশল। বইয়ের শেষে থাকা সূচিপত্রের মতো — সূচিপত্র দেখে পৃষ্ঠা খুঁজতে সময় কম লাগে, তেমনি ইনডেক্স থাকলে ডেটাবেস থেকে তথ্য খুঁজতে সময় কম লাগে। সর্টিং হলো তথ্যকে নির্দিষ্ট ক্রমে সাজানো, যেমন রোল নম্বর অনুসারে ছোট থেকে বড়, অথবা নামের বর্ণমালা অনুসারে সাজানো। প্রাইমারি কী-এর উপর স্বয়ংক্রিয়ভাবে ইনডেক্স তৈরি হয়, এটা মনে রেখো।
কুয়েরি, ফর্ম আর রিপোর্ট কী?
ডেটাবেস থেকে নির্দিষ্ট শর্তে তথ্য খুঁজে বের করার পদ্ধতিকে কুয়েরি বলে। যেমন, যে ছাত্ররা গণিতে ৮০-এর বেশি পেয়েছে, তাদের তালিকা বের করা একটা কুয়েরি। ফর্ম হলো তথ্য ঢোকানো, দেখা ও বদলানোর সহজ পর্দা — সরাসরি টেবিলে না গিয়ে ফর্মের মাধ্যমে কাজ করা যায়। রিপোর্ট হলো তথ্যকে সুন্দরভাবে সাজিয়ে ছাপানোর উপযোগী রূপ, যেমন রেজাল্ট কার্ড বা বেতন স্লিপ। পরীক্ষায় এই তিনটার সংজ্ঞা ঘুরিয়ে-ফিরিয়ে আসে, তাই প্রতিটার এক লাইনের সংজ্ঞা আর একটা করে উদাহরণ মুখস্থ রাখো।
SQL: ডেটাবেসের ভাষা — CREATE, INSERT, SELECT, UPDATE, DELETE
SQL-এর পূর্ণরূপ স্ট্রাকচার্ড কুয়েরি ল্যাঙ্গুয়েজ। এটা ডেটাবেসের সাথে কথা বলার ভাষা। SQL কমান্ডকে তিন ভাগে ভাগ করা যায়। DDL বা ডেটা ডেফিনিশন ল্যাঙ্গুয়েজ দিয়ে টেবিলের কাঠামো তৈরি, বদলানো বা মোছা হয়। DML বা ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ দিয়ে তথ্য ঢোকানো, বদলানো, মোছা ও খোঁজা হয়। DCL দিয়ে ব্যবহারকারীর অধিকার নিয়ন্ত্রণ করা হয়। পরীক্ষায় প্রায়ই জানতে চাওয়া হয় কোন কমান্ড কোন ভাগে পড়ে, তাই এই ভাগটা গুলিয়ে ফেলো না।
এবার একটা ছাত্র টেবিল দিয়ে কমান্ডগুলো দেখো। ধরে নাও টেবিলের নাম STUDENT, আর ফিল্ডগুলো হলো Roll, Name আর Marks।
টেবিল তৈরি: CREATE TABLE STUDENT (Roll Number(10), Name Text(50), Marks Number); — এই কমান্ড নতুন টেবিল বানায়, আর বলে দেয় কোন ফিল্ডে কী ধরনের তথ্য থাকবে।
তথ্য ঢোকানো: INSERT INTO STUDENT VALUES (101, ‘Rahim’, 85); — এই কমান্ড টেবিলে নতুন একটা রেকর্ড যোগ করে।
তথ্য খোঁজা: SELECT Name, Marks FROM STUDENT WHERE Marks > 80; — এই কমান্ড ৮০-এর বেশি নম্বর পাওয়া ছাত্রদের নাম আর নম্বর দেখাবে। WHERE দিয়ে শর্ত দেওয়া হয়।
তথ্য বদলানো: UPDATE STUDENT SET Marks = 90 WHERE Roll = 101; — এই কমান্ড রোল ১০১-এর নম্বর ৯০ করে দেবে।
তথ্য মোছা: DELETE FROM STUDENT WHERE Roll = 101; — এই কমান্ড ওই রেকর্ড মুছে দেবে।
আরও দুটো কাজের কমান্ড জেনে রাখো। ORDER BY দিয়ে ফলাফল সাজানো যায়, যেমন ORDER BY Marks DESC দিলে বেশি নম্বর আগে আসবে। আর DISTINCT দিয়ে পুনরাবৃত্তি বাদ দেওয়া যায়। SQL লেখার সময় একটা সতর্কতা — WHERE ভুলে গেলে UPDATE বা DELETE পুরো টেবিলের সব রেকর্ড বদলে বা মুছে দেবে। আমি যখন প্রথম SQL শিখছিলাম, তখন এই ভুলটা নিয়ে সতর্ক করে দেওয়া হয়েছিল, আর সেটা আজও মনে আছে। পরীক্ষায় এই সতর্কতার কথা লিখলে উত্তরটা অন্যদের থেকে আলাদা দেখাবে।
| কমান্ড | ভাগ | কাজ |
|---|---|---|
| CREATE TABLE | DDL | নতুন টেবিল বানানো |
| ALTER TABLE | DDL | টেবিলের কাঠামো বদলানো |
| DROP TABLE | DDL | টেবিল মুছে ফেলা |
| INSERT | DML | নতুন রেকর্ড যোগ করা |
| SELECT | DML | তথ্য খোঁজা ও দেখানো |
| UPDATE | DML | তথ্য বদলানো |
| DELETE | DML | রেকর্ড মুছে ফেলা |
| GRANT / REVOKE | DCL | অধিকার দেওয়া বা কেড়ে নেওয়া |
সৃজনশীল প্রশ্ন সমাধান: উদ্দীপক পড়ে উত্তর লেখার কৌশল
এই অধ্যায়ের সৃজনশীল প্রশ্নে সাধারণত একটা উদ্দীপক দেওয়া থাকে — কোনো স্কুল, হাসপাতাল বা দোকানের তথ্য ব্যবস্থাপনার গল্প। তারপর ক, খ, গ, ঘ প্রশ্ন থাকে। ক নম্বর জ্ঞানমূলক, মানে সরাসরি সংজ্ঞা। খ নম্বর অনুধাবনমূলক, মানে সংজ্ঞার সাথে ব্যাখ্যা আর উদাহরণ। গ নম্বর প্রয়োগমূলক, মানে উদ্দীপকের তথ্য ব্যবহার করে কিছু বানাতে বা চিহ্নিত করতে হয়। ঘ নম্বর উচ্চতর চিন্তন, মানে যুক্তি দিয়ে মতামত দিতে হয়।
একটা উদাহরণ দেখো। ধরে নাও উদ্দীপকে বলা হলো, একটি বিদ্যালয়ে ছাত্রদের তথ্য দুটো টেবিলে রাখা হয় — STUDENT টেবিলে রোল, নাম, শ্রেণি আর RESULT টেবিলে রোল, বিষয়, নম্বর। প্রশ্ন: গ) উদ্দীপকের টেবিল দুটির মধ্যে কোন ধরনের রিলেশন তৈরি হবে, ব্যাখ্যা করো। উত্তর: এখানে এক-থেকে-অনেক রিলেশন হবে। কারণ একজন ছাত্রের রেকর্ড STUDENT টেবিলে একটাই, কিন্তু RESULT টেবিলে তার অনেকগুলো বিষয়ের নম্বর থাকতে পারে। দুটো টেবিল রোল নম্বর ফিল্ড দিয়ে যুক্ত হবে — STUDENT টেবিলে রোল প্রাইমারি কী, RESULT টেবিলে রোল ফরেন কী।
আর ঘ নম্বর প্রশ্ন হতে পারে: এই ব্যবস্থায় ডেটাবেস ব্যবহারের সুবিধা মূল্যায়ন করো। উত্তরে লিখতে হবে — একই তথ্য বারবার লিখতে হয় না, রোল বদলালে বা নম্বর বদলালে এক জায়গায় বদলালেই হবে, যেকোনো ছাত্রের পুরো রেজাল্ট মুহূর্তে বের করা যাবে, আর তথ্য ভুল হওয়ার আশঙ্কা কমবে। তবে খরচ আর প্রশিক্ষণের কথাটাও এক লাইনে যোগ করলে মূল্যায়নটা ভারসাম্যপূর্ণ হবে। ঘ নম্বরে শুধু সুবিধা লিখলে অর্ধেক নম্বর মেলে, পক্ষে-বিপক্ষে দুটো দিক দেখালে পুরো নম্বর মেলে।
MCQ প্রস্তুতি: ১৫টি গুরুত্বপূর্ণ বহুনির্বাচনি প্রশ্ন
এই অধ্যায় থেকে MCQ-তে প্রায়ই সংজ্ঞা, কী-এর প্রকারভেদ আর SQL কমান্ড থেকে প্রশ্ন আসে। নিচের ১৫টা প্রশ্ন নিজে চেষ্টা করো, তারপর উত্তর মিলিয়ে দেখো।
- DBMS-এর পূর্ণরূপ কী? — Database Management System
- ডেটাবেজের ক্ষুদ্রতম একক কোনটি? — বিট
- টেবিলের কলামকে কী বলে? — ফিল্ড
- প্রাইমারি কী-এর মান কেমন হতে পারে না? — ফাঁকা বা পুনরাবৃত্ত
- দুটো টেবিল যুক্ত করতে কোন কী ব্যবহৃত হয়? — ফরেন কী
- একজন শিক্ষক ও অনেক ছাত্রের মধ্যে কোন রিলেশন? — এক-থেকে-অনেক
- অনেক-থেকে-অনেক রিলেশন বাস্তবায়নে কী লাগে? — জাংশন টেবিল
- কোন ডেটা টাইপে ছবি রাখা যায়? — OLE Object
- স্বয়ংক্রিয় ক্রমিক নম্বরের জন্য কোন টাইপ? — AutoNumber
- তথ্য খোঁজার পদ্ধতিকে কী বলে? — কুয়েরি
- টেবিল তৈরির SQL কমান্ড কোনটি? — CREATE TABLE
- তথ্য বদলানোর SQL কমান্ড কোনটি? — UPDATE
- SELECT কমান্ড কোন ভাগে পড়ে? — DML
- GRANT কমান্ড কোন ভাগে পড়ে? — DCL
- প্রাইমারি কী-এর উপর কী স্বয়ংক্রিয়ভাবে তৈরি হয়? — ইনডেক্স
পরীক্ষার হলে মনে রাখার চেকলিস্ট
পরীক্ষার আগে এই তালিকাটা একবার চোখ বুলিয়ে যাও। প্রথমত, ডেটা বনাম তথ্যের পার্থক্য উদাহরণসহ। দ্বিতীয়ত, ফিল্ড-রেকর্ড-ফাইলের ক্রম। তৃতীয়ত, DBMS-এর কাজ ও সুবিধা-অসুবিধা। চতুর্থত, ছয় ধরনের কী আর তাদের উদাহরণ। পঞ্চমত, তিন ধরনের রিলেশন আর জাংশন টেবিল। ষষ্ঠত, দশটা ডেটা টাইপ। সপ্তমত, কুয়েরি, ফর্ম, রিপোর্টের সংজ্ঞা। অষ্টমত, SQL-এর আটটা কমান্ড আর তাদের ভাগ। এই আটটা বিষয় পাকা থাকলে এই অধ্যায় থেকে আসা যেকোনো প্রশ্নের উত্তর লেখা যাবে।
সবচেয়ে বড় ভুলটা হলো সংজ্ঞা মুখস্থ করে পরীক্ষার হলে যাওয়া, কিন্তু উদ্দীপক দেখে চিনতে না পারা। তাই পড়ার সময় প্রতিটা সংজ্ঞার পাশে একটা করে বাস্তব উদাহরণ লিখে রাখো। উদ্দীপক পড়ার সময় প্রথমে টেবিলগুলো চিহ্নিত করো, তারপর কোন ফিল্ড প্রাইমারি কী আর কোনটা ফরেন কী, সেটা বের করো। এরপর রিলেশনের ধরন নিজেই ধরা দেবে।
সচরাচর জিজ্ঞাসিত প্রশ্ন
ডেটাবেস আর DBMS কি একই জিনিস?
না, এক নয়। ডেটাবেস হলো সাজানো তথ্যের সংগ্রহ, আর DBMS হলো সেই তথ্য তৈরি, পরিচালনা ও নিয়ন্ত্রণ করার সফটওয়্যার। ডেটাবেস ছাড়া DBMS-এর কাজ নেই, আর DBMS ছাড়া বড় ডেটাবেস চালানো প্রায় অসম্ভব।
প্রাইমারি কী আর ফরেন কী-এর পার্থক্য কী?
প্রাইমারি কী নিজের টেবিলের রেকর্ডকে এককভাবে চেনায়, আর তার মান কখনো ফাঁকা বা একরকম হতে পারে না। ফরেন কী হলো অন্য টেবিলের প্রাইমারি কী, যা এই টেবিলে সাধারণ ফিল্ড হিসেবে থাকে এবং দুটো টেবিলের মধ্যে সম্পর্ক তৈরি করে।
কম্পোজিট প্রাইমারি কী কখন দরকার হয়?
যখন একটা ফিল্ড দিয়ে রেকর্ড আলাদা করা যায় না, তখন দুই বা ততোধিক ফিল্ড একসাথে মিলে কম্পোজিট প্রাইমারি কী তৈরি করে। যেমন, রোল নম্বর আর বিষয় কোড একসাথে নিলে প্রতিটা পরীক্ষার রেকর্ড আলাদা হয়।
রিলেশন তৈরির পর প্রাইমারি কী বদলানো যায় না কেন?
কারণ রিলেশনের মাধ্যমে অন্য টেবিলগুলো এই প্রাইমারি কী-এর উপর নির্ভর করে। প্রাইমারি কী বদলালে যুক্ত টেবিলগুলোর ফরেন কী-এর সাথে সম্পর্ক ভেঙে যাবে, আর তথ্য এলোমেলো হয়ে যাবে।
SQL-এর DDL আর DML-এর পার্থক্য কী?
DDL দিয়ে টেবিলের কাঠামো তৈরি, বদলানো বা মোছা হয় — যেমন CREATE, ALTER, DROP। DML দিয়ে টেবিলের ভেতরের তথ্য ঢোকানো, বদলানো, মোছা ও খোঁজা হয় — যেমন INSERT, UPDATE, DELETE, SELECT।
এই অধ্যায় থেকে সৃজনশীলে কোন অংশ সবচেয়ে গুরুত্বপূর্ণ?
কী, রিলেশন আর SQL — এই তিনটা অংশ থেকেই বেশিরভাগ সৃজনশীল প্রশ্ন আসে। উদ্দীপকে দেওয়া টেবিল থেকে প্রাইমারি কী, ফরেন কী আর রিলেশনের ধরন চিহ্নিত করতে পারলেই গ আর ঘ নম্বর সহজ হয়ে যায়।
শেষ কথা
ডেটাবেস ম্যানেজমেন্ট সিস্টেম অধ্যায়টা মুখস্থের নয়, বোঝার। একবার টেবিল, কী আর রিলেশনের ধারণাটা পরিষ্কার হয়ে গেলে পুরো অধ্যায়টা একটা গল্পের মতো মনে হবে। আজই একটা খাতায় নিজের ক্লাসের ছাত্রদের নিয়ে একটা ছোট টেবিল বানিয়ে দেখো — রোল, নাম, শ্রেণি দিয়ে। তারপর আরেকটা টেবিলে তাদের বিষয়ভিত্তিক নম্বর বসাও। দেখবে, প্রাইমারি কী, ফরেন কী আর এক-থেকে-অনেক রিলেশন নিজে থেকেই বোঝা যাচ্ছে। আর এই অধ্যায়ের আগের অংশগুলো রিভিশন দিতে চাইলে নিচের পোস্টগুলো দেখে নাও।
আগের অধ্যায়গুলো: এইচএসসি আইসিটি ৫ম অধ্যায় প্রোগ্রামিং ভাষা নোট, এইচএসসি আইসিটি ৪র্থ অধ্যায় HTML নোট, এইচএসসি আইসিটি ৩য় অধ্যায় সংখ্যা পদ্ধতি নোট।


