কীভাবে সম্পর্কিত ডেটাবেজে গাছের মতো ডেটা সঠিকভাবে এবং দক্ষতার সাথে উপস্থাপন করতে একটি মডেল গঠন করবেন?


13

এসকিউএল প্রশ্ন ব্যবহার করে একটি সম্পর্কিত ডেটাবেজে গাছের মতো ডেটা ট্র্যাভার্সিংয়ের ভিত্তিতে , আমি জানতে চাই যে নিয়মিতভাবে শারীরিক জড়িততার বিষয়টি বিবেচনা করে সম্পর্কযুক্ত ডাটাবেসে গাছের মতো ডেটা কীভাবে বর্ণনা করা যায়?

আমি ধরে নিচ্ছি যে আরডিবিএমএসের নিয়মিত এসকিউএল এএনএসআই বা সাধারণ উপলব্ধ বৈশিষ্ট্য ব্যতীত অন্যগুলি পরিচালনা করার জন্য বিশেষ বৈশিষ্ট্য নেই।

সন্দেহের সাথে আমি সর্বদা মাইএসকিউএল এবং পোস্টগ্র্রেএসকিউএল এবং শেষ পর্যন্ত এসকিউএলাইটে আগ্রহী।

উত্তর:


8

আমি বিশ্বাস করি তিনি বাইনারি গাছের মতো কিছু খুঁজছেন। আমি কেবল তিনটি কী অন্তর্ভুক্ত করব যা একই টেবিলের অনন্য আইডিতে বাঁধা আছে, একটি বাম জন্য, একটি ডান সন্তানের জন্য এবং একটি পিতামাতার জন্য।

যেমন- (খুব বেশি সিউডোকোড)

TABLE tree
int         id                  autoinc
varchar(16) data_you_care_about
int         parent_id
int         left_child_id
int         right_child_id

FOREIGN KEY parent_id = tree.id
FOREIGN KEY left_child_id = tree.id
FOREIGN KEY right_child_id = tree.id

দ্বিগুণ সংযুক্ত আইটেমটির জন্য বিবেচনাটি হ'ল এই স্কিমার আওতায় গাছের অবস্থানের যে কোনও পরিবর্তনের ফলে একটির পরিবর্তে 3 টিরও কম আপডেট হবে। আপনার বক্তব্য হিসাবে, এটিও একটি বড় অনুমান যে একটি ফরওয়ার্ড / বিপরীত বাইনারি ট্রি যা অনুরোধ করা হয়েছিল।
Rew

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

এটি অবশ্যই অন্তর্নিহিত মডেলের উপর নির্ভর করে। আমি মনে করি যে প্যাট্রিকের দেওয়া উত্তরটি যদি সঠিক মডেল হয় তবে যথেষ্ট।
jcolebrand

6

যদি প্রতিটি নোড সত্যই একই ডেটা সত্তা হয়, তবে দৃষ্টান্তটি প্রতি সত্তা প্রতি এক টেবিল এবং গাছের আবর্তনের জন্য একটি লিঙ্কিং কলাম যেখানে প্রতিটি নোড কেবল একবার যুক্ত থাকে sign

গাছের একাধিক পয়েন্টে সংযুক্ত সংস্থাগুলির জন্য, একটি পৃথক লিঙ্কিং টেবিল বা একাধিক স্বতন্ত্র মান কলাম ব্যবহার করা হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.