এই পোস্টের মাধ্যমে ডাটাবেজ ম্যানেজমেন্ট সিস্টেমের ব্যবহারকারী ও বিভিন্ন ক্ষেত্রের রিলেশনশিপ মডেল সম্পর্কে (dbms entity relationship model) আলোচনা করা হয়েছে।

বিভিন্ন ডি.বি.এম.এস ব্যবহারকারী (Different Database Users)
ডেটাবেস ম্যানেজমেন্ট সিস্টেমের কাজের প্রকৃতি অনুযায়ী আমরা ডেটাবেস ব্যবহারকারীদের (database of users) বিভিন্ন বিভিন্ন ভাগে ভাগ করতে পারি। ভাগগুলি এবং তাদের কার্যপদ্ধতি সম্পর্কে নিচে আলোচনা করা হলো।
সাধারণ ব্যবহারকারী
সাধারণ ব্যবহারকারী হল সেই কম্পিউটার অপারেটর যাদের ডেটাবেস সংক্রান্ত কোনো জ্ঞান না থাকলেও ডেটাবেসকে কাজে লাগিয়ে তাদের নির্দিষ্ট কাজগুলো করে এবং আকাঙ্ক্ষিত ফল পায়।
যেমন, রেলওয়ে টিকেটিং ব্যবস্থায় কোনো যাত্রী কোন ট্রেনে কতদূর যাবে কাউন্টারে শুধু একটি টুকু বললেই হয় কাউন্টারে কম্পিউটার অপারেটর যাত্রীর দেওয়া তথ্য ইনপুট করে তৎক্ষণাৎ জেনে যায় ট্রেনে সিট আছে কিনা, ভাড়া কত হবে ইত্যাদি ইত্যাদি ।
এরপর প্রিন্ট দিলেই যাত্রী তার টিকিটটি পেয়ে যায়। এক্ষেত্রে উক্ত অপারেটরের ডেটাবেস সম্পর্কে ধারণা না থাকলেও চলে। তাই এই ধরনের অপারেটররাই সাধারণ ব্যবহারকারী হিসাবে গণ্য হয়।
অন-লাইন ব্যবহারকারী
যে সমস্ত ব্যবহারকারী ইউজার ইন্টারফেস ও অ্যাপ্লিকেশন প্রোগ্রাম ব্যবহার করে অন-লাইনের মাধ্যমে ডেটাবেসের সঙ্গো সঞ্চয় রক্ষা করে এবং ডেটাবেসকে কাজে লাগিয়ে তাদের প্রয়োজনীয় কাজগুলো করতে পারে তারা হল অন-লাইন ব্যবহারকারী।
এই ধরনের ব্যবহারকারীদের অবশ্যই অ্যাপ্লিকেশন প্রোগ্রাম চালানোর বাস্তব অভিজ্ঞতা এবং ডেটাবেস সম্পর্কে খুব ভালো ধারণা থাকা প্রয়োজন। এই সমস্ত ব্যবহারকারীরা অনেক সময় সরাসরি ডেটাবেসকে ম্যানিপুলেট করার জন্য ডেটা ম্যানিপুলেশন ল্যাংগুয়েজ ব্যবহার করে থাকে।
অ্যাপ্লিকেশন প্রোগ্রামার
যে সকল প্রোগ্রামের বর্তমানে অ্যাপ্লিকেশন প্রোগ্রাম ডেভলাপ করার কাজে নিযুক্ত আছেন সে সকল পেশাদার প্রোগ্রামাররাই এই শ্রেণীর অন্তর্ভুক্ত। এরা প্রতিনিয়ত বিভিন্ন ডেটাবেস সিস্টেম নিয়ে কাজ করে তাকে আরও ডেভলাপ করে চলেছেন।
তার ফল হিসাবে আমরা বিভিন্ন DBMS ল্যাংগুয়েজের (যেমন : MS-Access, SQL, Oracle ইত্যাদি) আপডেট ভার্সন পাচ্ছি।
ডেটাবেস অ্যাডমিনিস্ট্রেটর
ডেটাবেস ব্যবহারকারীদের শেষ ধাপ হল ডেটাবেস অ্যাডমিনিস্ট্রেটর। ডেটাবেস সিস্টেমের অন্তর্গত ডেটা এবং তার সাথে ব্যবহৃত প্রোগ্রামগুলো যে ব্যক্তি কেন্দ্রীয়ভাবে নিয়ন্ত্রণ করে তাই ডেটাবেস অ্যাডমিনিস্ট্রেটর সংক্ষেপে DBA বলে।
ডেটাবেস অ্যাডমিনিস্ট্রেটররাই ডেটাবেসের সঙ্গো সব থেকে বেশি যুক্ত থাকে। কারণ ডেটাবেসের প্রায় সমস্ত কাজের সঙ্গো (ডেটা শনাক্ত, ডেটা সংগ্রহ, সঞ্চয়, পরিচালনা ইত্যাদি বিভিন্ন কাজ) DBA সরাসরি যুক্ত থাকে।
ডেটা অ্যাডমিনিস্ট্রেটরের কাজ – ডেটাবেস ম্যানেজমেন্ট সিস্টেমের প্রধান উদ্দেশ্যি হল ডেটা এবং তার আনুষঙ্গিক প্রোগ্রামকে কেন্দ্রীয়ভাবে নিয়ন্ত্রণ করা। ডেটাবেস অ্যাডমিনিস্ট্রেটরের কাজগুলি হল-
- বিভিন্ন ব্যবহারকারীর প্রয়োজনীয়তা অনুসারে সঞ্চয়ের জন্য ডেটা শনাক্তকরণ ও তার আদর্শায়ন।
- ডেটাবেস অ্যাডমিনিস্ট্রেটর বিভিন্ন DDL (Data Defination Language)-এর নির্দেশ ব্যবহার করে মূল ডেটাবেসের গঠন বা স্কিমা তৈরি করে (যেমন— একটি বাড়িতে কি কি থাকবে অর্থাৎ কতটি বেডরুম, রান্নাঘর, ডাইনিং স্পেস থাকবে কিনা ইত্যাদি নির্দেশনা করা)।
- ব্যবহারকারীদের জন্য প্রয়োজনীয় হার্ডওয়্যার ও সফটওয়্যার পছন্দ করা।
- বিভিন্ন সঞ্চয় মাধ্যমে ডেটা কিভাবে থাকবে এবং কিভাবে ওই ডেটা ব্যবহার হবে তার পদ্ধতি স্থির করা।
- ডেটাবেসে ডেটার নিরাপত্তার ব্যবস্থা করা ও বৈধতা রক্ষা করা।
- প্রয়োজন অনুসারে বিভিন্ন ব্যবহারকারী বিভিন্ন কাজের জন্য অনুমতি দেওয়া অর্থাৎ ডেটাবেস থেকে ডেটা এক্সেস করার অধিকার একমাত্র DBA দেয়।
- প্রয়োজন অনুসারে ডেটাবেসের গঠন পরিবর্তন, ডেটার প্রকৃতি ও ডেটা সংরক্ষক কাঠামো পরিবর্তনের ক্ষমতা রয়েছে ডেটাবেস অ্যাডমিনিস্ট্রেটরের হাতে।
- নিয়মিত ডেটার ব্যাক-আপ নেওয়া ডিস্কের প্রয়োজনীয় স্থান খালি করা।
রিলেশনাল মডেল (dbms entity relationship model)
আগেই আলোচনা করা হয়েছে 1970 সালে E.F Codd-এর মাধ্যমেই রিলেশনাল মডেলের প্রবর্তন হয়। এর গাণিতিক ভিত্তি ও সহজ সরলতার জন্য বিপুল জনপ্রিয়তা লাভ করে।
রিলেশন (Relation)
রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেমে রিলেশন হল একটি ডেটা টেবিল যেখানে রো (Row) এবং কলাম (Column) অনুযায়ী ডেটা সঞ্চিত হয়। তাই বলা যেতে পারে প্রতিটি ডেটাবেস বা টেবিল এক একটি রিলেশন। এক্ষেত্রে টেবিলটির বৈশিষ্ট্য হবে—
- টেবিলের একটি কলামের সকল ডেটাই একই ডেটা টাইপের হওয়া বাঞ্ছনীয়।
- টেবিলের রো এবং কলামের সংযোগস্থল এক-একটি ডেটা আইটেমকে (Data Item) নির্দেশ করে।
- প্রতিটি রো আলাদা আলাদা হবে অর্থাৎ ডুপ্লিকেট কোনো রেকর্ড থাকবে না।
- দুটি কলামের হেডিং কখনোই এক হবে না।
উপরের বৈশিষ্ট্যযুক্ত ডেটাবেস বা টেবিল হল এক-একটি রিলেশন এবং এই রিলেশন নিয়ে তৈরি ডেটাবেসকেই রিলেশনাল ডেটাবেস বলে। তবে মনে রাখতে হবে সমস্ত রিলেশনগুলির কতগুলি উপাদান আছে। নীচে সেই উপাদানগুলি সম্পর্কে আলোচনা করা হল—
(i) টুপল (Tuple) :- রিলেশনাল মডেলে ডেটাবেস বা টেবিলের অর্থাৎ রিলেশনের প্রতি Row কে বলা হল টুপল (Tuple)। নীচে Student টেবিলটি লক্ষ্য করলে দেখা যায় এক-একটি Student Name-এর Row হল এক-একটি টুপল।
(ii) অ্যাট্রিবিউট (Attribute) :- টেবিল বা রিলেশনের প্রতি কলামের হেডিং-গুলিকে এক-একটি অ্যাট্রিবিউট বলা হয় । Student টেবিলের কলাম হেডিংগুলি (Student Name, Roll No., Class, Marks, Age ইত্যাদি) এক-একটি অ্যাট্রিবিউট ।
(iii) ডোমেন (Domain) :- প্রতি টেবিল বা রিলেশনের কলাম তথা field-এর সম্ভাব্য সমস্ত মানের সংগ্রহ বা set কে domain বলা হয় । অনেক ক্ষেত্রে এই ফিল্ড বা column-এর data type যেমন, Text, Number ইত্যাদিকে domain বলা যায় ।
আবার যদি আরো সুনির্দিষ্টভাবে তা উল্লেখ থাকে যেমন একটি বিষয়ের প্রাপ্ত সম্ভাব্য নম্বরের (যা সাধারণত 0 থেকে 100-এর মধ্যে) সকল মানের সমৃদ্ধি তখন সেটিকেও domain হিসেবে গণ্য করতে হবে । প্রতিটি অ্যাট্রিবিউট কি ধরনের ডেটা টাইপকে নির্দেশ করছে তা বোঝাতে ডোমেন ব্যবহার করা হয় ।
রিলেশনের ক্ষেত্রে প্রত্যেকটি অ্যাট্রিবিউট-ই বিভিন্ন ভিন্ন ডোমেনের হতে পারে । যেমন— Character, Integer, Real ইত্যাদি ।
(iv) ডিগ্রী (Degree) :- ডিগ্রী বলতে বোঝায় যে DBMS-এ টেবিল বা রিলেশন স্কিমাতে কতগুলি অ্যাট্রিবিউট থাকে । যে কটি অ্যাট্রিবিউট থাকে সেই সংখ্যাই হল রিলেশনের ডিগ্রী । যেমন Student টেবিলটিতে মোট পাঁচটি অ্যাট্রিবিউট আছে । সুতরাং এই টেবিলটির ডিগ্রী হল 5 ।
(v) কার্ডিনালিটি (Cardinality) :- RDBMS-এর ক্ষেত্রে কোনো টেবিল বা রিলেশনের রো (Row) বা টুপল (Tuple)-এর মোট সংখ্যাকে বলা হয় এই টেবিল বা রিলেশনের কার্ডিনালিটি । উপরের Student টেবিল বা রিলেশনটির ক্ষেত্রে কার্ডিনালিটি হল 6 ।