ডেটা মডেল (Data Model)
ডেটা মডেল হল অনেকগুলি ধারণার সংগ্রহ যা ডেটাবেসের স্ট্রাকচার বা কাঠামোকে বর্ণনা করার জন্য ব্যবহার করা হয়।

ডেটাবেসের স্ট্রাকচার বলতে আমরা বুঝি ডেটার ধরন, বিভিন্ন ডেটার সম্পর্ক (Data relationship) ও নিয়ন্ত্রণ যা ডেটাতে থাকা প্রয়োজন।
1. এনটিটি রিলেশনশিপ মডেল (Entity Relationship Model)
এনটি রিলেশনশিপ মডেল হল তথ্যের একটি ধারণাগত পরিচিতি বা সাধারণ রাস্তা যা ডেটাবেসের গঠন ও তার বিশ্লেষিত ফলাফল প্রাথমিকভাবে তৈরি করে।
এনটি রিলেশনশিপ মডেল বাস্তব পরিস্থিতিকে যথাযথ এবং দ্বিধাহীনভাবে বর্ণনা করে ! সেই সঙ্গো এনটি রিলেশনশিপ মডেল বাস্তব পরিস্থিতিকে যাথার্থ এবং দ্বিধাহীনভাবে বর্ণনা করে ! সেই সঙ্গো এটি একটি Top-Down approach কেও সমর্থন করে ।
ফলে এই মডেলে বিষয়গুলি পর্যায়ক্রমিকভাবে প্রদত্ত হয়। বাস্তবিক ভাবে এটি ডেটাবেস ডিজাইন তৈরির উদ্দেশ্যেই করা যেটি ডেটাবেসের সম্পূর্ণ যৌক্তিক গঠন (Overall logical structure) দেখায়।
এনটি রিলেশনশিপ মডেল সম্পর্কে জানতে হলে আমাদের ডেটার এনটি, অ্যাট্রিবিউট এবং রিলেশনশিপ সম্পর্কে ধারণা থাকা প্রয়োজন।
একটি ডেটাবেস ডিজাইন করতে হলে সেই ডেটাবেস সংক্রান্ত সংগঠনের (Enterprise) সমস্ত স্কীমাগুলিকে সহজভাবে এনটি-রিলেশনশিপ (E-R Model) মডেল দ্বারা সূচিত করা হয়। বাস্তব জগতে সংগঠনের সজ্জো কনসেপচুয়াল স্কীমা (Conceptual Schema) এর মধ্য সম্পর্ক ঘটাতে E-R মডেল ভীষণ গুরুত্বপূর্ণ।
এনটি (Entity) :
এনটি হল ER মডেলের মূল ধারণাগত বিষয় বা সত্তা যা দিয়ে অবজেক্টকে চিহ্নিত করা যায় এবং কোনো বস্তু বা ঘটনা থেকে সম্পূর্ণ পৃথকভাবে শনাক্ত করা যায়।
এনটির বাস্তব বা কল্পনার জগতে নির্দিষ্ট অস্তিত্ব থাকে। যেমন একজন কর্মচারী, একজন ছাত্র বা ছাত্রী, একটি পেন, একটি নির্দিষ্ট সময় বা ঘটনা। এদের প্রত্যেকটিকেই কিছু বৈশিষ্ট্য বা ধর্মের সাহায্যে অন্যদের থেকে পৃথক করা যায়। এই বৈশিষ্ট্যগুলিকেই অ্যাট্রিবিউট (Attribute) বলা হয়।

একজন কর্মচারীকে আলাদাভাবে শনাক্তকরণ (identify) করতে গেলে তার প্রয়োজনীয় বৈশিষ্ট্য বা attributeগুলি হবে কর্মচারীর কোড নম্বর (employee code), নাম, কাজে যোগদানের তারিখ (date of joining বা doj), পদের নাম (designation / post), বয়স (age), ঠিকানা (address) ।
এনটি সেট (Entity set) :
একই ধরনের কে বা একাধিক entity নিয়ে গঠিত সেটকে entity সেট বলা হয়।
উদাহরণ : একটি বিদ্যালয়ের নির্দিষ্ট একটি শ্রেণীর প্রতি ছাত্রই এক একটি এনটি (যাদের প্রত্যেকের নিজস্ব অস্তিত্ব আছে এবং একজন থেকে অন্যজনকে নাম, রোল নং, সেকশন দ্বারা পৃথকীকরণ সম্ভব) এবং এদের সকলে একত্রে এনটি সেট বলা হয়।
আ্যাট্রিবিউট (Attribute) :
যে বৈশিষ্ট্যের দ্বারা একটি এনটিটি সেটকে আলাদাভাবে চিহ্নিত করা যায় তাকে অ্যাট্রিবিউট বলে। নীচে এমপ্লয়ি ফাইলটির অ্যাট্রিবিউট দেখানো হল –

এক্ষেত্রে এমপ্লয়ি এনটিটির কর্মচারীর নাম, কাজে যোগদানের তারিখ, পদের নাম, বয়স এবং ঠিকানা নামক যে পাঁচটি ফিল্ড রয়েছে, এর প্রত্যেকটি একটি একটি অ্যাট্রিবিউট। কোনো একজন কর্মচারীর উপরে উল্লিখিত পাঁচটি ফিল্ডের যে তথ্য পাওয়া যায় সেই পাঁচটি তথ্যের সমষ্টিকে বলা হয় রেকর্ড (Record) । যেমন :-

রিলেশনশিপ (Relationship) :
বিভিন্ন এনটিটিগুলির মধ্যে সম্পর্ক রক্ষা করার পদ্ধতিকেই রিলেশনশিপ (Relationship) বলা হয়। 1970 সালে E.F Codd প্রথম প্রাইমারি কী (Primary Key) ব্যবহার করে দুটি ডেটাবেসের মধ্যে সম্পর্ক তৈরির পদ্ধতি উদ্ভাবন করেন। যেমন : একটি কোম্পানিতে কর্মচারীদের তথ্যের যে ফাইল আছে তার ফিল্ডগুলি হল কর্মচারী-কোড, নাম, পদের নাম, ঠিকানা ইত্যাদি ।
অপর একটি ফাইলের ফিল্ডগুলো হল কর্মচারী-কোড, বেতন, ডিপার্টমেন্ট-এর নাম অন্যান্য ভাতা ইত্যাদি। এক্ষেত্রে দুটি ফাইলেরই কর্মচারী-কোড বিদ্যমান সুতরাং এটি কমন ফিল্ড বা প্রাইমারি কী। এই প্রাইমারি কী ব্যবহার করে দুটি ফাইলের মধ্যে রিলেশনশিপ বা সম্পর্ক তৈরি করা যায়।
তবে প্রাইমারি কী (Primary Key) টি অবশ্যই অনন্য বা Unique হতে হবে অর্থাৎ একটি কর্মচারীর কোড অন্য কর্মচারীর ক্ষেত্রে ব্যবহার করা যাবে না।
সমগ্র ডেটাবেসের লজিক্যাল গঠন (Logical Structure) যে চিত্রের বা গ্রাফিকাল ছকের সাহায্যে প্রকাশ করা হয় তাকে E-R Diagram বলে। E-R ডায়াগ্রাম আঁকতে হলে কতগুলো চিহ্ন সম্পর্কে ধারণা প্রয়োজন।
E-R Diagram-এ ব্যবহৃত চিহ্নগুলো এবং তার অর্থ নিচে উল্লেখ করা হল—

উদাহরণ : 1
টিচার এবং স্টুডেন্ট নামক দুটি এনটিটির মধ্যে রিলেশনশিপ E-R ডায়াগ্রামের সাহায্যে দেখানো হল, যেখানে টিচার এনটিটি সেটের অ্যাট্রিবিউটগুলি হল নাম, আই-ডি, শিক্ষাগত যোগ্যতা, টেলিফোন নাম্বার এবং স্টুডেন্ট এনটিটি সেটের অধীনে নাম, রোল নাম্বার, ক্লাস এবং বয়স এই চারটি অ্যাট্রিবিউট আছে। এই দুটি এনটিটির মধ্যকার রিলেশনটি হল টিচার টিচস্ স্টুডেন্ট।

উদাহরণ : 2
এমপ্লয়ি লিস্ট (Employee List) ও স্যালারি (Salary) নামক দুটি এনটিটির মধ্যে রিলেশনশিপ নীচে E-R diagram-এর সাহায্যে দেখানো হল। যেখানে এমপ্লয়ি লিস্ট এনটিটি সেটে এমপ্লয়ির নাম, বয়স, ঠিকানা ও কাজে যোগদানের তারিখ এই চারটি অ্যাট্রিবিউট আছে এবং স্যালারি এনটিটি সেটের অধীনে এমপ্লয়ির নাম, পদের নাম, শিক্ষাগত যোগ্যতা ও স্যালারি এই চারটি অ্যাট্রিবিউট আছে।

2. হায়ারারচিক্যাল মডেল (Hierarchical Model):
হায়ারারকিক্যাল ডেটাবেস স্ট্রাকচার বা মডেল তৈরী হয় পরস্পর সম্পর্কিত কতকগুলো রেকর্ড নিয়ে। এই রকম ডেটাবেস স্ট্রাকচারে শাখা-প্রশাখাযুক্ত টেবিল ব্যবহৃত হয়। এই ডেটাবেস স্ট্রাকচারের সর্বোচ্চ রেকর্ডকে বলা হয় ডেটাবেসের মূল। এটি পেরেন্ট (Parent) টেবিলে অবস্থান করে।
ডেটাবেসের এই মূল থেকেেই ডেটাবেস স্ট্রাকচারের অন্যান্য টেবিলগুলো বিশ্রত হয়। যেগুলো চাইল্ড (Child) টেবিল হিসেবে ব্যবহৃত হয়। পেরেন্ট টেবিলের সঙ্গো চাইল্ড টেবিলগুলো One to One (এক এর সঙ্গো এক) অথবা One to Many (এক এর সঙ্গো অনেক) রিলেশনে যুক্ত থাকে। নিচে হায়ারারকিক্যাল ডেটাবেস স্ট্রাকচারটি দেখানো হল–

প্রদত্ত হায়ারারকিক্যাল ডেটাবেস স্ট্রাকচারটি লক্ষ্য করলে দেখা যায় এখানে ডেটাবেসের দুটি স্তর আছে। এই স্ট্রাকচারে কোনো কর্মচারীকে অনুসন্ধান করতে হলে তার আই.ডি (ID) নামের পাশাপাশি তার বিভাগটি (হিসাব রক্ষণ, প্রশাসনিক বা বিক্রয় বিভাগ) উল্লেখ করতে হবে।
2. নেটওয়ার্ক মডেল (Network Model):
১৯৬০ সালের শেষের দিকে Database Task Group (DBTG) নেটওয়ার্ক ডেটাবেস স্ট্রাকচার বা নেটওয়ার্ক মডেলের পরিকল্পনা করেন।
নেটওয়ার্ক ডেটাবেস স্ট্রাকচারের রেকর্ডগুলিকে পরস্পরের সাথে লিংক (Link) করানো থাকে। তাই এর সজো এনটিটি রিলেশনশিপ মডেলের (E.R.Model) অনেকটা সাদৃশ্য আছে।
এই স্ট্রাকচারে রেকর্ডগুলিকে দুটি ভাগে ভাগ করা থাকে – একটি ওনার রেকর্ড টাইপ (Owner Record type) এবং অপরটি মেম্বার রেকর্ড টাইপ (Member record type)। এখেত্রে Owner Record থেকে Member record-এ One to Many (একটির সাথে অনেক) রিলেশনশিপ থাকে।
তাই ব্যবহারকারী এই স্ট্রাকচারে বিভিন্ন দিক থেকে ডেটাবেসের সজো সংযোগ স্থাপন করতে পারে। তবে ডেটা অনুসন্ধানের জন্য অনেক কী ফিল্ড (Key Field) ব্যবহার করা হয়। নিচে একটি নেটওয়ার্ক ডেটাবেস স্ট্রাকচারের চিত্র দেখানো হল—

নেটওয়ার্ক ডেটাবেস স্ট্রাকচার লক্ষ্য করলে দেখা যায় যে বিভাগ বা শ্রেণী যে কোনো দিক থেকেই ডেটাবেসে প্রবেশ করে শিক্ষকদের রেকর্ডের সাথে যোগাযোগ করা যায়। এই স্ট্রাকচারটি অনেকটা জটিল হলেও এর থেকে খুব দ্রুত রেকর্ডকে অ্যাক্সেস করা যায়।
4. রিলেশনাল মডেল (Relational Model) :
1970 সালে E.F Codd প্রথম প্রাইমারি কী (Primary Key) ব্যবহার করে দুটি ডেটাবেসের মধ্যে সম্পর্ক তৈরি করার পদ্ধতি উদ্ভাবন করেন। এইভাবেই রিলেশনাল মডেলের প্রথম সূচনা হয়। এই ধরনের ডেটাবেসে বিভিন্ন ধরনের টেবিলের মধ্যে লজিক্যাল সম্পর্ক বিদ্যমান থাকে। পরে এই টেবিলগুলির মধ্যে রিলেশনশিপ তৈরি করে রেকর্ডগুলিকে সামগ্রিকভাবে ব্যবহার করা যায়। নীচে একটি রিলেশনাল মডেল বা ডেটাবেস স্ট্রাকচার দেখানো হল যেখানে তিনটি টেবিল তিনটি রিলেশনকে নির্দেশ করে—

উপরের টেবিল তিনটির মধ্যে Table 2 ও Table3 রেকর্ডগুলিকে যথাক্রমে Dept_No ও D_No এই অ্যাট্রিবিউট (Attribute) দুটি যথাক্রমে মানের উর্ধ্বক্রমে সাজানো আছে (যেমন 1, 2, 3, 4, 5 ইত্যাদি)। তিনটি টেবিলকে লক্ষ্য করলে আমরা স্পষ্টভাবে বুঝতে পারব Table2 ও Table 3-এর সাথে Table1 একটি বিশেষ সম্পর্কযুক্ত [Table 1 ও Table 2-এর Dept_Name ফিল্ডস একটি ধরণের ডেটা আছে। কারণ প্রতিটি টেবিলের সঙ্গে কোনো একটি অ্যাট্রিবিউট বা ফিল্ড-এর গঠনগত সাদৃশ্য বর্তমান। সুতরাং সমস্ত ডেটাবেসটিই একটি রিলেশনাল ডেটাবেস।