ER ডায়াগ্রাম মিনিমাইজেশন কী?
এন্টিটি-রিলেশনশিপ (ER) ডায়াগ্রামে 엔্টিটি ও রিলেশনশিপ থেকে ডেটাবেস টেবিল তৈরি করার সময় টেবিলের সংখ্যা কমিয়ে ডিজাইন সিম্পল করতে ER ডায়াগ্রাম মিনিমাইজেশন করা হয়। কার্ডিনালিটি (১:১, ১:N, M:N) অনুযায়ী ন্যূনতম টেবিল সংখ্যা নির্ভর করে।
১:১ (One-to-One) কার্ডিনালিটি

- Employee: emp_id (PK), emp_name
- Company: cmp_id (PK), cmp_name
- Work (রিলেশনশিপ): PK হতে পারে emp_id বা cmp_id
ন্যূনতম ২ টেবিল দরকার। Work টেবিলকে Employee বা Company-র সাথে মার্জ করা যায়। ৩ টেবিল একসাথে মার্জ করা যায় না।
১:N (One-to-Many) কার্ডিনালিটি

- Employee: emp_id (PK), emp_name
- Company: cmp_id (PK), cmp_name
- Work: emp_id (FK), cmp_id (FK)
এখানে Employee এক Company-র অধীনে কাজ করে, কিন্তু Company-তে অনেক Employee থাকতে পারে। Work টেবিল Employee-র সাথে মার্জ করা যায় (Company FK Employee-এ যোগ করে)। ন্যূনতম ২ টেবিল।
M:N (Many-to-Many) কার্ডিনালিটি

- Employee: emp_id (PK), emp_name
- Company: cmp_id (PK), cmp_name
- Work: emp_id, cmp_id (কম্পোজিট PK)
Employee একাধিক Company-তে, Company একাধিক Employee রাখতে পারে। Work টেবিল কোনো একটিয় মার্জ করা যায় না (রিডান্ডেন্সি হবে)। ন্যূনতম ৩ টেবিল দরকার (Employee, Company, Work)।
সারসংক্ষেপ
| কার্ডিনালিটি | ন্যূনতম টেবিল | মার্জ কৌশল |
|---|---|---|
| ১:১ | ২ | Work → Employee বা Company |
| ১:N | ২ | Work → Employee (Many সাইড) |
| M:N | ৩ | Work আলাদা রেখে জংশন টেবিল রাখা উচিত |