মুছে ফেলা সাধারণত অনেকগুলি ডেটা স্ট্রাকচারে সন্নিবেশের চেয়ে প্রয়োগ করা আরও কঠিন কেন?


33

আপনি মুছে ফেলা সাধারণত (বেশিরভাগ?) ডেটা স্ট্রাকচারের জন্য সন্নিবেশের চেয়ে কার্যকরভাবে কার্যকর করার কোনও নির্দিষ্ট কারণের কথা ভাবতে পারেন?

দ্রুত উদাহরণ: লিঙ্কযুক্ত তালিকাগুলি। সন্নিবেশ তুচ্ছ, তবে মুছে ফেলার কয়েকটি বিশেষ মামলা রয়েছে যা এটি উল্লেখযোগ্যভাবে শক্ত করে তোলে। এভিএল এবং রেড-ব্ল্যাকের মতো স্ব-ব্যালেন্সিং বাইনারি অনুসন্ধান গাছগুলি বেদনাদায়ক মুছে ফেলা বাস্তবায়নের সর্বোত্তম উদাহরণ।

আমি বলতে চাই যে এটি বেশিরভাগ লোকেরা যেভাবে মনে করে তার সাথে এটি করতে পারে: আমাদের পক্ষে বিষয়টিকে গঠনমূলকভাবে সংজ্ঞায়িত করা সহজ, যা সহজে সন্নিবেশের দিকে সুন্দরভাবে পরিচালিত করে।


4
কি pop, extract-min?
coredump

5
"প্রয়োগ করা কঠিন" প্রোগ্রামিং (ডেটা স্ট্রাকচার এবং অ্যালগরিদমের বৈশিষ্ট্য) এর চেয়ে মনোবিজ্ঞানের (জ্ঞান এবং মানুষের মনের শক্তি এবং দুর্বলতা) বেশি বিষয়।
২is

1
আমি যেমন কর্ডার্পকে ইঙ্গিত করে বলেছি, অ্যাডের মতো স্ট্যাকগুলি মুছতে কমপক্ষে সহজ হওয়া উচিত (অ্যারে-ব্যাকড স্ট্যাকের জন্য, পপিং করা কেবলমাত্র একটি পয়েন্টার হ্রাস [1] অন্যদিকে ধাক্কা দেওয়া একটি পুরো অ্যারে অনুলিপি প্রয়োজন হতে পারে যদি আপনি সর্বোচ্চটি হিট করেন তবে অ্যারে)। এছাড়াও কিছু ব্যবহারের ক্ষেত্রে রয়েছে যেখানে ধারণা করা হয় যে সন্নিবেশগুলি ঘন ঘন এবং মুছে ফেলা কম হবে তবে এটি একটি খুব যাদু তথ্য কাঠামো হবে যেখানে মুছার সংখ্যা সন্নিবেশকে ছাড়িয়ে গেছে। [1] আপনার সম্ভবত মেমরি ফুটো এড়ানোর জন্য পপড অবজেক্টের এখন অদৃশ্য উল্লেখটিও বাতিল করতে হবে, যা আমার মনে আছে কারণ লিসকোভের পাঠ্যপুস্তকটি করেন নি
ফুন

43
"ওয়েটার, আপনি কি এই স্যান্ডউইচটিতে আরও মায়ো যুক্ত করতে পারবেন?" "অবশ্যই, সমস্যা নেই স্যার।" "আপনি কি সরিষা সব মুছে ফেলতে পারেন?" "উহ ......"
কোবল্টডাক্ক

3
সংযোজন কেন যোগের চেয়ে জটিল? বিভাগ (বা প্রধান গুণক) গুণনের চেয়ে জটিল? শেকড়ের চেয়ে বেশি জটিল?
মিউ খুব ছোট

উত্তর:


69

এটি মনের অবস্থা ছাড়াও অনেক কিছু; মুছে ফেলা শক্ত করার জন্য শারীরিক (যেমন ডিজিটাল) কারণ রয়েছে।

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

সংক্ষেপে, সন্নিবেশ সহজ কারণ আপনি যেখানে সন্নিবেশ করতে যাচ্ছেন তা চয়ন করতে পারেন। মুছে ফেলা শক্ত কারণ আপনি আগে থেকেই অনুমান করতে পারবেন না কোন আইটেমটি মোছা হবে।


3
ফ্রেগমেন্টেশন কোনও ইস্যু নয় যেখানে কাঠামোর মেমোরি বা ডায়াগ্রামে পয়েন্টার এবং ইন্ডিয়ারেশন কার্যকর হয়। মেমরির ক্ষেত্রে, ইন্ডিয়ারেশনের কারণে স্বতন্ত্র নোডগুলি কোথায় উপস্থিত তা বিবেচনা করে না। তালিকার জন্য, একটি অভ্যন্তরীণ নোড মুছে ফেলার (যা যেখানে আপনি ডায়াগ্রামে একটি গর্ত থাকবেন) সন্নিবেশের তুলনায় কিছুটা কম অপারেশন জড়িত (1 পয়েন্টার অ্যাসাইনমেন্ট এবং 1 ফ্রি বনাম 1 বরাদ্দ এবং 2 পয়েন্টার অ্যাসাইনমেন্ট)। গাছগুলির জন্য, একটি নোড সন্নিবেশ করা ঠিক যেমন গাছ মুছে ফেলার মতো ভারসাম্য বজায় রাখতে পারে। এই প্রান্তের ঘটনাগুলি যা ব্রিটোকে বোঝায় এমন অসুবিধা সৃষ্টি করে, যেখানে খণ্ডিত হওয়া কোনও বিষয় নয়।
আউটিস

12
আমি সম্মত নই যে সন্নিবেশ এবং মুছে ফেলা পূর্বাভাসের মধ্যে পৃথক। একটি তালিকা নোডকে "চারপাশে প্যাচিং" হুবহু একই জিনিসটি যদি পরিবর্তে একই নোডটি প্রবেশ করানো হয় তবে বিপরীতে ঘটে। উভয় দিকের কোনও দিকেই কোনও অনিশ্চয়তা নেই এবং যে কোনও ধারকটিতে এর উপাদানগুলির অভ্যন্তরীণ কাঠামো ছাড়াই (যেমন একটি ভারসাম্য বাইনারি গাছ, উপাদান অফসেটগুলির মধ্যে কঠোর সম্পর্কযুক্ত একটি অ্যারে) মোটেই কোনও "গর্ত" নেই। অতএব, আমি আশঙ্কা করছি যে আপনি এখানে কী বলছেন তা আমি জানি না।
sqykly

2
খুব আকর্ষণীয়, তবে আমি বলব যুক্তিগুলি মিস হয়েছে। আপনি কোনও সমস্যা ছাড়াই সহজ / দ্রুত মুছে ফেলার জন্য ডেটা স্ট্রাকচারগুলি সংগঠিত করতে পারেন। এটি কেবল কম সাধারণ, সম্ভবত খুব কম কার্যকর।
luk32

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

36

Deleteোকানোর চেয়ে মুছাটি কেন শক্ত হতে থাকে? ডেটা স্ট্রাকচারগুলি মুছে ফেলার চেয়ে আরও বেশি সন্নিবেশ নিয়ে ডিজাইন করা হয়েছে এবং ঠিক তাই।

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

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

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


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

1
উম্মম, আমি মনে করি একটি উদাহরণ বিপরীত অর্ডারযুক্ত ভেক্টর হতে পারে। আপনি kবেশ কয়েকটি দ্রুত উপাদানগুলির একটি ব্যাচ যুক্ত করতে পারেন : বিপরীতে সাজানো ইনপুট এবং বিদ্যমান ভেক্টরের সাথে একত্রিত - O(k log k + n)। তারপরে আপনার কাছে মোটামুটি জটিল সন্নিবেশ সহ একটি কাঠামো রয়েছে তবে শীর্ষ uউপাদানগুলি গ্রহণ করা তুচ্ছ এবং দ্রুত is শুধু শেষ নিন uএবং ভেক্টরের প্রান্তটি সরান। যদিও, কারও যদি কখনও এরকম প্রয়োজন হয় তবে আমাকে ধিক্কার জানানো হবে। আমি আশা করি এটি অন্তত আপনার যুক্তি জোরদার করে।
luk32

আপনি সবচেয়ে বেশি যা করেন তার চেয়ে আপনার গড় ব্যবহারের ধরণটির জন্য অনুকূলকরণ করা উচিত নয়?
শিব

একটি সাধারণ ফিফোর কাজের সারি সাধারণত বেশিরভাগ সময় খালি থাকার চেষ্টা করবে। সন্নিবেশ এবং মোছা উভয়ের জন্য একটি সুনির্দিষ্ট নকশাকৃত কাতাকে ভালভাবে অপ্টিমাইজ করা হবে (এবং একটি খুব ভাল একটি দ্রুত সমবর্তী ক্রিয়াকলাপগুলিকে সমর্থন করবে তবে এটি একটি আলাদা সমস্যা)।
কেভিন 0

6

এটা কঠিন নয়।

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

এটি ধরে নেওয়া হয় যে উভয় ক্ষেত্রেই আপনার সন্নিবেশ / মোছার নোড রয়েছে। (এবং সন্নিবেশের ক্ষেত্রে, আপনার আগে সন্নিবেশ করার নোডও রয়েছে, সুতরাং একরকমভাবে সন্নিবেশটিকে আরও জটিল হিসাবে ভাবা যেতে পারে you) আপনি মোছার নোড না থাকলে মুছে ফেলার চেষ্টা করছেন তবে পেডলোড নোডের, অবশ্যই অবশ্যই আপনাকে প্রথমে বেতনের জন্য তালিকাটি অনুসন্ধান করতে হবে, তবে এটি মুছে ফেলার কোনও অসুবিধা নয়, তাই না?

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

সংক্ষেপে, একজনের তুলনায় অন্যটির চেয়ে কঠোর হওয়ার কোনও কারণ নেই এবং যদি আপনি এটির সন্ধান করছেন তবে এটি সম্ভবত সম্ভব যে আপনি এটি (খুব মানবিক) প্রবণতার শিকার হয়ে ভাবছেন যে এটি আরও প্রাকৃতিকভাবে খুঁজে পাওয়া যায় গঠনমূলকভাবে সাবট্র্যাকটিভের চেয়ে, এর অর্থ হ'ল আপনি মুছে ফেলার পদ্ধতি এমনভাবে প্রয়োগ করছেন যা এটি হওয়া দরকারের চেয়ে জটিল। তবে এটি একটি মানবিক সমস্যা। গাণিতিক দৃষ্টিকোণ থেকে কোনও সমস্যা নেই।


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

@ ডেনিস: এটি হতে পারে যে AVL গাছগুলি নিয়মের পরিবর্তে ব্যতিক্রম অনুসরণ করে।
আউটিস

@ আইআইআরসি-র মধ্যে, সমস্ত ভারসাম্যযুক্ত অনুসন্ধান গাছে আরও মোছার রুটিন রয়েছে (সন্নিবেশের চেয়ে)।
রাফেল

বন্ধ হ্যাশিং হ্যাশ টেবিলগুলি সম্পর্কে কী ? সন্নিবেশটি (তুলনামূলকভাবে) সোজাসুজি, মুছে ফেলা কমপক্ষে শক্ত করে তুলুন কারণ আপনাকে সমস্ত "ঠিক করতে হবে সূচি X এ যে জিনিসটি অনুমান করা উচিত ছিল তা বর্তমানে ইনডেক্স ওয়াইতে রয়েছে এবং আমাদের এটি খুঁজে বের করতে হবে এবং এটিকে ফিরিয়ে দিতে হবে"। সমস্যা।
কেভিন 0

3

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

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


2
"বেশিরভাগ ডেটা স্ট্রাকচারগুলিকে সন্নিবেশের জন্য অনুসন্ধানের প্রয়োজন হয় না।" -- যেমন? আমি আসলে উল্টো দাবি করতাম। (আপনি সন্নিবেশের অবস্থানটি "সন্ধান করুন", যা পরে আবার একই উপাদান খুঁজে পাওয়ার মতো ব্যয়বহুল))
রাফেল

@ রাফেল: এই উত্তরটি অপারেশন জটিলতার লিঙ্কযুক্ত সারণির প্রসঙ্গে পড়তে হবে, যা মুছার অংশ হিসাবে অনুসন্ধান অপারেশনকে অন্তর্ভুক্ত করে না। আপনার প্রশ্নের উত্তরে আমি কাঠামোটিকে সাধারণ নামে শ্রেণীবদ্ধ করেছি। অ্যারে, তালিকা, গাছ, হ্যাশ টেবিল, স্ট্যাকস, সারি, গাদা, এবং সেট, গাছ এবং সেটগুলির জন্য একটি সন্নিবেশের জন্য একটি সন্ধান প্রয়োজন; অন্যরা আইটেমটির সাথে সংযোগযুক্ত একটি সূচক ব্যবহার করে (বেসিক স্ট্যাকস, সারি এবং হিপগুলির জন্য, কেবল 1 টি সূচক উন্মুক্ত করা হয়, এবং সন্ধান করা সমর্থনযোগ্য নয়) বা আইটেমটি থেকে এটি গণনা করুন। গ্রাফগুলি কীভাবে ব্যবহার করা যেতে পারে তার উপর নির্ভর করে way
outis

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

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

0

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


আমি মনে করি যে প্রশ্নটি ইন-মেমরি স্ট্রাকচার যেমন লিংকযুক্ত তালিকা, হ্যাশ টেবিল ইত্যাদি ডাটাবেসের চেয়ে জিজ্ঞাসা করেছিল, তবে মেমরি স্ট্রাকচারের সাথেও রেফারেন্সিয়াল অখণ্ডতা একটি বড় সমস্যা।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.