Exam-ready answer with definition, explanation, diagram, advantages, and conclusion.
ত্রি-স্কিমা আর্কিটেকচারটি চিত্রসহ বর্ণনা কর।
DBMS-এ Three Schema Architecture বা ত্রি-স্কিমা আর্কিটেকচার হলো এমন একটি ডাটাবেজ আর্কিটেকচার যেখানে ডাটাবেজ সিস্টেমকে তিনটি আলাদা স্তরে ভাগ করা হয়। এই তিনটি স্তর হলো External Level, Conceptual Level এবং Internal Level।
এই আর্কিটেকচারের প্রধান উদ্দেশ্য হলো ব্যবহারকারীর দৃষ্টিভঙ্গি এবং ডাটাবেজের বাস্তব সংরক্ষণ পদ্ধতির মধ্যে পার্থক্য তৈরি করা। এর ফলে Data Abstraction, Data Independence, Security এবং Database Management সহজ হয়।
| স্তর | নাম | বর্ণনা |
|---|---|---|
| ১ | External Level | ব্যবহারকারী ডাটাবেজের যে অংশ দেখে তাকে External Level বলা হয়। |
| ২ | Conceptual Level | সম্পূর্ণ ডাটাবেজের যৌক্তিক গঠন বা logical structure প্রকাশ করে। |
| ৩ | Internal Level | ডাটাবেজ কীভাবে storage device-এ সংরক্ষিত হবে তা নির্দেশ করে। |
External Level হলো ডাটাবেজ আর্কিটেকচারের সর্বোচ্চ স্তর। এই স্তরে ব্যবহারকারী ডাটাবেজের শুধুমাত্র প্রয়োজনীয় অংশ দেখতে পায়। প্রতিটি ব্যবহারকারী বা user group-এর জন্য আলাদা আলাদা view থাকতে পারে।
উদাহরণস্বরূপ, একটি কলেজ ডাটাবেজে ছাত্ররা শুধুমাত্র নিজেদের marks, attendance এবং course details দেখতে পারে। কিন্তু তারা শিক্ষক বা office staff-এর salary information দেখতে পারে না।
মূল কথা: External Level ব্যবহারকারীর জন্য customized view তৈরি করে এবং database-এর অপ্রয়োজনীয় details লুকিয়ে রাখে।
Conceptual Level হলো ডাটাবেজের logical structure বা সামগ্রিক গঠন। এখানে সম্পূর্ণ ডাটাবেজের entity, attribute, relationship এবং constraint বর্ণনা করা হয়।
এই স্তরটি external level এবং internal level-এর মাঝখানে থাকে। ব্যবহারকারী physical storage details জানে না, কিন্তু database designer এই স্তরে ডাটাবেজের structure তৈরি করে।
উদাহরণস্বরূপ, একটি college database-এ Student, Teacher, Course এবং Department entity থাকতে পারে। এই entity-গুলির মধ্যে relationship conceptual level-এ দেখানো হয়।
মূল কথা: Conceptual Level সম্পূর্ণ ডাটাবেজের logical design প্রকাশ করে।
Internal Level হলো ডাটাবেজ আর্কিটেকচারের সর্বনিম্ন স্তর। এই স্তরে ডাটা কীভাবে physical storage-এ সংরক্ষিত হবে তা নির্ধারণ করা হয়।
এখানে file organization, indexing, storage allocation, record placement এবং access path-এর মতো বিষয় বিবেচনা করা হয়।
উদাহরণস্বরূপ, Student table-এর data disk-এ কীভাবে store হবে, কোন field-এর উপর index থাকবে এবং data retrieval কীভাবে দ্রুত করা যাবে — এসব internal level-এ নির্ধারিত হয়।
মূল কথা: Internal Level database-এর physical storage details নিয়ে কাজ করে।
Users / Application Programs
|
v
+----------------------+
| External Level |
| User View Level |
+----------------------+
|
v
+----------------------+
| Conceptual Level |
| Logical Structure |
+----------------------+
|
v
+----------------------+
| Internal Level |
| Physical Storage |
+----------------------+
|
v
+----------------------+
| Stored Database |
+----------------------+
উপরোক্ত চিত্রে দেখা যাচ্ছে যে ব্যবহারকারী সরাসরি physical database access করে না। ব্যবহারকারী External Level-এর মাধ্যমে database access করে। DBMS বিভিন্ন স্তরের মধ্যে mapping করে data access সম্পন্ন করে।
Three Schema Architecture-এ এক স্তর থেকে অন্য স্তরে data request পাঠানোর জন্য mapping ব্যবহার করা হয়। Mapping মূলত বিভিন্ন schema level-এর মধ্যে সংযোগ স্থাপন করে।
| Mapping Type | কাজ |
|---|---|
| External-Conceptual Mapping | External view-কে Conceptual schema-এর সঙ্গে যুক্ত করে। |
| Conceptual-Internal Mapping | Conceptual schema-কে Internal storage structure-এর সঙ্গে যুক্ত করে। |
Three Schema Architecture-এর সবচেয়ে গুরুত্বপূর্ণ সুবিধা হলো Data Independence। Data Independence বলতে বোঝায় এক স্তরে পরিবর্তন করলে অন্য স্তরে বড় পরিবর্তন করার প্রয়োজন না হওয়া।
| Data Independence-এর ধরন | বর্ণনা |
|---|---|
| Logical Data Independence | Conceptual schema পরিবর্তন হলেও external view পরিবর্তন করার প্রয়োজন নাও হতে পারে। |
| Physical Data Independence | Internal storage structure পরিবর্তন হলেও conceptual schema অপরিবর্তিত থাকতে পারে। |
ধরা যাক, একটি শিক্ষা প্রতিষ্ঠানের database আছে। এই database-এ Student, Teacher, Course এবং Result-এর তথ্য সংরক্ষিত আছে।
তাই Three Schema Architecture ব্যবহার করলে একই database থেকে ভিন্ন ভিন্ন user প্রয়োজন অনুযায়ী আলাদা view পেতে পারে।
সুতরাং, Three Schema Architecture DBMS-এর একটি গুরুত্বপূর্ণ architecture, যা database-কে তিনটি স্তরে ভাগ করে। এর মাধ্যমে data abstraction, data independence, security এবং database management সহজ হয়। তাই modern DBMS design-এ এই architecture অত্যন্ত গুরুত্বপূর্ণ।