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

DBMS-এ One-to-One Unary Relationship (এক-से-এক ইউনারি রিলেশনশিপ)

One-to-One Unary Relationship হলো একই এন্টিটি টাইপের মধ্যে ঘটা রিলেশনশিপ যেখানে একই ইনস্ট্যান্সগুলো একই রোল গ্রুপে অংশগ্রহণ করে এবং পারস্পরিকভাবে একে অপরের সাথে জড়িত থাকে।

উদাহরণ: Married Couple (বিবাহিত জোড়া)

DBMS-এ One-to-One Unary Relationship (এক-से-এক ইউনারি রিলেশনশিপ)

  • এন্টিটি: Person
  • রিলেশনশিপ: MARRIED_TO
  • প্রতিটি Person শুধু একটি Person-এর সাথে বিবাহিত।
  • সিমেট্রিক (Symmetric) রিলেশনশিপ: A married to B → B married to A।

তিনটি অপশন্যালিটি কেস

১. Mandatory-Mandatory (দ্বৈত বাধ্যতামূলক)

  • প্রতিটি Person অবশ্যই বিবাহিত থাকতে হবে।
  • একই টেবিলে প্রতিটি রোয়ের স্পাউজ আইডি থাকতে হবে (NOT NULL)।
  • বাস্তবে কঠিন বাধ্যতা (অবিবাহিত লোক থাকতে পারে)।

২. Optional-Optional (দ্বৈত ঐচ্ছিক)

DBMS-এ One-to-One Unary Relationship (এক-से-এক ইউনারি রিলেশনশিপ)

  • Person বিবাহিত হতে পারে বা নাও হতে পারে।
  • ট্যাক্স ফাইলিং উদাহরণ: বিবাহিত জোড়া যৌথ বা পৃথক ট্যাক্স ফাইল করতে পারে।
  • কমপক্ষে একটি জোড়া অবশ্যই পৃথক ফাইল করবে (Business Rule)।
  • সর্বाधিক বাস্তবসম্মত মডেল।

৩. Optional-Mandatory বা Mandatory-Optional (মিশ্র)

  • এক পক্ষের সবাই অংশ নিবে (Mandatory), অন্য পক্ষের সবাই নাও নিতে পারে (Optional)।
  • One-to-One-এ এটি অসম্ভব কারণ রিলেশনশিপ সিমেট্রিক — যদি A-র স্পাউজ B হয়, তবে B-র স্পাউজ A। তাই উভয় পক্ষেই একই অপশন্যালিটি থাকবে।

ER ডায়াগ্রাম নোটেশন

  • এন্টিটি: Person
  • রিলেশনশিপ: MARRIED_TO (Unary, 1:1)
  • কার্ডিন্যালিটি: 1:1 (Double line বা "1" notation)
  • অপশন্যালিটি: সলিড (Mandatory) / ড্যাশড (Optional)

SQL ইমপ্লিমেন্টেশন

CREATE TABLE Person (
  Person_ID INT PRIMARY KEY,
  Name VARCHAR(100),
  Spouse_ID INT UNIQUE,           -- One-to-One ensure করে
  FOREIGN KEY (Spouse_ID) REFERENCES Person(Person_ID)
    ON DELETE SET NULL
);
  • Spouse_ID UNIQUE নিশ্চিত করে One-to-One (দুজন একই স্পাউজ শেয়ার করতে পারবে না)।
  • ON DELETE SET NULL — একজনের মৃত্যু হলে অন্যের স্পাউজ_আইডি NULL হয়।
  • ট্রিগার বা অ্যাপ লজিক দিয়ে সিমেট্রি এনফোর্স করতে হয় (A-র স্পাউজ B হলে B-র স্পাউজ A সেট করতে হয়)।

বাস্তব ব্যবহারের উদাহরণ

  • Spouse/Partner রিলেশনশিপ
  • Emergency Contact (পারস্পরিক হলে)
  • Mentor-Mentee (যদি একজনে এক মেন্টর এবং এক মেন্টি থাকে)
  1. DBMS-এ এক-से-বহু বা বহু-से-এক সম্পর্ক

  2. ইউনারি বা রিকারসিভ সম্পর্ক (Unary or Recursive Relationship)

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

  4. অন্যান্য DBMS চেয়ে MS Access কেন श्रেষ্ঠ: ১০টি মূল সুবিধা