কম্পিউটার টিউটোরিয়াল

ER ডায়াগ্রাম মিনিমাইজেশন: কার্ডিনালিটি অনুযায়ী টেবিল সংখ্যা কমানো

ER ডায়াগ্রাম মিনিমাইজেশন কী?

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

১:১ (One-to-One) কার্ডিনালিটি

ER ডায়াগ্রাম মিনিমাইজেশন: কার্ডিনালিটি অনুযায়ী টেবিল সংখ্যা কমানো

  • 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) কার্ডিনালিটি

ER ডায়াগ্রাম মিনিমাইজেশন: কার্ডিনালিটি অনুযায়ী টেবিল সংখ্যা কমানো

  • 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) কার্ডিনালিটি

ER ডায়াগ্রাম মিনিমাইজেশন: কার্ডিনালিটি অনুযায়ী টেবিল সংখ্যা কমানো

  • 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 আলাদা রেখে জংশন টেবিল রাখা উচিত
  1. Entity-Relationship Diagram

  2. ডাটাবেসে N-ary রিলেশনশিপ: ইউনারি, বাইনারি ও টারনারি

  3. MySQL Workbench-এ ডেটাবেস ডায়াগ্রাম অটো জেনারেট করা

  4. সমাধান: Err_Connection_Closed