আজকে আমাদের আলোচনার বিষয় – স্টোরেজ অ্যান্ড ফাইল স্ট্রাকচার যা অধ্যায়-৮ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
স্টোরেজ অ্যান্ড ফাইল স্ট্রাকচার
ডাটাবেস ম্যানেজমেন্ট সিস্টেমে স্টোরেজ মিডিয়ার গুরুত্ব অপরিসীম। এখানে স্টোরেজ মিডিয়া বলতে বিভিন্ন ধরনের মেমোরি ডিভাইসকে বুঝানো হয়েছে। ডাটাবেস ফাইল খুবই বড় হয়ে থাকে। এজন্যে এতে ব্যবহৃত স্টোরেজ ডিভাইসকেও বড় হতে হয়। শুধু তাই নয়, স্টোরেজ এর ক্যাপাসিটির সাথে সাথে উহাতে লিখন/পঠন গতিও ভাল হতে হবে। কারণ, গতি ভাল না হলে সিস্টেম খুবই ধীরগতিসম্পন্ন হয়ে পড়বে। কিন্তু বড় সত্য কথা হল গতি ও ধারণ ক্ষমতার সাথে স্টোরেজের দামও বাড়তে থাকে। এজন্যে সবদিক হতে চিন্তাভাবনা করেই সিস্টেমের জন্যে স্টোরেজ ব্যবস্থা করতে হবে।
ফাইল (File) হল কতকগুলো পারস্পরিক সম্পর্কযুক্ত রেকর্ডের সমষ্টি। ডাটাবেস ম্যানেজমেন্ট এর ক্ষেত্রে ফাইল সম্পর্কে খুবই। ভাল ধারণা রাখা অত্যাবশ্যক। উল্লেখ্য, শুধু ফাইল সম্পর্কে ধারণা থাকলেই হবে না, এক্ষেত্রে ফাইল অর্গানাইজেশন সম্পর্কেও খুব। ভাল জ্ঞান থাকতে হবে। কোন ফাইলে রেকর্ডসমূহ যেভাবে সুসজ্জিত থাকে, তাকেই ফাইল অর্গানাইজেশন বলে।
ফাইল অর্গানাইজেশনে প্রতিটি রেকর্ডের দৈর্ঘ্য (Record Length) সুস্পষ্টভাবে উল্লেখ করা হয়। বিভিন্ন ধরনের ফাইল অর্গানাইজেশন পদ্ধতি বর্তমানে প্রচলিত আছে, যেমনঃ ফিক্সড লেংথ ফাইল অর্গানাইজেশন, ভেরিয়্যাবল লেংথ ফাইল অর্গানাইজেশন ইত্যাদি। তাছাড়া, ফাইল সাজানোর দিক থেকেও কয়েক ধরনের পদ্ধতি চালু আছে, যেমন: ইনডেক্সড (Indexed) ফাইল অর্গানাইজেশন, সিকোয়েন্সিয়াল (Sequential) ফাইল অর্গানাইজেশন ইত্যাদি। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের ক্ষেত্রে যে সমস্ত ফাইল ব্যবহার করা হয়, তাদের আকার বেশ বড় হওয়ার কারণে তাদেরকে একসাথে স্টোরেজ ডিভাইস বা সেকেন্ডারি মেমোরি হতে প্রাইমারি বা প্রধান মেমোরিতে উত্তোলন করা যায় না। এজন্যে এ সিস্টেমে বাফার (Buffer) ব্যবহার করা হয়। বাফার হল প্রধান স্মৃতি বা মেমোরির একটি অংশ বিশেষ, যেখানে ডাটা ব্লক লোড (Load) করা যায়।
ফিক্সড্ লেংথ রেকর্ড (Fixed length record): এ ধরনের রেকর্ডের ক্ষেত্রে একই পেইজ (Page)-এ অবস্থিত সকল রেকর্ডসমূহ একই দৈর্ঘ্যের হয়ে থাকে। এক্ষেত্রে রেকর্ড স্লট (Slot) সমূহ সমানভাবে (Uniformly) বিন্যস্ত থাকে এবং উহাতে রেকর্ডসমূহ পর পর সংরক্ষিত হয়। রেকর্ডসমূহ সংরক্ষণের জন্য ফাঁকা স্লট (Empty slot) সমূহ খুঁজে বের করতে হয়। এরপর উহাতে রেকর্ড সমূহ সংরক্ষণ করা হয়। নিম্নোক্ত পদ্ধতিতে রেকর্ডসমূহ সংরক্ষিত হয়ে থাকে।
ধরি, প্রথম N সংখ্যক স্লটে রেকর্ডসমূহ সংরক্ষিত আছে (যেখানে N হল রেকর্ডের সংখ্যা)। এ অবস্থায় যেকোন স্লট থেকে কিছু সংখ্যক রেকর্ডসমূহ মুছে ফেলা হলে সর্বশেষের স্লটসমূহ হতে রেকর্ডগুলো ফাঁকা স্লটসমূহে স্থানান্তরিত হয়। ফলে রেকর্ডসমূহ স্লটে পর পর অবস্থান করে এবং শেষের দিকের স্লটসমূহ ফাঁকা হয়ে যায়। সাধারণ অফসেট ক্যালকুলেশনের মাধ্যমে এই ফাঁকা স্লটগুলোর অবস্থান নির্ণয় করা যায়। পরবর্তীতে এই ফাঁকা স্লটসমূহে পুনরায় রেকর্ডসমূহ সংরক্ষিত (Stored) হয়। এছাড়া বিটের শ্রেণিবিন্যাস (Array of bits) এর মাধ্যমেও রেকর্ড সংরক্ষিত করা যায়।
আরও দেখুনঃ