আজকে আমাদের আলোচনার বিষয় – স্কীমার প্রকারভেদের উল্লেখ যা অধ্যায়-৩ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
Table of Contents
স্কীমার প্রকারভেদের উল্লেখ
স্কীমার প্রকারভেদের উল্লেখ
ডাটাবেস সিস্টেমে ফরমাল লাংগুয়েজ দ্বারা সামগ্রীক ডিজাইন বা overall ডিজাইনকে ডাটাবেস স্কীমা (Database schema) বলে। একইভাবে কোন রিলেশনাল ডাটাবেসে টেবিল, ফিল্ড টেবিল-ফিল্ড এর মধ্যকার রিলেশন ইত্যাদি রিলেশন ডিজাইনকে ঐ রিলেশনের স্কীমা বলে।
প্রকারভেদ:
ডাটাবেস সিস্টেমে বিভিন্ন ধরনের স্কীমা ব্যবহৃত হয়। এসব স্কীমাগুলোকে অ্যাবস্ট্রাকশনের লেভেল অনুযায়ী ৪টি (চারটি) ভাগে ভাগ করা যায়। তা হলঃ
১। কনসেপচুয়াল স্কীমা (Conceptual schema)
২। লজিক্যাল স্কীমা (Logical schema)
৩। ফিজিক্যাল স্কীমা (Physical schema)
৪। স্কীমা অবজেক্ট (Schema object)।
১। কনসেপচুয়াল স্কীমা (Conceptual Schema) :
ডাটাবেস সিস্টেম তৈরির পূর্বে একটি ধারণা বা পূর্বপরিকল্পনা নিতে হয় এবং এ পূর্বপরিকল্পনা অনুযায়ী একটি ম্যাপ (Map) ডিজাইন করতে হয় যাতে ডাটাবেসের রিলেশনাল বুঝা যায়।
সুতরাং, কনসেপচুয়াল স্কীমা বলতে একটি ম্যাপ (Map) বুঝায়, যা দ্বারা ডাটাবেস সিস্টেম সম্পর্কে পূর্বপরিকল্পনা এবং তাদের রিলেশন সম্পর্কে রিপ্রেজেন্ট (Represent) করে থাকে। এটি সাধারণত কোন একটি অর্গানাইজেশনের ডাটাবেসের এনটিটি ক্লাস (Entity class)-কে describe করে থাকে, যা দ্বারা বুঝায় যে, ইনফরমেশন কিভাবে কালেকটেড হবে, অ্যাট্রিবিউটের বৈশিষ্ট্য কেমন হবে এবং রিলেশনশীপের সম্পর্ক কেমন হবে।
নিম্নে Conceptual schema-এর একটি চিত্র দেয়া হলঃ
চিত্র: Conceptual schema
২। ফিজিক্যাল স্কীমা (Physical Schema) :
লজিক্যাল স্কীমাকে বাস্তবায়ন বা Implementation করাই হচ্ছে ফিজিক্যাল স্কীমা। অর্থাৎ এটি ডাটা অ্যাবস্ট্রাকশনের ফিজিক্যাল লেভেলের ডাটাবেস ডিজাইনকে বর্ণনা করে। ডাটা কিভাবে স্টোরেজ ডিভাইসে সংরক্ষিত হবে এবং কোন ধরনের স্ট্রাকচারে সংরক্ষিত হবে ইত্যাদি এ স্কীমাতে বর্ণনা করা হয়। ফিজিক্যাল স্কীমা ইউজারদের কাছে গোপন বা লুকানো থাকে। এটি অ্যাপ্লিকেশন প্রোগ্রামের প্রভাব ছাড়াই সহজে পরিবর্তিত হতে পারে।

৩। লজিক্যাল স্কীমা (Logical Schema) :
ডাটাবেস এনটিটিস্, তাদের অ্যাট্রিবিউটস্ এবং রিলেশনসমূহের পূর্বপরিকল্পিত ম্যাপ বা চিত্রই হচ্ছে লজিক্যাল স্কীমা (logical schema) অ্যাবস্ট্রাকশনের লজিক্যাল লেভেলটি হচ্ছে মধ্যবর্তী লেভেল। এটি ডাটাবেসে কী ধরনের ডাটা স্টোর হবে এবং ডাটাসমূহের মধ্যে কী ধরনের রিলেশনশীপ থাকবে, তা চিত্রের মাধ্যমে বর্ণনা করে।
ডাটাবেস প্রোগ্রাম ডেভেলপ করার জন্য লজিক্যাল স্কীমা গুরুত্বপূর্ণ ভূমিকা পালন করে। কারণ, প্রোগ্রামারগণ এ স্কীমার সাহায্যে ডাটাবেস প্রোগ্রাম ডেভেলপ করে থাকে। এক্ষেত্রে তারা বিভিন্ন প্রোগ্রামিং স্টেটমেন্ট এবং চিত্র ব্যবহার করে।

৪। স্কীমা অবজেক্ট (Schema object) :
লজিক্যাল ডাটা স্টোরেজ স্ট্রাকচার হল স্কীমা অবজেক্ট (schema object)। স্কীমা অবজেক্টে ডিস্কের ফিজিক্যাল ফাইলে one-to- one করেস্পন্ডিং-এ ডাটা বা ইনফরমেশন জমা হয় না। ওরাকল ডাটাবেসের টেবিল স্পেস (table space) এর মধ্যে স্কীমা অবজেক্টকে লজিক্যালী স্টোর করে থাকে।
উদাহরণ:
type customer = record
customer_id: integer;
customer_name: string;
customer_city: string;
end;
উপরের উদাহরণে একটি customer টাইপ রেকর্ডকে ডিজাইন করা হয়েছে। এটি তিনটি অ্যাট্রিবিউট এর সমন্বয়ে গঠিত। ফিল্ডগুলো হল- customer_id, customer_name এবং customer_city। লজিক্যাল স্কীমানুযায়ী তিনটি ফিল্ডের উপর কুয়েরি ডিজাইন করা হয়। ফিজিক্যাল স্কীমা অনুযায়ী তিন ফিল্ডের অধীনে প্রয়োজনীয় ডাটা সংরক্ষিত হবে এবং ডাটার নিরাপত্তা ব্যবস্থা থাকবে, যাতে অননুমোদিত ব্যবহারকারী ডাটা অ্যাকসেস না করতে পারে।
আরও দেখুনঃ