রিলেশনাল ডেটা মডেল
রিলেশনাল ডেটা মডেল সবচেয়ে বিখ্যাত ডেটা মডেল এবং বিশ্বব্যাপী অধিকাংশ দ্বারা ব্যবহৃত। এটি একটি সহজ কিন্তু দক্ষ ডেটা মডেল যা ডেটা সেরাভাবে হ্যান্ডল করতে সক্ষম।
রিলেশনাল ডেটা মডেলে ডেটা হ্যান্ডল করার জন্য টেবিল ব্যবহার করা হয়। একটি কোম্পানির কর্মচারীদের ডেটা ধারণকারী টেবিলের উদাহরণ:
<Employee>
| Emp_Number | Emp_Name | Emp_Designation | Emp_Age | Emp_Salary |
|---|---|---|---|---|
| 1 | Jack | Manager | 35 | 50000 |
| 2 | Tom | Technician | 25 | 25000 |
| 3 | Henry | Secretary | 50 | 30000 |
Employee টেবিলের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
- Tuple: টেবিলের একটি সারিকে Tuple বলা হয়। এটি টেবিল স্কিমা অনুযায়ী ডেটা ডিটেইলস স্টোর করে।
- Column: ডাটাবেসের একটি কলাম একই রূপের ডেটা রিপ্রেজেন্ট করে। উদাহরণ: উপরের ডাটাবেসে Name কলাম সকল কর্মচারির নাম রিপ্রেজেন্ট করে।
- Relational Schema: একটি রিলেশনাল স্কিমা টেবিল নাম এবং এর অ্যাট্রিবিউট ডিফাইন করে। উপরের টেবিলের স্কিমা: Employee(Emp number, Name, Designation, Age, Salary)
- Key: একটি টেবিলের কী হলো वह অ্যাট্রিবিউট যা সকল টাপলকে ইউনিকভাবে শনাক্ত করতে পারে। Employee টেবিলে কী হলো Emp Number কারণ এটি প্রতিটি কর্মচারির জন্য ইউনিক।
Constraints (কনস্ট্রেইন্ট)
প্রতিটি রিলেশনের কিছু কনস্ট্রেইন্ট থাকে যা মেনে চলা আবশ্যক সেটি রিলেশনাল মডেল कहলাওয়ার জন্য। এগুলো নিচে দেওয়া হলো:
- Key constraints: কমপক্ষে একটি অ্যাট্রিবিউট সেট থাকতে হবে যা একটি টাপলকে ইউনিকভাবে শনাক্ত করতে পারে। এই সেটকে কী বলা হয়।
- Domain constraints: ডাটাবেসে কিছু ডোমেন-স্পেসিফিক কনস্ট্রেইন্ট মেনে চলা উচিত। উদাহরণ: কর্মচারির বেতন নেগেটিভ হতে পারে না, তাই স্যালারি ফিল্ডে শুধু পজিটিভ ভ্যালু থাকবে।
- Referential Integrity constraints: এই কনস্ট্রেইন্ট ফরেন কীর বিহেভিয়ার বর্ণনা করতে ব্যবহৃত হয়। একটি ফরেন কী হলো একটি রিলেশনের কী যা অন্য রিলেশনে রেফারেন্স করা যায়।