আজকে আমাদের আলোচনার বিষয় – ডাটা মডেল যা অধ্যায়-৩ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
ডাটা মডেল
ডাটা মডেল
ডাটা এলিমেন্ট এবং ডাটা এলিমেন্টের মধ্যে রিলেশনশীপ স্থাপনে ডাটা মডেল ডিফাইন করে থাকে। Data model মূলত ডাটা স্ট্রাকচারের মূল ভিত্তি অর্থাৎ ডাটাবেসের ডিজাইনিং স্ট্রাকচারই হচ্ছে ডাটা মডেলের ফিজিক্যা লজিক্যাল এবং ভিউ লেভেলে ডাটাবেসের ডিজাইন সংক্রান্ত বর্ণনাকে ডাটা মডেল অনুমোদন ও বর্ণনা করে থাকে।
সুতরাং ডাটার গঠন, ডাটার বর্ণনা, ডাটার রিলেশনশীপ, ডাটার বাধ্যবাধকতা বা ডাটার শর্তারোপ ইত্যাদি বর্ণনা করার জ কতগুলো কনসেপচুয়াল Tools এর সমষ্টি বা সংগ্রহকে ডাটা মডেল বলে।
E-R ডায়াগ্রাম-এর প্রতীক
ডাটাবেসে (database) এর সার্বিক লজিক্যাল স্ট্রাকচার (overall logical structure)-কে কতকগুলো গ্রাফিক্যাল সিং (Graphical symbol) এর সাহায্যে তৈরি এনটিটি রিলেশনশীপ (Entity Relationship) বা E-R ডায়াগ্রাম দ্বারা এক্সপ্রেস (expre করা যায়। নিম্নে E-R ডায়াগ্রামে ব্যবহৃত বিভিন্ন সিম্বল (Symbol)-গুলোর নামসহ বর্ণনা দেয়া হলঃ
১। আয়তক্ষেত্র (Rectangles):

স্ট্রং এনটিটি সেট (Entity set)-কে প্রকাশ (represent) করার জন্য এ আয়তক্ষেত্র সিম্বল (symbol) টি ব্যবহার করা হয়।
২। উপবৃত্ত (Ellipses) :

এনটিটি সেট (entity set)-এর অ্যাট্রিবিউট (attribute)-কে প্রকাশ (represent) করার জন্য এ উপবৃত্ত সিম্বল (Symbol) ব্যবহৃত হয়।
৩। ডায়মন্ড (Diamonds):

রিলেশনশীপ সেট (Relationship set)-কে প্রকাশ (represent) করার জন্য এ ডায়মন্ড সিম্বল (Diamond symbol)টি ব্যবহ করা হয়।
৪। লাইন (Lines):

লাইন (Lines) দ্বারা অ্যাট্রিবিউট (Attribulite)-কে এনটিটি সেট (entity set)-এর সাথে এবং এনটিটি সেটকে রিলেশনশীপ সে (Relationship set)-এর সাথে লিঙ্ক (link) করা হয়। উল্লেখ্য, লাইন (line) দুই ধরনের হয়ে থাকে, যথাঃ
(ক) প্রত্যক্ষ লাইন (Direct line)
(খ) পরোক্ষ লাইন (Indirect line)

ম্যাপিং কার্ডিনালিটি স্পেসিফাই (Mapping cardinality specity) করার জন্য E-R ডায়াগ্রামে এ লাইন দুটি ব্যবহার করা হয়।
৫। ডাবল আয়তক্ষেত্র (Double rectangles):

উইক এনটিটি সেট (Weak entity set)-কে প্রকাশ (represent) করার জন্য এ ডাবল আয়তক্ষেত্র সিম্বল (Symbol)টি ব্যবহার করা হয়।
৬। ডাবল ডায়মন্ড (Double diamonds):

উইক এনটিটি সেট (Weak entity set)-এর সাথে রিলেশনশীপ সেট (rlationship set)-কে প্রকাশ করার জন্য এই ডাবল ডায়মন্ড সিম্বল (Symbol)টি ব্যবহার করা হয়।
৭। ডাবল উপবৃত্ত (Double ellipses):

মাল্টিভ্যালুড অ্যাট্রিবিউট (Multivalued attribute)-কে প্রকাশ (represent) করার জন্য এ ডাবল উপবৃত্ত সিম্বলটি ব্যবহৃত হয়।
৮। ড্যাশ উপবৃত্ত (Dashed ellipses):

ডিরাইভড্ অ্যাট্রিবিউট (Derived attribute)-কে প্রকাশ করার জন্য এ ড্যাশ উপবৃত্ত সিম্বলটি ব্যবহার করা হয়।
৯। ডাবল লাইন (Double lines):

১০। প্রাইমারি কী (Primary key):

প্রাইমারি কী (Primary Key)-কে উপস্থাপনের জন্য এ সিম্বলটি ব্যবহৃত হয়।
১১। উইক এনটিটি সেটের ডিসক্রিমিনেটিং:
উইক এনটিটি সেটের ডিসক্রিমিনেটিং অ্যাট্রিবিউটকে উপস্থাপন করার জন্য ব্যবহার করা হয়।
১২। রিলেশনশীপ সেটে এনটিটি সেটের টোটাল পার্টিসিপেশন:
রিলেশনশীপ সেট এনটিটি সেটের টোটাল পার্টিসিপেশনকে উপস্থাপনের জন্য ব্যবহার করা হয়।
১৩। মেনি-টু-মেনি রিলেশনশীপ:
মেনি-টু-মেনি রিলেশনশীপ সেটকে উপস্থাপনের জন্য ব্যবহার করা হয়।
১৪। ওয়ান-টু-ওয়ান রিলেশনশীপ:
ওয়ান-টু-ওয়ান রিলেশনশীপ সিম্বলটি সেটকে উপস্থাপনের জন্য ব্যবহার করা হয়।
১৫। মেনি-টু-ওয়ান রিলেশনশীপ :
মেনি-টু-ওয়ান রিলেশনশীপ সিম্বলটি সেটকে উপস্থাপনের জন্য ব্যবহৃত হয়।
১৬। রোল ইন্ডিকেটর:
এনটিটি সেটের এনটিটির রোল (Role) নির্দেশ করার জন্য এ সিম্বলটি ব্যবহৃত।
১৭। ISA (স্পেশালাইজেশন বা জেনারালাইজেশন):
স্পেশালাইজেশন বা জেনারালাইজেশনকে উপস্থাপন করার জন্য এ সিম্বলটি ব্যবহৃত হয়।।
১৮। টোটাল জেনারালাইজেশন:
টোটাল জেনারালাইজেশনকে উপস্থাপন করার জন্য এ সিম্বলটি ব্যবহার করা হয়।
১৯। ডিসজয়েন্ট জেনারালাইজেশন:
ডিসজয়েন্ট জেনারালাইজেশনকে উপস্থাপন করার জন্য এ সিম্বলটি ব্যবহার করা হয়।
রিলেশনশীপ সেট (Relationship set)-এর মধ্যে একটি এনটিটি সেট এর সার্বিক পার্টিসিপেশন (Participation) নির্দেশ (Indicate) করার জন্য এ সিম্বল (Symbol)টি ব্যবহৃত হয়।
নিচে E-R ডায়াগ্রামে ব্যবহৃত বিভিন্ন সিম্বল (Symbol)-এর সাহায্যে একটি E-R ডায়াগ্রাম (E-R diagram) অঙ্কন করা হলঃ

আরও দেখুনঃ