সত্তা সম্পর্ক মডেল (ER Model) হল ডাটাবেসে প্রতিনিধিত্বকারী সত্তা (যেমন ছাত্র, গাড়ি বা কোম্পানি) সনাক্ত করার একটি মডেল এবং সেই সত্তাগুলি কীভাবে সম্পর্কিত তা উপস্থাপন করে। ER ডেটা মডেল এন্টারপ্রাইজ স্কিমা নির্দিষ্ট করে যা গ্রাফিক্যালি একটি ডাটাবেসের সামগ্রিক লজিক্যাল কাঠামো উপস্থাপন করে।
আমরা সাধারণত একটি অ্যাপ্লিকেশনের জন্য একটি ডাটাবেস ডিজাইন করার জন্য নীচের পদক্ষেপগুলি অনুসরণ করি।
- ডাটাবেস ব্যবহারকারীদের প্রশ্ন জিজ্ঞাসা করে প্রয়োজনীয়তা (কার্যকরী এবং ডেটা) সংগ্রহ করুন।
- ডাটাবেসের একটি যৌক্তিক বা ধারণাগত নকশা তৈরি করুন। এখানেই ER মডেল ভূমিকা পালন করে। এটি একটি ডাটাবেসের ধারণাগত নকশার সর্বাধিক ব্যবহৃত গ্রাফিক্যাল উপস্থাপনা।
এর পরে, ভৌত ডাটাবেস নকশা (যেমন ইনডেক্সিং) এবং বহিরাগত নকশা (যেমন ভিউ) এর উপর মনোযোগ দিন।
DBMS-এ ER ডায়াগ্রাম কেন ব্যবহার করবেন
- ER ডায়াগ্রামগুলি একটি ডাটাবেসে ER মডেলকে উপস্থাপন করে, যা তাদের সম্পর্ক (টেবিল) তে রূপান্তর করা সহজ করে তোলে।
- ER ডায়াগ্রামগুলি বস্তুর বাস্তব-বিশ্ব মডেলিংয়ের উদ্দেশ্যে কাজ করে যা তাদের অত্যন্ত কার্যকর করে তোলে।
- ER ডায়াগ্রামগুলিতে ব্যবহৃত অন্তর্নিহিত DBMS সম্পর্কে কোনও প্রযুক্তিগত জ্ঞানের প্রয়োজন হয় না।
- এটি যুক্তিসঙ্গতভাবে ডেটা ভিজ্যুয়ালাইজ করার জন্য একটি আদর্শ সমাধান প্রদান করে।
ER মডেলে ব্যবহৃত প্রতীক :-
- ER মডেলটি একটি ডেটা দৃষ্টিকোণ থেকে সিস্টেমের লজিক্যাল ভিউ মডেল করার জন্য ব্যবহৃত হয় যা এই প্রতীকগুলি নিয়ে গঠিত:
- আয়তক্ষেত্র: আয়তক্ষেত্রগুলি ER মডেলে সত্তাগুলিকে প্রতিনিধিত্ব করে।
- উপবৃত্ত: উপবৃত্তগুলি ER মডেলে বৈশিষ্ট্যগুলিকে প্রতিনিধিত্ব করে।
- হীরা: হীরাগুলি সত্তাগুলির মধ্যে সম্পর্ককে প্রতিনিধিত্ব করে।
- রেখা: রেখাগুলি সত্তাগুলির বৈশিষ্ট্য এবং অন্যান্য সম্পর্কের ধরণের সত্তা সেটগুলিকে প্রতিনিধিত্ব করে।
- দ্বৈত উপবৃত্ত: দ্বিগুণ উপবৃত্ত বহু-মূল্যবান বৈশিষ্ট্যগুলিকে প্রতিনিধিত্ব করে।
দ্বৈত আয়তক্ষেত্র: দ্বিগুণ আয়তক্ষেত্র একটি দুর্বল সত্তাকে প্রতিনিধিত্ব করে।
ER ডায়াগ্রামের উপাদান :-
ER মডেলে একটি ডাটাবেস সিস্টেমে সত্তা, বৈশিষ্ট্য এবং সত্তার মধ্যে সম্পর্ক থাকে।
সত্তা (ER)কী?
একটি সত্তা এমন একটি বস্তু হতে পারে যার একটি ভৌত অস্তিত্ব রয়েছে: একটি নির্দিষ্ট ব্যক্তি, গাড়ি, বাড়ি, বা কর্মচারী অথবা এটি একটি ধারণাগত অস্তিত্ব সহ একটি বস্তু হতে পারে – একটি কোম্পানি, একটি চাকরি, অথবা একটি বিশ্ববিদ্যালয় কোর্স।
সত্তা (ER) সেট কী?
একটি সত্তা বলতে একটি সত্তা ধরণের একটি পৃথক বস্তুকে বোঝায় এবং একটি নির্দিষ্ট ধরণের সমস্ত সত্তার সংগ্রহকে সত্তা সেট বলা হয়। উদাহরণস্বরূপ, E1 হল একটি সত্তা যা “ছাত্র” ধরণের সত্তার অন্তর্গত এবং সমস্ত ছাত্রের গোষ্ঠী সত্তা সেট গঠন করে। নীচের ER চিত্রে, সত্তার ধরণটি নিম্নরূপে উপস্থাপন করা হয়েছে:
সত্তার (ER) প্রকারভেদ
দুই ধরণের সত্তা রয়েছে:
১. শক্তিশালী সত্তা
একটি শক্তিশালী সত্তা হল এমন এক ধরণের সত্তা যার একটি মূল বৈশিষ্ট্য থাকে। শক্তিশালী সত্তা স্কিমার অন্য সত্তার উপর নির্ভর করে না। এর একটি প্রাথমিক কী থাকে, যা এটিকে অনন্যভাবে সনাক্ত করতে সাহায্য করে এবং এটি একটি আয়তক্ষেত্র দ্বারা প্রতিনিধিত্ব করা হয়। এগুলিকে শক্তিশালী সত্তার প্রকার বলা হয়।
২. দুর্বল সত্তা
একটি সত্তার প্রকারের একটি মূল বৈশিষ্ট্য থাকে যা সত্তা সেটের প্রতিটি সত্তাকে স্বতন্ত্রভাবে সনাক্ত করে। কিন্তু কিছু সত্তার প্রকার বিদ্যমান থাকে যার জন্য মূল বৈশিষ্ট্য সংজ্ঞায়িত করা যায় না। এগুলিকে দুর্বল সত্তার প্রকার বলা হয়।
উদাহরণস্বরূপ, একটি কোম্পানি একজন কর্মচারীর নির্ভরশীলদের (পিতামাতা, সন্তান, স্বামী/স্ত্রী) তথ্য সংরক্ষণ করতে পারে। কিন্তু নির্ভরশীলরা কর্মচারী ছাড়া থাকতে পারে না। তাই নির্ভরশীল একটি দুর্বল সত্তার প্রকার হবে এবং কর্মচারী নির্ভরশীলদের জন্য সত্তার প্রকার সনাক্ত করবে, যার অর্থ এটি শক্তিশালী সত্তার প্রকার।
একটি দুর্বল সত্তার প্রকার একটি দ্বিগুণ আয়তক্ষেত্র দ্বারা প্রতিনিধিত্ব করা হয়। দুর্বল সত্তার প্রকারের অংশগ্রহণ সর্বদা মোট। দুর্বল সত্তার ধরণ এবং এর শনাক্তকারী শক্তিশালী সত্তার ধরণ-এর মধ্যে সম্পর্ককে শনাক্তকারী সম্পর্ক বলা হয় এবং এটি একটি দ্বিগুণ হীরা দ্বারা প্রতিনিধিত্ব করা হয়।
বৈশিষ্ট্যগুলি (Attribute )কী কী?
অ্যাট্রিবিউটগুলি হল সেই বৈশিষ্ট্যগুলি যা সত্তার ধরণ নির্ধারণ করে। উদাহরণস্বরূপ, Roll_No, Name, DOB, Age, Address, এবং Mobile_No হল সেই বৈশিষ্ট্যগুলি যা সত্তার ধরণ নির্ধারণ করে। ER ডায়াগ্রামে, বৈশিষ্ট্যটি একটি ডিম্বাকৃতি দ্বারা প্রতিনিধিত্ব করা হয়।
বৈশিষ্ট্যের প্রকারভেদ:-
১. কী বৈশিষ্ট্য
যে বৈশিষ্ট্যটি সত্তা সেটের প্রতিটি সত্তাকে স্বতন্ত্রভাবে চিহ্নিত করে তাকে কী বৈশিষ্ট্য বলা হয়। উদাহরণস্বরূপ, Roll_No প্রতিটি শিক্ষার্থীর জন্য অনন্য হবে। ER ডায়াগ্রামে, কী বৈশিষ্ট্যটি অন্তর্নিহিত রেখা সহ একটি ডিম্বাকৃতি দ্বারা প্রতিনিধিত্ব করা হয়।
২. কম্পোজিট অ্যাট্রিবিউট :-
অন্যান্য অনেক অ্যাট্রিবিউটের সমন্বয়ে গঠিত একটি অ্যাট্রিবিউটকে কম্পোজিট অ্যাট্রিবিউট বলা হয়।
উদাহরণস্বরূপ, স্টুডেন্ট এন্টিটি টাইপের অ্যাড্রেস অ্যাট্রিবিউটে স্ট্রিট, সিটি, স্টেট এবং কান্ট্রি থাকে।
ER ডায়াগ্রামে, কম্পোজিট অ্যাট্রিবিউটটি ডিম্বাকৃতির সমন্বয়ে গঠিত একটি ডিম্বাকৃতি দ্বারা প্রতিনিধিত্ব করা হয়।
৩. বহুমূল্যায়িত বৈশিষ্ট্য :-
একটি বৈশিষ্ট্য যা একটি নির্দিষ্ট সত্তার জন্য একাধিক মান নিয়ে গঠিত। উদাহরণস্বরূপ, ফোন_নং (একটি নির্দিষ্ট শিক্ষার্থীর জন্য একাধিক হতে পারে)। ER চিত্রে, একটি বহুমূল্যায়িত বৈশিষ্ট্যকে একটি দ্বিগুণ ডিম্বাকৃতি দ্বারা প্রতিনিধিত্ব করা হয়।
৪. প্রাপ্ত বৈশিষ্ট্য :-
যে বৈশিষ্ট্যটি সত্তা ধরণের অন্যান্য বৈশিষ্ট্য থেকে প্রাপ্ত হতে পারে তাকে প্রাপ্ত বৈশিষ্ট্য বলা হয়। যেমন; বয়স (DOB থেকে প্রাপ্ত হতে পারে)। ER চিত্রে, প্রাপ্ত বৈশিষ্ট্যটি একটি ড্যাশযুক্ত ডিম্বাকৃতি দ্বারা প্রতিনিধিত্ব করা হয়।
সম্পূর্ণ সত্তা ধরণের শিক্ষার্থীকে তার বৈশিষ্ট্য সহ নিম্নলিখিতভাবে উপস্থাপন করা যেতে পারে:
সম্পর্কের ধরণ এবং সম্পর্কের সেট :-
একটি সম্পর্কের ধরণ সত্তার ধরণের মধ্যে সংযোগকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, ‘এনরোলড ইন’ হল একটি সম্পর্কের ধরণ যা সত্তার ধরণের ছাত্র এবং কোর্সের মধ্যে বিদ্যমান। ER ডায়াগ্রামে, সম্পর্কের ধরণটি একটি হীরা দ্বারা প্রতিনিধিত্ব করা হয় এবং সত্তাগুলিকে রেখার সাথে সংযুক্ত করে।
একই ধরণের সম্পর্কের সেটকে সম্পর্ক সেট বলা হয়। নিম্নলিখিত সম্পর্কের সেটে S1 কে C2 তে নথিভুক্ত, S2 কে C1 তে নথিভুক্ত এবং S3 কে C3 তে নিবন্ধিত দেখানো হয়েছে।
Database Management System (DBMS)
একটি সম্পর্কের সেটের ডিগ্রি :-
একটি সম্পর্কের সেটে অংশগ্রহণকারী বিভিন্ন সত্তা সেটের সংখ্যাকে একটি সম্পর্কের সেটের ডিগ্রি বলা হয়।
১. একমুখী সম্পর্ক: যখন একটি সম্পর্কের মধ্যে শুধুমাত্র একটি সত্তা সেট অংশগ্রহণ করে, তখন সেই সম্পর্ককে একমুখী সম্পর্ক বলা হয়। উদাহরণস্বরূপ, একজন ব্যক্তি শুধুমাত্র একজন ব্যক্তির সাথে বিবাহিত।
২. বাইনারি সম্পর্ক: যখন কোনও সম্পর্কে দুটি সত্তা অংশগ্রহণ করে, তখন সেই সম্পর্কটিকে বাইনারি সম্পর্ক বলা হয়। উদাহরণস্বরূপ, একজন শিক্ষার্থী একটি কোর্সে ভর্তি হয়েছে।
৩. ত্রিমুখী সম্পর্ক: যখন একটি সম্পর্কে তিনটি সত্তার সেট অংশগ্রহণ করে, তখন সেই সম্পর্ককে ত্রিমুখী সম্পর্ক বলা হয়।
৪. N-ary সম্পর্ক: যখন একটি সম্পর্কে n সত্তার সেট অংশগ্রহণ করে, তখন সেই সম্পর্ককে n-ary সম্পর্ক বলা হয়।
কিভাবে একটি ER ডায়াগ্রাম আঁকবেন :-
প্রথম ধাপ হল সমস্ত সত্তা চিহ্নিত করা
এই সত্তাগুলিকে একটি আয়তক্ষেত্রে উপস্থাপন করুন এবং সেগুলি অনুসারে লেবেল করুন।
পরবর্তী ধাপ হল তাদের মধ্যে সম্পর্ক চিহ্নিত করা এবং ডায়মন্ড আকৃতি ব্যবহার করে সেগুলি অনুসারে উপস্থাপন করা। নিশ্চিত করুন যে সম্পর্কগুলি একে অপরের সাথে সরাসরি সংযুক্ত নয়।
ডিম্বাকৃতি ব্যবহার করে সত্তাগুলিতে বৈশিষ্ট্য সংযুক্ত করুন। প্রতিটি সত্তার একাধিক বৈশিষ্ট্য থাকতে পারে (যেমন নাম, বয়স, ইত্যাদি), যা সংশ্লিষ্ট সত্তার সাথে সংযুক্ত।
প্রতিটি সত্তাকে প্রাথমিক কী বরাদ্দ করুন। এগুলি অনন্য শনাক্তকারী যা সত্তার প্রতিটি উদাহরণকে আলাদা করতে সাহায্য করে। আন্ডারলাইন করা বৈশিষ্ট্য দিয়ে তাদের প্রতিনিধিত্ব করুন।
যেকোন অপ্রয়োজনীয় বা পুনরাবৃত্তিমূলক সত্তা এবং সম্পর্কগুলি সরান
চিত্রটি পর্যালোচনা করুন যাতে নিশ্চিত হন যে এটি স্পষ্ট এবং কার্যকরভাবে সত্তাগুলির মধ্যে সম্পর্ক প্রকাশ করে।
বংশগতি এবং কয়েকটি সাধারণ জিনগত রোগ
কোষ বিভাজন ও কোষ চক্র
জীবজগতের নিয়ন্ত্রণ ও সমন্বয়