নেটওয়ার্ক মডেল কী?
নেটওয়ার্ক মডেল হায়ারার্কিক্যাল স্ট্রাকচারের এক্সটেনশন, কারণ এটি Many-to-Many রিলেশনশিপ ট্রি-লাইক স্ট্রাকচারে ম্যানেজ করতে দেয় য 곳에 একাধিক পেরেন্ট থাকতে পারে।
নেটওয়ার্ক মডেলের দুটি মৌলিক ধারণা
- রেকর্ডে ফিল্ড থাকে যেগুলো হায়ারার্কিক্যালি সংগঠিত হতে হয়।
- Set (সেট) ব্যবহার করে One-to-Many রিলেশনশিপ ডিফাইন করা হয়, যেখানে এক.owner (owner) এবং অনেক member (member) থাকে।
একটি রেকর্ড যেকোনো সংখ্যক সেটে owner এবং যেকোনো সংখ্যক সেটে member হিসেবে কাজ করতে পারে।
নোট: Set কে গাণিতিক সেটের সাথে গুলিয়ে নেওয়া উচিত নয়।
সেট সার্কুলার লিঙ্কড লিস্ট দিয়ে ডিজাইন করা হয় যেখানে owner (parent) প্রতিটি সার্কেলে একবার আসে এবং subordinate/child (member) একাধিকবার আসতে পারে। দুটি রেকর্ড টাইপের মধ্যে হায়ারার্কি স্থাপন হয় যেখানে এক টাইপ (A) অন্য টাইপ (B)-র owner। একই সাথে অন্য সেটে B, A-এর owner হতে পারে। এই মডেলে ownership দিক নির্দেশ করে, তাই সকল সেট একটি সাধারণ ডায়ারেক্টেড গ্রাফ তৈরি করে। রেকর্ড অ্যাক্সেস সার্কুলার লিঙ্কড লিস্টের ইন্ডেক্সিং স্ট্রাকচার দ্বারা হয়।
নেটওয়ার্ক মডেলের প্রধান বৈশিষ্ট্য
- হায়ারার্কিক্যাল মডেলের চেয়ে ডেটা রিডান্ডেন্সি বেশি কার্যকরভাবে রিপ্রেজেন্ট করতে পারে।
- একটি পূর্বের নোড থেকে সাকসেসর নোডে একাধিক পথ থাকতে পারে।
- অপারেশন সার্কুলার লিঙ্কড লিস্টের ইন্ডেক্সিং স্ট্রাকচার দ্বারা মেইন্টেইন হয়, যেখানে প্রোগ্রাম কারেন্ট পজিশন মেইন্টেইন করে এবং রিলেশনশিপ ফলো করে নেভিগেট করে।
- রেকর্ড কী ভ্যালু দিয়েও লোকেট করা যায়।
নিচের ডায়াগ্রাম একটি নেটওয়ার্ক মডেল দেখাচ্ছে। একটি এজেন্ট অনেক ক্লায়েন্ট রিপ্রেজেন্ট করে এবং অনেক エンターテйнার ম্যানেজ করে। প্রতিটি ক্লায়েন্ট যেকোনো সংখ্যক এনগেজমেন্ট শিডিউল করে এবং এজেন্টকে পেমেন্ট করে। প্রতিটি এন্টারটেইনার একাধিক এনগেজমেন্টে পারফর্ম করে এবং বিভিন্ন মিউজিক্যাল স্টাইল बजায়।

রেকর্ডের সংগ্রহ নোড দ্বারা রিপ্রেজেন্ট করা হয় এবং সেট স্ট্রাকচার নেটওয়ার্কে রিলেশনশিপ স্থাপন করে। এটি একটি নোডকে owner এবং অন্যটিকে member হিসেবে ব্যবহার করে নোডের জোড়া রিলেট করে। One-to-Many রিলেশনশিপ সেট স্ট্রাকচার দ্বারা ম্যানেজ হয়: owner নোডের একটি রেকর্ড member নোডের এক বা একাধিক রেকর্ডের সাথে রিলেটেড হতে পারে, কিন্তু member নোডের একটি রেকর্ড শুধু একটি owner নোডের রেকর্ডের সাথে রিলেটেড।
অতিরিক্তভাবে, member নোডের একটি রেকর্ড owner নোডের কোনো বিদ্যমান রেকর্ডের সাথে রিলেটেড না থাকলে অস্তিত্বে থাকতে পারে না। উদাহরণ: একটি ক্লায়েন্ট অবশ্যই একটি এজেন্টের অধীনে থাকতে হবে, কিন্তু ক্লায়েন্ট না থাকলেও এজেন্ট ডাটাবেসে লিস্টেড থাকতে পারে।

উপরোক্ত ডায়াগ্রাম বেসিক সেট স্ট্রাকচার দেখাচ্ছে। একটি নির্দিষ্ট নোড জোড়ার মধ্যে একাধিক সেট (কানেকশন) ডিফাইন করা যায় এবং একটি নোড অন্য নোডের সাথে আরও সেটে জড়িত থাকতে পারে।
উপযুক্ত সেট স্ট্রাকচার দিয়ে নেটওয়ার্ক মডেলে ডেটা সহজে অ্যাক্সেস করা যায়। রুট নোড বেছে নেওয়ায় কোনো রস্ট্রিকশন নেই, যেকোনো নোড থেকে ব্যাকওয়ার্ড বা ফরওয়ার্ড রিলেটেড সেট দিয়ে ডেটা অ্যাক্সেস করা যায়।
উদাহরণ: একজন ব্যবহারকারী নির্দিষ্ট এনগেজমেন্ট বুক করা এজেন্ট খুঁজতে চায়। তিনি ENGAGEMENTS নোডে উপযুক্ত এনগেজমেন্ট রেকর্ড লোকেট করेंगे, তারপর Schedule সেট স্ট্রাকচার দিয়ে কোন ক্লায়েন্ট সেই এনগেজমেন্ট 'own' করেছে তা জানবেন, সবশেষে Represent সেট স্ট্রাকচার দিয়ে ক্লায়েন্ট রেকর্ড 'own' করা এজেন্টকে চিহ্নিত করবেন।
সুবিধা
- দ্রুত ডেটা অ্যাক্সেস।
- হায়ারার্কিক্যাল ডাটাবেসের চেয়ে আরও জটিল কোয়েরি চালাতে দেয়, তাই çeşitli ধরনের কোয়েরি রান করা যায়।
অসুবিধা
- ব্যবহারকারীকে ডাটাবেস স্ট্রাকচার খুব ভালোভাবে জানতে হয় সেট স্ট্রাকচারের মাধ্যমে কাজ করতে।
- এই ডাটাবেসে আপডেট করা কষ্টসाध्य। সেট স্ট্রাকচার পরিবর্তন করলে সেই স্ট্রাকচার ব্যবহার করে নেভিগেট করার অ্যাপ্লিকেশন প্রোগ্রামগুলো প্রভাবিত হয়। সেট স্ট্রাকচার পরিবর্তন করলে অ্যাপ্লিকেশন প্রোগ্রামের সব রেফারেন্সও মডিফাই করতে হয়।