Information and Communication Technology chapter 6: Database Management System
ডেটাবেজ ম্যানেজমেন্ট সিস্টেম
- Information and Communication Technology
- Textbook pages 195-219
- 1 source
- 49,764 characters of context
Textbook (verbatim transcription): Database Management System
Verbatim transcription of the printed NCTB textbook pages.
Contents20ShowHide
- ডেটাবেজ ম্যানেজমেন্ট সিস্টেম
- ৬.১ ডেটাবেজ ম্যানেজমেন্ট (Database Management)
- ৬.১.১ কম্পিউটারের মেমোরি ও ফাইল
- ৬.১.২ ডেটাবেজ
- ৬.২ রিলেশনাল ডেটাবেজ (Relational Database)
- ৬.২.১ নাল ভ্যালু (Null Value)
- ৬.২.২ প্রাইমারি কি (Primary Key)
- ৬.২.৩ ডেটাবেজ রিলেশন (Database Relation)
- ১. ওয়ান টু ওয়ান রিলেশন
- ২. ওয়ান টু মেনি রিলেশন
- ৩. ম্যানি টু ম্যানি
- ৬.২.৪ এসকিউএল (SQL)
- ৬.৩ ডেটাবেজ তৈরি (Creating Database)
- ৬.৩.১ কুয়েরি ব্যবহার
- ৬.৪ ডেটা সিকিউরিটি (Data Security)
- ৬.৪.১ ডেটা এনক্রিপশন (Data encryption)
- ৬.৪.২ RDBMS -এর বৈশিষ্ট্য
- ৬.৪.৩ RDBMS -এর ব্যবহার
- ৬.৪.৪ কর্পোরেট ডেটাবেজ (Corporate Database)
- ৬.৪.৫ সরকারি প্রতিষ্ঠানে ডেটাবেজ (Database in Government Organization)
Printed page 195
ষষ্ঠ অধ্যায়
ডেটাবেজ ম্যানেজমেন্ট সিস্টেম
Database Management System
Figure: সুশৃঙ্খলভাবে ডেটা সংগ্রহ, সংরক্ষণ এবং প্রক্রিয়াকরণ বর্তমান বিশ্বের একটি বড় চ্যালেঞ্জ
বর্তমান বিশ্বে আমাদের চারপাশের প্রায় সবকিছুই অনলাইনের মাধ্যমে হতে শুরু করেছে। আমরা কেনাকাটা কিংবা বাজার করি অনলাইনে, ব্যাংকিং করি অনলাইনে, ইলেক্ট্রিসিটির বিল দেই অনলাইনে, ট্রেনের টিকিট কিনি অনলাইনে। এ ধরনের প্রত্যেকটি কাজের জন্য কোথাও না কোথাও অসংখ্য তথ্য সংরক্ষণ করতে হয়। একসময় যে কাজগুলো করতে অসংখ্য লেজার বই কিংবা কাগজের উপর নির্ভর করতে হতো এখন সেগুলো করা হয় ডেটাবেজ ম্যানেজমেন্ট সিস্টেম দিয়ে। সেগুলো আমাদের জীবনকে অনেক সহজ করে তুললেও সেখানে এখনো চ্যালেঞ্জের অভাব নেই। সেগুলো অনেক সময় প্রয়োজনমতো বড় করা যায় না, দ্রুত প্রক্রিয়া করা যায় না কিংবা সাইবার দুর্বৃত্তরা মাঝে মাঝেই ডেটা হাতিয়ে নেয়। কাজেই কম্পিউটার বিজ্ঞানীরা ক্রমাগতভাবে ডেটাবেজ ম্যানেজমেন্ট সিস্টেমকে আরো শক্তিশালী করার চেষ্টা করে যাচ্ছেন। এই অধ্যায়ে শিক্ষার্থীদের ডেটাবেজ ম্যানেজমেন্ট সিস্টেম সম্পর্কে একটি প্রাথমিক ধারণা দেওয়া হয়েছে।
এ অধ্যায় পাঠ শেষে শিক্ষার্থীরা—
- ডেটাবেজ ম্যানেজমেন্ট-এর ধারণা ব্যাখ্যা করতে পারবে;
- ডেটাবেজ ম্যানেজমেন্ট-এর কার্যাবলি বিশ্লেষণ করতে পারবে;
- রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের ধারণা ব্যাখ্যা করতে পারবে;
- রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের বৈশিষ্ট্য ব্যাখ্যা করতে পারবে;
- রিলেশনাল ডেটাবেজ ম্যানেজমেন্ট সিস্টেম বর্ণনা করতে পারবে;
- ডেটাবেজ সিকিউরিটির ধারণা ব্যাখ্যা করতে পারবে;
- ডেটাবেজ সিকিউরিটির গুরুত্ব ব্যাখ্যা করতে পারবে;
- ডেটা এনক্রিপশনের প্রয়োজনীয়তা ব্যাখ্যা করতে পারবে;
- ডেটা এনক্রিপশনের উপায়সমূহ ব্যাখ্যা করতে পারবে।
ব্যাবহারিক
- ডেটাবেজ তৈরি করতে পারবে।
Printed page 196
৬.১ ডেটাবেজ ম্যানেজমেন্ট (Database Management)
ডেটাবেজ ম্যানেজমেন্ট সিস্টেম এমন এক ধরনের সফটওয়্যার, যা ব্যবহারকারী এবং ডেটাবেজ-এর মধ্যে একটি ইন্টারফেস (উভয় দিক সংযোগ রক্ষাকারী) হিসেবে কাজ করে। ব্যবহারকারী, ডিবিএমএস কে বিভিন্ন অপারেশন সম্পন্ন করতে অনুরোধ করে। ডিবিএমএস ব্যবহারকারী কর্তৃক প্রদত্ত অনুরোধগুলো ডেটাবেজের উপর কার্য করে ব্যবহারকারীকে প্রয়োজনীয় ডাটা প্রদান করে।
শিক্ষাপ্রতিষ্ঠান, ব্যবসায় প্রতিষ্ঠান, অফিস-আদালত, এমনকি আমাদের নিজেদের ঘর-গেরস্তালির কাজেও আমাদেরকে নানান রকম তথ্য নিয়ে কাজ করতে হয়। স্কুল-কলেজের কথাই চিন্তা করা যাক। শিক্ষার্থী ভর্তি, ক্লাস রুটিন তৈরি, শিক্ষার্থীদের উপস্থিতি, পরীক্ষার রুটিন তৈরি, পরীক্ষার ফলাফল প্রকাশ ও সংরক্ষণ, শিক্ষার্থীদের বেতনের হিসেব রাখা ইত্যাদি নানান কাজেই অনেক তথ্য তৈরি ও সংরক্ষণের প্রয়োজন হয়। যুগ যুগ ধরে মানুষ খাতা-কলমের মাধ্যমেই এসব হিসাব করে আসছে। কিন্তু কম্পিউটারের আবির্ভাব এসব কাজকে মানুষের জন্য সহজ করে দিয়েছে। কম্পিউটারের তথ্য ধারণ, সংরক্ষণ ও প্রক্রিয়াকরণের ক্ষমতা মানুষের চেয়ে অনেক অনেক বেশি। আর এই ক্ষমতাকে কাজে লাগিয়ে মানুষ এমন সফটওয়্যার তৈরি করেছে যা বিপুল পরিমাণ তথ্য ধারণ করতে পারে, সংরক্ষণ করতে পারে এবং সেসব তথ্য বিশ্লেষণ করে প্রয়োজনীয় প্রশ্নের উত্তরও দিতে পারে।
ধরা যাক, অসুস্থতা এবং অন্য কোনো কারণে একজন শিক্ষার্থীকে মাঝে মাঝে স্কুলে অনুপস্থিত থাকতে হয়েছে। তার অভিভাবক জানতে চান শিক্ষার্থীটি গত তিন মাসে ঠিক কতদিন স্কুলে ছিল। এই কাজটি করার জন্য তাঁকে স্কুলে যেতে হবে, তারপর তাঁর সন্তানের যেসব শিক্ষক আছেন, তাদের সঙ্গে দেখা করতে হবে। শিক্ষকেরা তখন গত তিন মাসের হাজিরা খাতা বের করবেন। সেই খাতা থেকে খুঁজে দেখবেন ওই শিক্ষার্থী কতদিন ক্লাসে উপস্থিত ছিল, পুরোটাই খুবই সময়সাপেক্ষ কাজ। কিন্তু ওই স্কুলে যদি সব তথ্য ব্যবস্থাপনার কাজ একটি কম্পিউটারে ডেটাবেজ ম্যানেজমেন্ট সফটওয়্যারের মাধ্যমে করা হতো, তাহলে এই তথ্য এক সেকেন্ডের মধ্যেই বের করা সম্ভব হতো। তথ্য সংরক্ষণ করার কাজটি করে ডেটাবেজ আর সেই ডেটাবেজকে ঠিকমতো পরিচালনা করার জন্য যে সফটওয়্যার, তাকেই বলা হয় ডেটাবেজ ম্যানেজমেন্ট সিস্টেম।
৬.১.১ কম্পিউটারের মেমোরি ও ফাইল
কম্পিউটারের প্রোগ্রাম যখন কোনো ডেটা নিয়ে কাজ করে, সেই ডেটা অস্থায়ী মেমোরিতে লোড করে তারপর কাজ করে। এই অস্থায়ী মেমোরিকে বলা হয় র্যাম (RAM)। কম্পিউটার বন্ধ হয়ে গেলে র্যাম থেকে ডেটা মুছে যায়। আবার প্রোগ্রাম বন্ধ করে দিলেও প্রোগ্রাম র্যাম-এর ডেটার নিয়ন্ত্রণ হারিয়ে ফেলে। তাই যেসব তথ্য সংরক্ষণের দরকার হয়, সেগুলোকে স্থায়ী মেমোরি, যেমন—হার্ড ডিস্কে সংরক্ষণ করা হয়। হার্ড ডিস্কের যেসব ডেটা আমরা ব্যবহার করি, সেগুলোকে ফাইল (file) নামক একটি ব্যবস্থার মাধ্যমে আমরা অ্যাকসেস করি। যেমন— একটি টেক্সট ফাইলে আমরা বিভিন্ন তথ্য লিখে সেভ করে রাখতে পারি। তারপরে চাইলে কম্পিউটার বন্ধ করে দিতে পারি। আবার যখন কম্পিউটার চালু করব, তখন চাইলে সেই ফাইলটি খুলে আগে লেখা তথ্য দেখতে পারি।
কম্পিউটারকে যখন মানুষ বিভিন্ন তথ্য সংরক্ষণ করার কাজে ব্যবহার করা শুরু করল, তখন বিভিন্ন প্রোগ্রাম লেখা হতো, যেগুলো তথ্য প্রক্রিয়াকরণের পরে ফাইলে সংরক্ষণ করত। সেই ফাইলের তথ্য পরিবর্তন বা তথ্য নিয়ে অন্য কোনো কাজ করতে হলে আবার নতুন প্রোগ্রাম লিখে কাজগুলো করতে হতো। যেমন ধরা যাক, একটি অ্যাড্রেস বুক (address book), যেখানে বিভিন্নজনের নাম, ঠিকানা, ফোন নম্বর ইত্যাদি তথ্য সংরক্ষিত থাকবে এবং প্রয়োজন অনুসারে সেই তথ্য খুঁজে বের করা যাবে। তাহলে নতুন তথ্য যোগ করার
Printed page 197
(একে ডেটা এন্ট্রি— data entry বলা হয়) জন্য প্রোগ্রাম লিখতে হবে। তথ্য খুঁজে বের করার জন্যও প্রোগ্রাম লিখতে হবে। এখন কেউ যদি বলে ফোন নম্বরের পর ইমেইল ঠিকানাও সংরক্ষণ করতে হবে, তখন আবার ডেটা এন্ট্রি করার প্রোগ্রামটি এবং বাকি সব প্রোগ্রাম পরিবর্তন করতে হবে। তারপর ধরা যাক, কেউ বলল, নাম দিয়ে কারো তথ্য খুঁজে বের করার পাশাপাশি ইমেইল ঠিকানা দিয়েও খোঁজার ব্যবস্থা রাখতে হবে, তখন আবার নতুন ফাংশন লিখতে হবে। এভাবে তথ্য ব্যবস্থাপনার কাজটি বেশ জটিল ও প্রোগ্রামারদের জন্য পরিশ্রমসাধ্য হয়ে যায়। ডেটাবেজ ম্যানেজমেন্ট সফটওয়্যার সেই কাজটি খুব সহজ করে দেয়।
৬.১.২ ডেটাবেজ
ডিবিএমএস-এর প্রধান কাজ হলো ডাটাবেজ তৈরি, নতুন রেকর্ড সংযোজন এবং বিয়োজন করা, রেকর্ড আধুনিকীকরণ করা, ডেটা নিরাপত্তা নিশ্চিত করা, ডেটা ডুপ্লিকেশন রোধ করা ও রিপোর্ট তৈরি করা।
আক্ষরিক অর্থে, ডেটাবেজ হচ্ছে ডেটার সমাহার, অর্থাৎ যেখানে অনেক ডেটা থাকে। তবে সফটওয়্যারের জগতে ডেটাবেজ হচ্ছে এমন একটি সফটওয়্যার যেখানে প্রচুর পরিমাণ তথ্য একসঙ্গে সংরক্ষণ করা যায়, দরকারি তথ্য বের করা যায়, নতুন তথ্য যোগ করা যায় এবং প্রয়োজনমতো কোনো তথ্য পরিবর্তন, পরিবর্ধন ও মুছে ফেলা যায়। আর সেই ডেটাবেজকে সুষ্ঠুভাবে পরিচালনা করার জন্য কিছু প্রোগ্রাম বা সফটওয়্যার মিলেই গঠিত হয় ডেটাবেজ ম্যানেজমেন্ট সিস্টেম।
ডেটাবেজকে মোটাদাগে দুভাগে ভাগ করা যায়: রিলেশনাল ডেটাবেজ (Relational Database) ও নোএসকিউএল (NoSQL)। রিলেশনাল ডেটাবেজের ধারণা প্রায় ৫০ বছর আগের, তবে এখনো এটি সবচেয়ে বেশি ব্যবহৃত ও গুরুত্বপূর্ণ ডেটাবেজ। আর নোএসকিউএল ডেটাবেজ অপেক্ষাকৃত নতুন এবং বেশ কিছু ক্ষেত্রে, বিশেষ করে ওয়েবভিত্তিক বিভিন্ন অ্যাপ্লিকেশনে এর ব্যবহার দিন দিন বাড়ছে। তবে বিভিন্ন সীমাবদ্ধতার কারণে নোএসকিউএল সবক্ষেত্রে ব্যবহার করা সম্ভব হয় না।
৬.২ রিলেশনাল ডেটাবেজ (Relational Database)
রিলেশনাল ডেটাবেজ-এ ডেটাকে এক বা একাধিক টেবিলে সংরক্ষণ ও প্রকাশ করা হয়। কিছু কিছু টেবিলের মধ্যে অনেক সময় সম্পর্ক (relation) থাকতে পারে। যেমন— ধরা যাক, একটি স্কুলের ডেটাবেজে ওই স্কুলের শিক্ষক ও শিক্ষার্থীর নানান ধরনের তথ্য থাকতে পারে। আবার পরীক্ষার ফলাফল, ক্লাসের রুটিন, এসব তথ্যও ডেটাবেজে থাকতে পারে। একই ধরনের সব তথ্য একটি টেবিলে থাকবে। যেমন শিক্ষকদের তথ্যের জন্য teacher টেবিল, শিক্ষার্থীদের তথ্যের জন্য student টেবিল, পরীক্ষার ফলাফল রাখার জন্য result টেবিল তৈরি করতে হবে। student টেবিল ও result টেবিলের মধ্যে একটি সম্পর্ক থাকবে, যেন দুটো টেবিল থেকে একজন শিক্ষার্থীর ব্যক্তিগত তথ্য ও পরীক্ষার ফলাফল সংক্রান্ত তথ্য একসঙ্গে পাওয়া যায়। আর এসব টেবিল মিলে তৈরি হবে school ডেটাবেজ।
একটি ডেটাবেজ টেবিলের দুটি অংশ থাকে, টেবিল হেডার (table header) ও টেবিল বডি (table body)। টেবিল হেডারে থাকে বিভিন্ন কলামের নাম এবং সেই কলামে কী ধরনের ডেটা রাখা হবে তার তথ্য। আর টেবিলের বডিতে থাকে মূল তথ্য। প্রতিটি সারি (row)-তে একটি নির্দিষ্ট বিষয়ের তথ্য থাকে। একটি টেবিলে কী কী ডেটা রাখা হবে এবং সেগুলো কী ধরনের হবে, সেটি আগে ঠিক করতে হয়। যেমন—
Printed page 198
শিক্ষার্থীর টেবিলে থাকতে পারে শিক্ষার্থীর নাম, রোল নম্বর, ক্লাস, বিভাগ/শাখা, অভিভাবকের নাম, অভিভাবকের ফোন নম্বর, বাসার ঠিকানা ইত্যাদি।
ডেটার ধরন বিভিন্ন রকমের হতে পারে। সি প্রোগ্রামিং ভাষায় যেমন নির্দিষ্ট কিছু ডেটা টাইপ রয়েছে, রিলেশনাল ডেটাবেজেও তেমনি কিছু ডেটা টাইপ রয়েছে। বিভিন্ন ডেটাবেজ নির্মাতারা নিজেদের মতো ডেটা টাইপ নির্দিষ্ট করে দেন, তবে বেশ কিছু ডেটা টাইপ সব ডেটাবেজেই পাওয়া যাবে। যেমন— টেক্সট (text), পূর্ণসংখ্যা (integer), দশমিকযুক্ত সংখ্যা (decimal number), তারিখ (date) ইত্যাদি।
এখন আমরা একটি টেবিলের উদাহরণ দেখি :
টেবিলের নাম : শিক্ষার্থী
| শিক্ষার্থীর নাম (টেক্সট) | রোল নম্বর (পূর্ণসংখ্যা) | শ্রেণি (পূর্ণসংখ্যা) | শাখা (টেক্সট) | অভিভাবকের নাম (টেক্সট) | ফোন নম্বর (টেক্সট) |
|---|---|---|---|---|---|
| মিজানুর রহমান | ১ | ৪ | দিবা | আব্দুর রহমান | ০২০৩০২ |
| মোশাররফ হোসেন | ২ | ৪ | দিবা | সেলিনা খাতুন | ০২০৩০৪ |
| সৌরভ দাস | ১ | ৫ | প্রভাতি | অজয় দাস | ০৩০৪০২ |
| শাকিল মিয়া | ৩ | ৫ | প্রভাতি | মনসুর মিয়া |
এই শিক্ষার্থী টেবিলের প্রথম সারিটি হচ্ছে টেবিলের হেডার। এই সারিতে যেসব ঘর আছে, প্রতিটি হচ্ছে একেকটি কলাম (column)-এর নাম এবং তার ডেটা টাইপ (মানে ওই কলামে কী ধরনের ডেটা থাকবে)। যেমন— শিক্ষার্থীর নাম হচ্ছে একটি কলামের নাম এবং সেখানে টেক্সট টাইপের ডেটা থাকবে। এর নিচে যত ঘর থাকবে, সব ঘরে বিভিন্ন শিক্ষার্থীর নাম থাকবে, অন্য কোনো তথ্য থাকতে পারবে না। আর দ্বিতীয় সারি থেকে প্রতিটি সারিতে একজন করে শিক্ষার্থীর তথ্য দেওয়া আছে। যেমন— দ্বিতীয় সারির প্রথম ঘরে আছে মিজানুর রহমান, যা একজন শিক্ষার্থীর নাম, তারপরের ঘরে আছে তার রোল নম্বর, তারপরের ঘরে আছে তার শ্রেণি, অর্থাৎ সে কোন শ্রেণিতে পড়ছে, ইত্যাদি। একটি সারিতে কেবল একজন শিক্ষার্থীর তথ্য থাকবে, কখনো একাধিক শিক্ষার্থীর তথ্য থাকবে না।
প্রতিটি সারিকে ইংরেজিতে বলে রো (row)। এগুলোকে রেকর্ড (record)-ও বলা হয়ে থাকে। আর টেবিলের প্রতিটি ঘর হচ্ছে একেকটি ফিল্ড (field)।
বর্তমানে বিশ্বব্যাপী জনপ্রিয় ও বহুল ব্যবহৃত রিলেশনাল ডেটাবেজ হচ্ছে ওরাকল (Oracle), মাইএসকিউএল (MySQL), মাইক্রোসফট এসকিউএল সার্ভার (Microsoft SQL Server), পোস্টগ্রেস (PostgreSQL), মাইক্রোসফট অ্যাকসেস (Microsoft Access) ও এসকিউলাইট (SQLite)। এগুলোর মধ্যে মাইসিক্যুয়েল, পোস্টগ্রেস ও এসকিউলাইট হচ্ছে ফ্রি এবং ওপেন-সোর্স (free & open source) ডেটাবেজ। অর্থাৎ এগুলো ব্যবহার করার জন্য টাকা দিতে হয় না, এবং এগুলোর সোর্সকোডও উন্মুক্ত।
নোট : উচ্চারণের সুবিধার জন্য এসকিউএল শব্দটি অনেকে সিক্যুয়েল বলে উচ্চারণ করে। SQL শব্দটির পূর্ণরূপ, স্ট্রাকচারড কুয়েরি ল্যাঙ্গুয়েজ (Structured Query Language)
Printed page 199
Loading the rest of the chapter…
Textbook content © National Curriculum and Textbook Board (NCTB), Bangladesh. Shown for study.
Trusted resources
Official links checked by the Zntext team. Part of the context pack.