आप नेस्टेड सेट मॉडल . का उपयोग कर सकते हैं क्योंकि यह बहुत ही कुशल प्रश्न उत्पन्न करता है। MySQL में पदानुक्रमित डेटा प्रबंधित करना देखें और नेस्टेड सेट मॉडल called नामक अनुभाग पढ़ें ।
यदि आप सिद्धांत जैसे ओआरएम का उपयोग कर रहे हैं, तो यह नेस्टेड सेट क्षमताएं शामिल हैं ।
कुछ लोगों के लिए बाएं . की नेस्टेड सेट अवधारणाओं को समझना मुश्किल हो सकता है और दाएं। मैंने पाया है कि एक्सएमएल दस्तावेज़ में खुले/बंद टैग की लाइन संख्याओं के समानता के रूप में उन नंबरों का उपयोग करना, लोगों को समझना आसान लगता है।
उदाहरण के लिए, उपरोक्त MySQL लिंक से डेटा उदाहरण लें:
+-------------+----------------------+-----+-----+
| category_id | name | lft | rgt |
+-------------+----------------------+-----+-----+
| 1 | ELECTRONICS | 1 | 20 |
| 2 | TELEVISIONS | 2 | 9 |
| 3 | TUBE | 3 | 4 |
| 4 | LCD | 5 | 6 |
| 5 | PLASMA | 7 | 8 |
| 6 | PORTABLE ELECTRONICS | 10 | 19 |
| 7 | MP3 PLAYERS | 11 | 14 |
| 8 | FLASH | 12 | 13 |
| 9 | CD PLAYERS | 15 | 16 |
| 10 | 2 WAY RADIOS | 17 | 18 |
+-------------+----------------------+-----+-----+
अगर आप एलएफटी . लेते हैं , आरजीटी फ़ील्ड और उन्हें XML दस्तावेज़ के लिए लाइन नंबर के रूप में उपयोग करें, आपको मिलता है:
1. <electronics>
2. <televisions>
3. <tube>
4. </tube>
5. <lcd>
6. </lcd>
7. <plasma>
8. </plasma>
9. </televisions>
10. <portable electronics>
11. <mp3 players>
12. <flash>
13. </flash>
14. </mp3 players>
15. <cd players>
16. </cd players>
17. <2 way radios>
18. </2 way radios>
19. </portable electronics>
20. </electronics>
इसे इस तरह से देखने से कुछ के लिए परिणामी नेस्टेड सेट पदानुक्रम की कल्पना करना बहुत आसान हो सकता है। यह यह भी स्पष्ट करता है कि यह दृष्टिकोण दक्षता में सुधार क्यों करता है क्योंकि यह कई प्रश्नों या जुड़ने की आवश्यकता के बिना संपूर्ण नोड्स का चयन करना संभव बनाता है।