मेरे सीएमएस को पुनर्जीवित करते समय, मैं साइटमैप/पेज पदानुक्रम के प्रबंधन के लिए पारंपरिक माता-पिता/बाल दृष्टिकोण का विकल्प चाहता था। मुझे थोड़ी देर पहले नेस्टेड सेट मॉडल को याद किया गया था, लेकिन उसे याद नहीं किया जा सका। इसलिए, मैंने एक समान दृष्टिकोण पर ठोकर खाई कि मैं गुणों का मूल्यांकन और तुलना करना चाहता हूं, यह सुनिश्चित कर रहा हूं कि मैं बाद में गूंगा सीमाओं में नहीं चलेगा क्योंकि मैं पहले से ही समय-परीक्षण के साथ नहीं गया था। तो, कृपया सलाह दें कि ए) इसका पहले से ही आविष्कार किया गया है (इसे क्या कहा जाता है ?!), बी) गुणों में मौलिक त्रुटियां हैं, या सी) यह एक अच्छा दृष्टिकोण है (कृपया अच्छा औचित्य दें!)।मनमाने ढंग से गहराई के पदानुक्रमित डेटा सेट के लिए नेस्टेड सेटों के लिए मेरा अलौकिक: अच्छा या बुरा?
इस सूची पर विचार करें:
- होम
- हमारे बारे में
- हमसे संपर्क करें
- उत्पाद
- वस्त्र
- पुस्तकें
- इलेक्ट्रॉनिक्स
- ज्ञानकोष
- अन्य सामान
नेस्टेड सेट मॉडल के तहत, मेरा मानना है कि आप एक गहराई-प्रथम ट्रेवर्सल साथ प्रत्येक नोड के लिए छोड़ दिया/सही वर्णनकर्ता स्टोर:
Home 1-18
About Us 2-3
Contact Us 4-5
Products 6-13
Clothing 7-8
Books 9-10
Electronics 11-12
Knowledge Base 14-15
Other stuff 16-17
और यहां मेरा "गलत तरीका" है कि मैं बेहतर पसंद करना शुरू कर रहा हूं:
Home 1-9
About Us 2-2
Contact Us 3-3
Products 4-7
Clothing 5-5
Books 6-6
Electronics 7-7
Knowledge Base 8-8
Other stuff 9-9
बल्कि एक छोड़ दिया/सही जोड़ी की तुलना में, मैं आईडी और LAST_CONTAINED_ID भंडारण कर रहा हूँ। मैंने पाया है कि गुण के कई एक ही (या बहुत समान) हैं:
- रूट नोड आईडी = 1
- कि "पत्ते," जबकि शाखाओं के साथ, वे नहीं हैं दोनों गुण, बराबर हैं के लिए
- किसी भी नोड के लिए "subnodes" की कुल संख्या LAST_CONTAINED_ID है - आईडी
- सभी निहित नोड्स एक आईडी> कंटेनर की आईडी है, लेकिन < = कंटेनर की LAST_CONTAINED_ID
- पूर्वज नोड्स एक आईडी < बच्चे ID है , लेकिन एक LAST_CONTAINED_ID> = बाल आईडी भी
- गहराई आईडी एक आदेश विशेष, अद्वितीय पहचानकर्ता में कार्य करता है, पूर्वज के योग नोड
इसके अलावा है (कोई अंतराल के साथ!)। मुझे सादगी के लिए डेपथ और माता-पिता संदर्भों को स्टोर करना भी आसान लगता है, लेकिन यह जो भी मैं समझता हूं उससे घोंसला वाले सेटों के लिए भी काफी कुछ है।
तो, एक नेस्टेड सेट के रूप में इस गणना करता है? और क्या यह पहले से ही एक आम दृष्टिकोण है (लेकिन मैंने इससे पहले क्यों नहीं सुना था ...)? क्या कोई अच्छा कारण है कि मुझे इस पर एक सही नेस्टेड सेट का उपयोग क्यों करना चाहिए?
मैं आपके विचारों का स्वागत करता हूं।
एफवाईआई, नेस्टेड सेट मॉडल एक तरीका है एक आरडीबीएमएस स्टोर में एक ही टेबल रखने के लिए अज्ञात गहराई के पदानुक्रम के लिए आवश्यक सभी जानकारी (यानी रिकर्सन के बिना एक अनंत सूची): http://en.wikipedia.org/wiki/Nested_set_model#Example – landons