অবজেক্ট-ভিত্তিক ডেটাবেস: ধারণা, মৌলিক ধারণা, ব্যবস্থাপনা, উদাহরণ

সুচিপত্র:

অবজেক্ট-ভিত্তিক ডেটাবেস: ধারণা, মৌলিক ধারণা, ব্যবস্থাপনা, উদাহরণ
অবজেক্ট-ভিত্তিক ডেটাবেস: ধারণা, মৌলিক ধারণা, ব্যবস্থাপনা, উদাহরণ
Anonim

অবজেক্ট-ওরিয়েন্টেড ডাটাবেসে (OODBs), ব্যবহারকারীরা একটি নির্দিষ্ট ডাটাবেসে ক্রিয়াকলাপ সেট করতে পারে, যা বিভিন্ন ধরণের বস্তুর সমন্বয়ে গঠিত এবং যার জন্য অপারেশন সেট করা হয়। তারা দক্ষতার সাথে বাইনারি তথ্য যেমন মাল্টিমিডিয়া অবজেক্ট পরিচালনা করতে পারে। OODB এর আরেকটি অতিরিক্ত সুবিধা হল যে এটি সম্পূর্ণ সিস্টেমকে প্রভাবিত না করে সামান্য পদ্ধতিগত পার্থক্যের সাথে প্রোগ্রাম করা যেতে পারে।

মান তৈরির পূর্বশর্ত

অবজেক্ট-ওরিয়েন্টেড OODB ডাটাবেসের ইতিহাস গত শতাব্দীর শেষের দিকে শুরু হয়। এগুলি নতুন অ্যাপ্লিকেশনের চাহিদা মেটাতে তৈরি করা হয়েছিল। ধারণাটি ছিল যে অবজেক্ট-ওরিয়েন্টেড ডাটাবেস 1990 এর দশকে সফ্টওয়্যার সিস্টেমে বিপ্লব ঘটাবে। এটা এখন স্পষ্ট যে এটি এমন নয়। যাইহোক, বিনামূল্যে সফ্টওয়্যার সম্প্রদায়ের মাধ্যমে এই ধারণার পুনরুজ্জীবন এবং এটির জন্য উপযুক্ত অ্যাপ্লিকেশনগুলির সনাক্তকরণ বৈশিষ্ট্যগুলির পর্যালোচনাকে অনুপ্রাণিত করেOODB, যা সর্বব্যাপী রিলেশনাল ডাটাবেসের বিকল্প।

মান তৈরির পূর্বশর্ত
মান তৈরির পূর্বশর্ত

অবজেক্ট-ওরিয়েন্টেড কিছু বা সমস্ত প্রয়োজনীয়তা পরিচালনা করার জন্য নমনীয়তা প্রদান করে এবং এটি ঐতিহ্যগত ডাটাবেসের ডেটা প্রকার এবং কোয়েরি ভাষার মধ্যে সীমাবদ্ধ নয়। OODB-এর একটি প্রধান বৈশিষ্ট্য হল তারা বিকাশকারীকে প্রদান করার ক্ষমতা, যা তাকে জটিল বস্তুর গঠন এবং অ্যাপ্লিকেশন অপারেশন উভয়ই নির্দিষ্ট করতে দেয়। OODB তৈরির আরেকটি কারণ হল সফটওয়্যার ডেভেলপমেন্টের জন্য ভাষার ক্রমবর্ধমান ব্যবহার।

ডেটাবেসগুলি অনেক তথ্য ব্যবস্থার ভিত্তি হয়ে উঠেছে, কিন্তু প্রথাগত ডেটাবেসগুলি ব্যবহার করা কঠিন যখন সেগুলিতে অ্যাক্সেস করা অ্যাপ্লিকেশনগুলি C++, Smalltalk বা Java এ লেখা হয়। উদাহরণস্বরূপ, 1C অবজেক্ট-ওরিয়েন্টেড ডাটাবেসগুলি এমনভাবে ডিজাইন করা হয়েছিল যে তারা তাদের ধারণাগুলি গ্রহণ করে অবজেক্ট-ওরিয়েন্টেড ভাষা ব্যবহার করে অ্যাপ্লিকেশনগুলির সাথে সরাসরি সংহত করা যেতে পারে: ভিজ্যুয়াল স্টুডিও.নেট, সি ++, সি, মাইক্রোসফ্ট এসকিউএল সার্ভার এবং অন্যান্য।

OODB-এর প্রধান সুবিধা হল পরবর্তী কর্মক্ষমতা উন্নতির সাথে RMs1 (প্রতিবন্ধকতা) এর প্রয়োজনীয়তা সম্পূর্ণভাবে দূর করা।

OODB এর প্রধান সুবিধা
OODB এর প্রধান সুবিধা

ত্রুটিগুলি:

  1. খুব আদিম পরামর্শ প্রক্রিয়া, কোনো স্ব-মানসম্মত প্ল্যাটফর্ম নেই।
  2. প্রক্রিয়া সংরক্ষণ করা যাবে না কারণ বস্তুগুলি শুধুমাত্র ক্লায়েন্টে অ্যাক্সেস করা যেতে পারে।
  3. বাজারে অপরিপক্কতা।
  4. অবজেক্টের কোনো শারীরিক গ্রুপিং নেই।

অবজেক্ট প্যারাডাইম

অবজেক্ট প্যারাডাইম
অবজেক্ট প্যারাডাইম

অবজেক্ট-ওরিয়েন্টেড ডাটাবেস হল প্রোগ্রামেবল ডাটাবেস যেগুলি সারি এবং কলাম বরাদ্দ না করেই জটিল ডেটা এবং এর সম্পর্কগুলিকে সরাসরি সঞ্চয় করে, বড় ব্যাচগুলির সাথে কাজ করে এমন অ্যাপ্লিকেশনগুলির জন্য তাদের আরও উপযুক্ত করে তোলে। বস্তুর বহু-থেকে-অনেক সম্পর্ক রয়েছে এবং সম্পর্ক স্থাপনের জন্য তাদের সাথে যুক্ত পয়েন্টার ব্যবহার করে অ্যাক্সেসযোগ্য। যেকোনো প্রোগ্রামেবলের মতো, OODB একটি অ্যাপ্লিকেশন ডেভেলপমেন্ট পরিবেশ এবং শোষণের জন্য প্রস্তুত একটি অবিরাম সংগ্রহস্থল সরবরাহ করে। এটি বস্তুর আকারে ডিজিটাইজ করা যেতে পারে এমন তথ্য সঞ্চয় করে এবং পরিচালনা করে, দ্রুত অ্যাক্সেস প্রদান করে এবং দুর্দান্ত প্রক্রিয়াকরণ ক্ষমতা প্রদান করে।

একটি অবজেক্ট-ওরিয়েন্টেড ডাটাবেসে ব্যবহৃত মৌলিক ধারণা:

  • বস্তুর পরিচয়;
  • কনস্ট্রাক্টর প্রকার;
  • ভাষার সামঞ্জস্য;
  • টাইপ শ্রেণিবিন্যাস এবং উত্তরাধিকার;
  • প্রসেসিং জটিল বস্তু;
  • পলিমরফিজম এবং অপারেটর ওভারলোডিং;
  • সংস্করণ তৈরি করা হচ্ছে।
সংস্করণ
সংস্করণ

একটি অবজেক্ট-ওরিয়েন্টেড ডাটাবেসের বৈশিষ্ট্যযুক্ত সমস্ত দিক সম্পূর্ণরূপে বিবেচনা করার জন্য, সমস্ত গুরুত্বপূর্ণ অবজেক্ট প্যারাডাইমগুলি নোট করা গুরুত্বপূর্ণ:

  1. এনক্যাপসুলেশন এমন একটি সম্পত্তি যা আপনাকে অন্য বস্তুর তথ্য লুকানোর অনুমতি দেয়, যার ফলে ভুল অ্যাক্সেস বা বিরোধ প্রতিরোধ হয়।
  2. উত্তরাধিকার এমন একটি সম্পত্তি যার দ্বারা বস্তুগুলি একটি শ্রেণি অনুক্রমের আচরণের উত্তরাধিকারী হয়৷
  3. পলিমরফিজম একটি অপারেশনের একটি বৈশিষ্ট্য যার সাথে এটি প্রয়োগ করা যেতে পারেবিভিন্ন ধরনের বস্তু।
  4. একটি অপারেশনের ইন্টারফেস বা স্বাক্ষর এর আর্গুমেন্ট বা প্যারামিটারের নাম এবং ডেটা প্রকার অন্তর্ভুক্ত করে।
  5. একটি অপারেশনের বাস্তবায়ন বা পদ্ধতি আলাদাভাবে নির্দিষ্ট করা হয় এবং ইন্টারফেসকে প্রভাবিত না করেই পরিবর্তন করা যেতে পারে। ব্যবহারকারী অ্যাপ্লিকেশনগুলি তাদের নাম এবং আর্গুমেন্টের মাধ্যমে নির্দিষ্ট ক্রিয়াকলাপগুলিকে কল করে ডেটার সাথে কাজ করতে পারে, সেগুলি যেভাবে বাস্তবায়িত হয়েছে তা নির্বিশেষে৷

ক্লাস এবং কার্যকারিতা

ক্লাস এবং কার্যকারিতা
ক্লাস এবং কার্যকারিতা

OODB-তে ক্লাসের ধারণা বিবেচনা করার সময়, "ক্লাস" এবং "টাইপ" শব্দের মধ্যে পার্থক্য করা প্রয়োজন। অনুরূপ আচরণ সহ বস্তুর একটি সেট বর্ণনা করতে একটি প্রকার ব্যবহার করা হয়। এই অর্থে, এটি অবজেক্টে কী অপারেশন বলা যেতে পারে তার উপর নির্ভর করে। একটি শ্রেণী হল বস্তুর একটি সংগ্রহ যা একই অভ্যন্তরীণ কাঠামো ভাগ করে, তাই এটি একটি বাস্তবায়নকে সংজ্ঞায়িত করে, যখন একটি প্রকার বর্ণনা করে কিভাবে এটি ব্যবহার করতে হয়৷

ইনস্ট্যান্টেশন শব্দটি এই সত্যটিকে বোঝায় যে একটি ক্লাসের ইনস্ট্যান্টিয়েশন এমন একটি বস্তুর সেট তৈরি করতে ব্যবহার করা যেতে পারে যার কাঠামো এবং আচরণ ক্লাস দ্বারা সেট করা একই রকম।

একটি বৈশিষ্ট্য যা বস্তুর বিবর্তনের জন্য অত্যন্ত গুরুত্বপূর্ণ তা হল এটি পরিচয় বজায় রেখে বৈশিষ্ট্য এবং ক্রিয়াকলাপ সহ তার শ্রেণী পরিবর্তন করতে পারে। এর ফলে শব্দার্থিক অখণ্ডতা পরিচালনা করার জন্য একটি প্রক্রিয়ার প্রয়োজন হবে৷

একটি প্রতিষ্ঠানের অবজেক্ট-ওরিয়েন্টেড ডাটাবেস উত্তরাধিকারসূত্রে পাওয়া একটি ক্লাসকে ইতিমধ্যে বিদ্যমান সুপারক্লাসের একটি সাবক্লাস হিসাবে সংজ্ঞায়িত করার অনুমতি দেয়। এটি পরবর্তী থেকে সমস্ত বৈশিষ্ট্য এবং পদ্ধতির উত্তরাধিকারী হবে এবং ঐচ্ছিকভাবে সংজ্ঞায়িত করতে পারেনিজস্ব এই ধারণাটি পুনর্ব্যবহার সমর্থন করার জন্য একটি গুরুত্বপূর্ণ প্রক্রিয়া। দুটি ভিন্ন শ্রেণীর কাঠামোর একই অংশগুলি শুধুমাত্র একটি সাধারণ সুপারক্লাসে একবার সংজ্ঞায়িত করা যেতে পারে, এইভাবে কম কোড লেখা হবে। কিছু সিস্টেম আছে যা একটি ক্লাসকে একাধিক সুপারক্লাসের সাবক্লাস হতে দেয়। এই বৈশিষ্ট্যটিকে একক উত্তরাধিকারের বিপরীতে একাধিক উত্তরাধিকার বলা হয়৷

একটি অবজেক্ট-ওরিয়েন্টেড ডাটাবেসের উদাহরণ

পিকচার এবং ভিডিও ক্লাস থেকে মিডিয়া সুপারক্লাসের বিভিন্ন কিন্তু একই পদ্ধতির জন্য একই নাম ব্যবহার করা প্রায়ই উপযোগী। অনেক ফাইল বিভিন্ন দর্শক দ্বারা দেখা যেতে পারে. তাদের প্রায়ই "ভিউ" পদ্ধতি ব্যবহার করে সমস্ত ফটো এবং ভিডিও দেখতে হবে এবং উপযুক্ত প্রোগ্রামটি চালু করতে হবে। যখন ফাংশনটি কল করা হয় এবং ভিডিওর একটি লিঙ্ক পাস করা হয়, তখন মিডিয়া প্লেয়ার চালু হয়। এই বৈশিষ্ট্যটি বাস্তবায়ন করার জন্য, প্রথমত, ছবি এবং ভিডিও ক্লাস থেকে সাধারণ মিডিয়া সুপারক্লাসে "প্রেজেন্টেশন" অপারেশনটি সংজ্ঞায়িত করা প্রয়োজন। প্রতিটি সাবক্লাস তাদের নির্দিষ্ট প্রয়োজনের জন্য লুকআপ অপারেশনকে পুনরায় সংজ্ঞায়িত করে। এর ফলে বিভিন্ন পদ্ধতিতে একই অপারেশনের নাম রয়েছে। এই ক্ষেত্রে, এই ফাংশনটি ব্যবহার করার একটি গুরুত্বপূর্ণ সুবিধা রয়েছে৷

OODB কাঠামো

OODB কাঠামো
OODB কাঠামো

অবজেক্ট-ওরিয়েন্টেড প্যারাডাইমটি একটি একক মডিউলে প্রতিটি বস্তুর সাথে সম্পর্কিত ডেটা এবং কোডের এনক্যাপসুলেশনের উপর ভিত্তি করে। ধারণাগতভাবে, এটি এবং বাকি সিস্টেমের মধ্যে সমস্ত মিথস্ক্রিয়া বার্তা ব্যবহার করে সঞ্চালিত হয়। তাই ইন্টারফেসতাদের মধ্যে অনুমোদিত সেট দ্বারা নির্ধারিত হয়৷

সাধারণত, প্রতিটি বস্তু একটি সেটের সাথে যুক্ত থাকে:

  1. ভেরিয়েবল যাতে অবজেক্ট ডেটা থাকে এবং ইআর মডেল অ্যাট্রিবিউটের সাথে মিলে যায়।
  2. সে বার্তাগুলির উত্তর দেয়৷ প্রতিটির এক বা একাধিক প্যারামিটার থাকতে পারে বা নাও থাকতে পারে।
  3. পদ্ধতি, যার প্রতিটি একটি কোড যা বার্তা প্রয়োগ করে এবং এর প্রতিক্রিয়ায় একটি মান প্রদান করে।

একটি OO পরিবেশে মেসেজিং কম্পিউটার নেটওয়ার্কে শারীরিক SMS ব্যবহার বোঝায় না। বিপরীতভাবে, এটি বস্তুর মধ্যে অনুরোধের বিনিময়কে বোঝায়, তাদের বাস্তবায়নের সঠিক বিবরণ নির্বিশেষে। কখনও কখনও একটি অভিব্যক্তি একটি বস্তুকে একটি বার্তা পাঠানো হয়েছে তা ট্রিগার করার জন্য একটি পদ্ধতিকে কল করে এবং সংশ্লিষ্ট পদ্ধতির সম্পাদন ব্যবহার করে৷

বস্তুর পরিচয়

অবজেক্ট আইডেন্টিটি
অবজেক্ট আইডেন্টিটি

অবজেক্ট-ওরিয়েন্টেড ডাটাবেস সিস্টেম ডাটাবেসে সংরক্ষিত প্রতিটি স্বাধীন বস্তুর জন্য একটি অনন্য পরিচয় প্রদান করে। এটি সাধারণত একটি সিস্টেম জেনারেটেড ইউনিক অবজেক্ট আইডেন্টিফায়ার বা OID ব্যবহার করে প্রয়োগ করা হয়। OID মানটি বাহ্যিক ব্যবহারকারীর কাছে অদৃশ্য, তবে সিস্টেমটি বস্তুর মধ্যে লিঙ্কগুলি পরিচালনা করতে অভ্যন্তরীণভাবে এটি ব্যবহার করে৷

একটি OID এর প্রধান সম্পত্তি অপরিবর্তনীয় হওয়া। একটি নির্দিষ্ট বস্তুর জন্য OID মান পরিবর্তন করা উচিত নয়। এটি প্রতিনিধিত্ব করা বাস্তব বিশ্বের পরিচয় সংরক্ষণ করে। এটিও পছন্দ করা হয় যে প্রতিটি OID শুধুমাত্র একবার ব্যবহার করা হয়, এমনকি যদি এটি ডাটাবেস থেকে সরানো হয়, তার OID অন্যকে বরাদ্দ করা উচিত নয়। এটি একটি শারীরিক উপর ভিত্তি করে প্রায়ই অনুপযুক্ত বিবেচিত হয়স্টোরেজে থাকা বস্তুর ঠিকানা, যেহেতু সেগুলিকে ডাটাবেসে পুনর্গঠন করা OID পরিবর্তন করতে পারে। যাইহোক, কিছু সিস্টেম বস্তু পুনরুদ্ধার করার দক্ষতা বাড়াতে ওআইডি হিসাবে শারীরিক ঠিকানা ব্যবহার করে। একটি অবজেক্ট-ওরিয়েন্টেড ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে রিলেশনাল সীমাবদ্ধতা আরোপ করে, সাধারণত আরো প্রযোজ্য: ডোমেইন, কী, অবজেক্ট ইন্টিগ্রিটি, এবং রেফারেন্সিয়াল ইন্টিগ্রিটি।

তিন প্রধান নির্মাণকারী

তিনটি প্রধান নির্মাণকারী
তিনটি প্রধান নির্মাণকারী

OODB-তে, নির্দিষ্ট ধরণের কনস্ট্রাক্টর ব্যবহার করে জটিল বস্তুর মান বা অবস্থা অন্যদের থেকে তৈরি করা যেতে পারে। তাদের প্রতিনিধিত্ব করার একটি উপায় হল প্রতিটিকে একটি ট্রিপলেট (i, c, v) হিসাবে ভাবা, যেখানে i হল অবজেক্টের ইউনিক আইডেন্টিফায়ার (OID), c হল কনস্ট্রাক্টর, অর্থাৎ, অবজেক্টের মান কেমন তা নির্দেশক। তৈরি, এবং v হল বস্তুর মান বা অবস্থা। ডেটা মডেল এবং OO সিস্টেমের উপর নির্ভর করে একাধিক কনস্ট্রাক্টর থাকতে পারে।

তিনটি মৌলিক অবজেক্ট-ওরিয়েন্টেড ডাটাবেস কনস্ট্রাক্টর:

  • পরমাণু;
  • টুপল;
  • সেট।

অন্যান্য আরও সাধারণ ব্যবহার হল তালিকা এবং চার্ট। এছাড়াও ডি ডোমেইন রয়েছে, যাতে সিস্টেমে সরাসরি উপলব্ধ সমস্ত মৌলিক পারমাণবিক মান রয়েছে। তারা সাধারণত পূর্ণসংখ্যা, বাস্তব সংখ্যা, অক্ষর স্ট্রিং, তারিখ, এবং সিস্টেম সরাসরি পরিচালনা করে যে অন্য কোনো ধরনের ডেটা অন্তর্ভুক্ত করে। বস্তুর গঠন এবং ক্রিয়াকলাপ উভয়ই শ্রেণি সংজ্ঞায় অন্তর্ভুক্ত করা হয়েছে।

প্রোগ্রামিং ভাষার সাথে সামঞ্জস্যতা

অবজেক্ট-ওরিয়েন্টেড ডাটাবেসের মূল ধারণাগুলি এতে ব্যবহৃত হয়ডিজাইন টুল হিসাবে এবং ডাটাবেসের সাথে কাজ করার জন্য কোডকৃত।

এমন বেশ কয়েকটি সম্ভাব্য ভাষা রয়েছে যেখানে এই ধারণাগুলি একত্রিত করা যেতে পারে:

  1. জটিল প্রকার এবং OOP যোগ করে SQL এর মত ডেটা প্রসেসিংয়ের জন্য একটি ভাষা সম্প্রসারণ করা। সিস্টেমগুলি রিলেশনাল সিস্টেমে অবজেক্ট-ওরিয়েন্টেড এক্সটেনশন প্রদান করে, যাকে বলা হয় অবজেক্ট-ওরিয়েন্টেড রিলেশনাল সিস্টেম।
  2. একটি বিদ্যমান অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা ব্যবহার করা এবং ডাটাবেসের সাথে কাজ করার জন্য এটি প্রসারিত করা। এগুলিকে ক্রমাগত প্রোগ্রামিং ভাষা বলা হয় এবং ডেভেলপারদের এসকিউএল-এর মতো ডেটা প্রসেসিং ভাষার মাধ্যমে না গিয়ে সরাসরি ডেটার সাথে কাজ করার অনুমতি দেয়। এগুলিকে স্থায়ী বলা হয় কারণ এটি তৈরি করা প্রোগ্রামটি শেষ হওয়ার পরেও ডেটা বিদ্যমান থাকে৷

কোন বিকল্পটি ব্যবহার করবেন তা সিদ্ধান্ত নেওয়ার সময়, মনে রাখবেন যে অবিরাম ভাষাগুলি শক্তিশালী হতে থাকে এবং ডাটাবেসের ক্ষতি করে এমন প্রোগ্রামিং ভুল করা তুলনামূলকভাবে সহজ। ভাষার জটিলতা উচ্চ-স্তরের স্বয়ংক্রিয় অপ্টিমাইজেশন যেমন ডিস্ক I/O হ্রাস করা কঠিন করে তোলে। অনেক অ্যাপ্লিকেশানে, ঘোষণামূলক প্রশ্ন করার ক্ষমতা গুরুত্বপূর্ণ, কিন্তু স্থায়ী ভাষাগুলি বর্তমানে সমস্যা ছাড়াই এই ধরনের প্রশ্নের অনুমতি দেয় না।

উত্তরাধিকার প্রকারের শ্রেণিবিন্যাস

অবজেক্ট-ওরিয়েন্টেড ডাটাবেস স্কিমাগুলির জন্য সাধারণত প্রচুর সংখ্যক ক্লাসের প্রয়োজন হয়। যাইহোক, বেশ কয়েকটি ক্লাস একে অপরের সাথে একই রকম। তাদের মধ্যে মিলের সরাসরি উপস্থাপনের অনুমতি দিতে, আপনাকে রাখতে হবেবিশেষীকরণের একটি অনুক্রমের মধ্যে তাদের। এই ধারণাটি ER মডেলের অনুরূপ। ক্লাস স্পেশালাইজেশনকে সাবক্লাস বলা হয়, যা বিদ্যমান ক্লাসের জন্য অতিরিক্ত বৈশিষ্ট্য এবং পদ্ধতি সংজ্ঞায়িত করে। সাবক্লাস দিয়ে তৈরি অবজেক্টগুলি পিতামাতার কাছ থেকে সবকিছু উত্তরাধিকার সূত্রে পায়। এই উত্তরাধিকারসূত্রে প্রাপ্ত বৈশিষ্ট্যগুলির মধ্যে কিছু নিজেরাই হয়তো ক্রমানুসারে উচ্চতর ব্যক্তিদের কাছ থেকে ধার করা হয়েছে৷

অবজেক্টগুলিকে জটিল হিসাবে বিবেচনা করা হয় কারণ তাদের জন্য প্রচুর পরিমাণে সঞ্চয়স্থানের প্রয়োজন হয় এবং এটি অবজেক্ট ওরিয়েন্টেড ডেটাবেস ম্যানেজমেন্ট (OODBS) সাধারণত অফার করে এমন স্ট্যান্ডার্ড ডেটা প্রকারের অংশ নয়। বস্তুর আকার তাৎপর্যপূর্ণ হওয়ার কারণে, SOOBMS একটি বস্তুর একটি অংশ গ্রহণ করতে পারে এবং সমগ্র বস্তুটি অর্জন করার আগে এটি একটি অ্যাপ্লিকেশনে সরবরাহ করতে পারে। এটি একটি বস্তুর অংশগুলি সময়ের আগে পেতে বাফার এবং ক্যাশে পদ্ধতি ব্যবহার করতে পারে, একটি অ্যাপ্লিকেশন সেগুলি অ্যাক্সেস করার আগে৷

OODB ব্যবহারকারীদের নতুন ধরনের তৈরি করতে দেয় যাতে কাঠামো এবং অপারেশন উভয়ই অন্তর্ভুক্ত থাকে, এই ক্ষেত্রে এক্সটেনসিবল টাইপ সিস্টেম। আপনি তাদের গঠন এবং অপারেশন সংজ্ঞায়িত করে নতুন ধরনের লাইব্রেরি তৈরি করতে পারেন। তাদের মধ্যে অনেকেই স্ট্রিং এবং অক্ষর বা বিটের আকারে একটি বড় কাঠামোগত বস্তু সংরক্ষণ এবং গ্রহণ করতে পারে, যা ব্যাখ্যার জন্য অ্যাপ্লিকেশন প্রোগ্রামে "যেমন আছে" পাস করা হয়৷

পদ্ধতিটি নাম অনুসারে টার্গেট অবজেক্টের অ্যাট্রিবিউটগুলিকে সরাসরি অ্যাক্সেস করতে পারে, যার মধ্যে প্যারেন্ট ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত যেকোনও অন্তর্ভুক্ত, তবে সেকেন্ডারি সিগন্যাল সহ অন্যান্য অবজেক্টের অ্যাট্রিবিউট অ্যাক্সেস করতে হবে। ধারণাটি আপনাকে একই অপারেটরের নাম বা প্রতীকের সাথে যুক্ত করতে দেয়এটির দুটি বা ততোধিক ভিন্ন বাস্তবায়ন, এটি প্রযোজ্য বস্তুর ধরনের উপর নির্ভর করে।

বিল্ডিং অ্যাপস

অ্যাপ্লিকেশন তৈরি
অ্যাপ্লিকেশন তৈরি

OO সিস্টেম ব্যবহার করে অনেক ডাটাবেস অ্যাপ্লিকেশনের জন্য একই বস্তুর একাধিক সংস্করণ প্রয়োজন। সাধারণত, রক্ষণাবেক্ষণ কার্যক্রম একটি সফ্টওয়্যার সিস্টেমে প্রয়োগ করা হয় কারণ তাদের প্রয়োজনীয়তাগুলি পরিবর্তিত হয় এবং কিছু উন্নয়ন এবং বাস্তবায়ন মডিউল পরিবর্তন করা হয়। যদি সিস্টেমটি ইতিমধ্যেই চলমান থাকে এবং যদি এক বা একাধিক মডিউল পরিবর্তন করতে হয়, তবে বিকাশকারীকে অবশ্যই পরিবর্তন করে তাদের প্রতিটির একটি নতুন সংস্করণ তৈরি করতে হবে৷

মনে রাখবেন যে একটি বস্তুর দুটির বেশি সংস্করণ থাকতে পারে, যদি মূল মডিউল ছাড়াও দুটি প্রয়োজন হয়। একই সফ্টওয়্যার মডিউলের নিজস্ব সংস্করণ একই সময়ে আপডেট করা যেতে পারে। একে বলা হয় সমান্তরাল অবজেক্ট-ওরিয়েন্টেড ডাটাবেস ডিজাইন। যাইহোক, সর্বদা একটি বিন্দু আসে যেখানে হাইব্রিড OODB এর জন্য যে পরিবর্তনগুলি করা হয়েছে যাতে তারা সামঞ্জস্যপূর্ণ হয় সেগুলিকে একত্রিত করার জন্য তাদের একত্রিত করতে হবে৷

বস্তু-ভিত্তিক শর্ত

সমস্ত কম্পিউটার সিস্টেমে অবশ্যই তাদের আর্কিটেকচারের বৈশিষ্ট্য থাকতে হবে। উদাহরণস্বরূপ, একটি সিস্টেমে রিলেশনাল বিবেচনা করার জন্য টেবিল থাকতে হবে। OODB এর ব্যতিক্রম নয় এবং এতে অবজেক্ট আর্কিটেকচারের কিছু মৌলিক বৈশিষ্ট্য রয়েছে। যাইহোক, বাস্তব জগতে, এই বৈশিষ্ট্যগুলির অনেকগুলি নিয়ে আলোচনা করা হয় এবং কিছু, যেমন একাধিক উত্তরাধিকার, অবজেক্ট-ওরিয়েন্টেড ডেটাবেস মডেলের বর্ধন হিসাবে বিবেচিত হয়বেসলাইনের অংশ হিসাবে। উদাহরণস্বরূপ, অবজেক্ট-ওরিয়েন্টেড ল্যাঙ্গুয়েজ Smalltalk-এ, একাধিক উত্তরাধিকার সমর্থিত নয়, যদিও এটি অবজেক্ট আর্কিটেকচারের অংশ হিসেবে বিবেচিত হয়।

একটি ক্লাসের পদ্ধতিগুলি অপারেশনের একটি সেট সংজ্ঞায়িত করে যা একটি বস্তুর উপর সঞ্চালিত হতে পারে। উদাহরণস্বরূপ, যখন এটি একটি বস্তুতে প্রয়োগ করা হয়, এটি হয় একটি মান প্রদান করে বা মানগুলি আপডেট করার জন্য কিছু অপারেশন করে। কখনও কখনও পদ্ধতি এটি ফেরত না. যদি পদ্ধতিটি একটি গাড়ির যাত্রীর সংখ্যা আপডেট করার জন্য ডিজাইন করা হয়, তবে কোন মান ফেরত দেওয়া হবে না, তবে লক্ষ্যে থাকা ডেটা উপাদান এটিকে পরিবর্তন করবে।

OODB-তে অবজেক্ট একটি মৌলিক ধারণা। মূলত, বস্তুগুলি বাস্তব জগতের জিনিসগুলির একটি বিমূর্ত উপস্থাপনা যা এতে সঞ্চিত থাকে। একটি বস্তু হল একটি শ্রেণীর একটি উদাহরণ যে অর্থে এটি তার সংজ্ঞা থেকে বাদ দেওয়া হয়েছে৷

আপনি একটি বস্তুকে একটি স্বয়ংসম্পূর্ণ প্যাকেজ হিসাবে ভাবতে পারেন যার তিনটি অংশ রয়েছে:

  1. নিজের ব্যক্তিগত তথ্য, ডেটা মান।
  2. ব্যক্তিগত পদ্ধতি যা শ্রেণী সংজ্ঞার মাধ্যমে মানকে ম্যানিপুলেট করবে।
  3. ইন্টারফেস খুলুন যাতে এই বস্তুটি অন্যদের সাথে যোগাযোগ করতে পারে।

OODB উদাহরণ

OODB ব্যবহার করা ধারণাটিকে সহজ করে তোলে কারণ যে তথ্য সংরক্ষণ করা প্রয়োজন তা উপস্থাপন করা আরও স্বাভাবিক। একটি ডাটাবেসের গঠন বা যুক্তিকে মডেল করার জন্য, ক্লাস ডায়াগ্রামের ব্যবহার আপনাকে তাদের কাঠামোগত সম্পর্ক এবং উত্তরাধিকারের সাথে ক্লাস প্রবর্তন করতে দেয়। গতিবিদ্যার অংশ মডেল করার জন্য, মিথস্ক্রিয়া এবংবস্তুর মধ্যে আচরণ, একটি ক্রম চিত্র একটি অস্থায়ী সম্পর্কের মধ্যে অবস্থিত বস্তুর মধ্যে মিথস্ক্রিয়া প্রতিনিধিত্ব করতে ব্যবহার করা হবে, সম্ভাব্য অবস্থা বর্ণনা করে যাতে ঘটনাটি ঘটার পর পরিবর্তিত অবস্থায় তাদের খুঁজে পাওয়া যায়।

OODB উদাহরণ
OODB উদাহরণ

একটি অবজেক্ট-ওরিয়েন্টেড ডাটাবেসের একটি উদাহরণ নীচে দেখানো হয়েছে৷

অবজেক্ট ওরিয়েন্টেড ডাটাবেসের উদাহরণ
অবজেক্ট ওরিয়েন্টেড ডাটাবেসের উদাহরণ

তাদের একটি নাম এবং একটি জীবনকাল রয়েছে, যা অস্থায়ী বা স্থায়ী হতে পারে। OODB কী হল কতগুলি কাঠামো এবং ক্রিয়াকলাপগুলি তাদের উপর প্রয়োগ করা হবে তা নির্দিষ্ট করার জন্য তারা বিকাশকারীকে প্রদান করার ক্ষমতা। জটিল ডেটা প্রকারগুলি পরিচালনা করার জন্য নমনীয়তা এবং সমর্থন রয়েছে। আপনি ক্লাস এবং সাবক্লাস তৈরি করতে পারেন, উদাহরণস্বরূপ, ক্লায়েন্ট বেসে এই ক্লায়েন্টের লিঙ্কের একটি সাবক্লাস থাকতে পারে এবং এটি মূল ক্লাসের সমস্ত বৈশিষ্ট্য এবং বৈশিষ্ট্য উত্তরাধিকার সূত্রে পাবে, এই পদ্ধতিটি আপনাকে দ্রুত এবং নমনীয়ভাবে জটিল ডেটা প্রক্রিয়া করতে দেয়।

প্রস্তাবিত: