আজকে আমাদের আলোচনার বিষয় – স্ট্রং এবং উইক এনটিটি সেট এর পার্থক্য যা অধ্যায়-৩ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
স্ট্রং এবং উইক এনটিটি সেট এর পার্থক্য
স্ট্রং এবং উইক এনটিটি সেট এর পার্থক্য
Strong entity sets এর উপস্থাপনঃ যে সমস্ত এনটিটি সেট (entity set) এর প্রাইমারি কী (Primary key) আছে, তাদেরকেই
স্ট্রং এনটিটি সেট (Strong enfity set) বলে।
মনে করি E এমন একটি স্ট্রং এনটিটি সেট, যার বর্ণনামূলক অ্যাট্রিবিউট (descriptive attribute)-গুলো হল-
31. 37…….., এই এনটিটি সেটকে সংখ্যক ডিসটিঙ্কট অথবা পৃথক কলাম (distinct column) যুক্ত E নামের একটি টেবিল দ্বারা রিপ্রেজেন্ট (represent) করা যায়, যার প্রতিটি কলাম হবে E- এর একটি অ্যাট্রিবিউট (attribute) এর অনুরূপ এবং প্রতিটি সারি (now) হবে E-এর একটি এনটিটি (entity)
যদি cust-acct নামক একটি E-R ডায়াগ্রামে অ্যাকাউন্ট (account) নামে একটি স্ট্রং এনটিটি সেট থাকে এবং অ্যাকাউন্ট নাম্বার ও ব্যালেন্স (account number and balance) নামে এর দুইটি অ্যাট্রিবিউট থাকে, তবে তাকে নিম্নের চিত্রের সাহায্যে প্রকাশ করা যায়ঃ
এক্ষেত্রে অ্যাকাউন্ট নাম্বার অ্যাট্রিবিউট (account number attribute) টি হল প্রাইমারি কী (primary key)। এখন এনটিটি সেট অ্যাকাউন্টকে অ্যাকাউন্ট নামের একটি টেবিল দ্বারা রিপ্রেজেন্ট (represent) করা যায়। যাতে দুইটি কলাম থাকবে এবং তাদের নাম হবে যথাক্রমে অ্যাকাউন্ট-নাম্বার ও ব্যালেন্স (account-number and balance) যা দেখানো হলঃ
account-number | balance |
A-259 | 1000 |
A-630 | 2000 |
A-600 | 3000 |
A-601 | 4000 |
A-1000 | 500 |
চিত্র: দি অ্যাকাউন্ট টেবিল
উইক এনটিটি সেট রিপ্রেজেন্টেশন (Weak entity set representation) : যে সমস্ত এনটিটি সেট (entity set) এর প্রাইমারি কী (Primary key) নাই, তাদেরকে উইক এনটিটি সেট (weak entity set) বলে।
মনে করি, ৫₁, az…… a, অ্যাট্রিবিউট (attribute) যুক্ত A একটি উইক এনটিটি সেট এবং B একটি স্ট্রং এনটিটি সেট (Strong entity set), যার উপর A নির্ভরশীল (dependent)। ধরি B এর প্রাইমারি কী (Primary key) b₁, b₂, by অ্যাট্রিবিউট দ্বারা গঠিত। এখন এনটিটি সেট A-কে A নামের একটি টেবিল (table) দ্বারা প্রকাশ (represnt) করা যায়, যার একটি কলাম (a) az………. a) U (b1, b2 ………bn) সেটের অ্যাট্রিবিউট দ্বারা গঠিত হবে।
উদাহরণস্বরূপ, নিম্নের E-R ডায়াগ্রাম এর পেমেন্ট (Payment) নামের এনটিটি সেটের কথা চিন্তা করা যায়।
এতে তিনটি অ্যাট্রিবিউট (Attribute) হল পেমেন্ট-নাম্বার (payment_number), পেমেন্ট-ডেট (Payment_date) ও পেমেন্ট অ্যামাউন্ট (Payment_amount)
কিন্তু পেমেন্টটি লোন এনটিটি সেট (loan entity set)-এর প্রাইমারি কী লোন নাম্বার (primary key loan number) এর উপর। নির্ভরশীল। অতএব, এ পেমেন্ট নামক উইক এনটিটি সেটকে চার কলাম (column) যুক্ত একটি টেবিল দ্বারা প্রকাশ (represent) করা যায়। নিম্নের চিত্রে এটি দেখানো হলঃ
loan number | payment number | payment_date |
payment_amount
|
L-300 | 5 | 11 May 1990 | 100 |
L-350 | 11 | 12 May 1990 | -500 |
L-400 | 100 | 25 June 1990 | 100 |
L-150 | 10 | 25 June 1990 | -400 |
চিত্রঃ ট্রানজ্যাকশন টেবিল
স্ট্রং ও উইক এনটিটির মধ্যে পার্থক্য
স্ট্রং এনটিটি | উইক এনটিটি |
১। যে এনটিটি সেটের প্রাইমারি কী থাকে, তাকেই স্ট্রং এনটিটি বলে। |
১। যে এনটিটি সেটের কোন প্রাইমারি কী থাকে না, তাকে। উইক এনটিটি সেট বলে।
|
২। এটি অন্য কোন এনটিটি সেটের উপর নির্ভরশীল। নয়। |
২। এটি স্ট্রং এনটিটি সেটের উপর নির্ভরশীল।
|
৩। একে E-R ডায়াগ্রামে একক চতুর্ভুজ সিম্বল দ্বারা প্রকাশ করা হয়। |
৩। একে E-R ডায়াগ্রামে দ্বিচতুর্ভুজ দ্বারা প্রকাশ করা হয়।
|
৪। স্ট্রং এনটিটি সেটের সাথে রিলেশনশীপ সেটের E-R ডায়াগ্রাম সিম্বল হল একক ডায়মন্ড। |
৪। উইক এনটিটি সেটের সাথে রিলেশনশীপ সেটের E-R ডায়াগ্রাম সিম্বল হল ডবল ডায়মন্ড।
|
আরও দেখুনঃ