डीबीएमएस में इंडेक्सिंग: क्या है, इंडेक्स के प्रकार और उदाहरण
अनुक्रमण क्या है?
सूचीकरण एक डेटा संरचना तकनीक है जो आपको डेटाबेस फ़ाइल से रिकॉर्ड को जल्दी से पुनर्प्राप्त करने की अनुमति देती है। एक इंडेक्स एक छोटी तालिका है जिसमें केवल दो कॉलम होते हैं। पहले कॉलम में किसी तालिका की प्राथमिक या उम्मीदवार कुंजी की एक प्रति शामिल होती है। इसके दूसरे कॉलम में एक सेट होता है संकेत उस डिस्क ब्लॉक का पता रखने के लिए जहां विशिष्ट कुंजी मान संग्रहीत है।
एक अनुक्रमणिका -
- खोज कुंजी को इनपुट के रूप में लेता है
- कुशलतापूर्वक मेल खाते रिकॉर्डों का संग्रह लौटाता है।
डीबीएमएस में अनुक्रमण के प्रकार

डेटाबेस में इंडेक्सिंग को उसकी इंडेक्सिंग विशेषताओं के आधार पर परिभाषित किया जाता है। इंडेक्सिंग विधियों के दो मुख्य प्रकार हैं:
- प्राथमिक अनुक्रमण
- द्वितीयक अनुक्रमण
DBMS में प्राथमिक सूचकांक
प्राथमिक इंडेक्स एक व्यवस्थित फ़ाइल है जो दो फ़ील्ड के साथ निश्चित लंबाई का आकार है। पहला फ़ील्ड एक प्राथमिक कुंजी है और दूसरा, फ़ील्ड उस विशिष्ट डेटा ब्लॉक की ओर इशारा करता है। प्राथमिक इंडेक्स में, इंडेक्स टेबल में प्रविष्टियों के बीच हमेशा एक से एक संबंध होता है।
डीबीएमएस में प्राथमिक अनुक्रमण को भी दो प्रकारों में विभाजित किया गया है।
- सघन सूचकांक
- विरल सूचकांक
सघन सूचकांक
सघन इंडेक्स में, डेटाबेस में प्रत्येक खोज कुंजी के लिए एक रिकॉर्ड बनाया जाता है। यह आपको तेज़ी से खोज करने में मदद करता है लेकिन इंडेक्स रिकॉर्ड को संग्रहीत करने के लिए अधिक स्थान की आवश्यकता होती है। इस इंडेक्सिंग में, विधि रिकॉर्ड में खोज कुंजी मान होता है और डिस्क पर वास्तविक रिकॉर्ड की ओर इशारा करता है।
विरल सूचकांक
यह एक इंडेक्स रिकॉर्ड है जो फ़ाइल में केवल कुछ मानों के लिए दिखाई देता है। स्पार्स इंडेक्स आपको सघन इंडेक्सिंग के मुद्दों को हल करने में मदद करता है डीबीएमएसअनुक्रमण तकनीक की इस पद्धति में, अनुक्रमण स्तंभों की एक श्रृंखला समान डेटा ब्लॉक पता संग्रहीत करती है, और जब डेटा को पुनः प्राप्त करने की आवश्यकता होती है, तो ब्लॉक पता प्राप्त किया जाएगा।
हालाँकि, विरल इंडेक्स केवल कुछ खोज-कुंजी मानों के लिए इंडेक्स रिकॉर्ड संग्रहीत करता है। इसे प्रविष्टि और विलोपन के लिए कम स्थान, कम रखरखाव ओवरहेड की आवश्यकता होती है, लेकिन रिकॉर्ड का पता लगाने के लिए यह सघन इंडेक्स की तुलना में धीमा है।
नीचे डेटाबेस इंडेक्स है स्पार्स इंडेक्स का उदाहरण
डीबीएमएस में द्वितीयक सूचकांक
डीबीएमएस में सेकेंडरी इंडेक्स को एक फ़ील्ड द्वारा जेनरेट किया जा सकता है जिसमें प्रत्येक रिकॉर्ड के लिए एक अद्वितीय मान होता है, और यह एक उम्मीदवार कुंजी होनी चाहिए। इसे नॉन-क्लस्टरिंग इंडेक्स के रूप में भी जाना जाता है।
इस दो-स्तरीय डेटाबेस इंडेक्सिंग तकनीक का उपयोग पहले स्तर के मैपिंग आकार को कम करने के लिए किया जाता है। पहले स्तर के लिए, संख्याओं की एक बड़ी रेंज का चयन किया जाता है, इस वजह से मैपिंग का आकार हमेशा छोटा रहता है।
द्वितीयक सूचकांक उदाहरण
आइए डेटाबेस इंडेक्स उदाहरण के साथ द्वितीयक इंडेक्सिंग को समझें:
बैंक खाता डेटाबेस में, डेटा को acc_no द्वारा क्रमिक रूप से संग्रहीत किया जाता है; आप एबीसी बैंक की एक विशिष्ट शाखा के सभी खातों को ढूंढना चाह सकते हैं।
यहाँ, आप DBMS में प्रत्येक खोज-कुंजी के लिए एक द्वितीयक इंडेक्स रख सकते हैं। इंडेक्स रिकॉर्ड एक बकेट का रिकॉर्ड पॉइंट होता है जिसमें सभी रिकॉर्ड्स के पॉइंटर्स होते हैं, जिनमें उनके विशिष्ट खोज-कुंजी मान होते हैं।
ClusterDBMS में इंडेक्स बनाना
क्लस्टर इंडेक्स में, रिकॉर्ड्स खुद इंडेक्स में स्टोर होते हैं, पॉइंटर्स में नहीं। कभी-कभी इंडेक्स गैर-प्राथमिक कुंजी कॉलम पर बनाया जाता है जो प्रत्येक रिकॉर्ड के लिए अद्वितीय नहीं हो सकता है। ऐसी स्थिति में, आप अद्वितीय मान प्राप्त करने के लिए दो या अधिक कॉलम को समूहीकृत कर सकते हैं और एक इंडेक्स बना सकते हैं जिसे क्लस्टर इंडेक्स कहा जाता है। यह आपको रिकॉर्ड को तेज़ी से पहचानने में भी मदद करता है।
उदाहरण:
मान लीजिए कि किसी कंपनी ने विभिन्न विभागों में कई कर्मचारियों की भर्ती की है। इस मामले में, DBMS में क्लस्टरिंग इंडेक्सिंग को उन सभी कर्मचारियों के लिए बनाया जाना चाहिए जो एक ही विभाग से संबंधित हैं।
इसे एकल क्लस्टर में माना जाता है, और इंडेक्स पॉइंट पूरे क्लस्टर को इंगित करते हैं। यहाँ, विभाग _no एक गैर-अद्वितीय कुंजी है।
मल्टीलेवल इंडेक्स क्या है?
बहुस्तरीय अनुक्रमण डाटाबेस जब कोई प्राथमिक इंडेक्स मेमोरी में फ़िट नहीं होता है, तो इसे बनाया जाता है। इस प्रकार की इंडेक्सिंग विधि में, आप किसी भी रिकॉर्ड को छोटा करने के लिए डिस्क एक्सेस की संख्या को कम कर सकते हैं और डिस्क पर अनुक्रमिक फ़ाइल के रूप में रख सकते हैं और उस फ़ाइल पर एक विरल आधार बना सकते हैं।
बी-ट्री इंडेक्स
बी-ट्री इंडेक्स डीबीएमएस में ट्री आधारित इंडेक्सिंग के लिए व्यापक रूप से इस्तेमाल की जाने वाली डेटा संरचना है। यह डीबीएमएस तकनीक में ट्री आधारित इंडेक्सिंग का एक बहुस्तरीय प्रारूप है जिसमें संतुलित है बाइनरी खोज वृक्षबी वृक्ष के सभी पत्ती नोड्स वास्तविक डेटा पॉइंटर्स को दर्शाते हैं।
इसके अलावा, सभी लीफ नोड्स एक लिंक सूची के साथ आपस में जुड़े होते हैं, जो बी ट्री को यादृच्छिक और अनुक्रमिक दोनों प्रकार की पहुंच का समर्थन करने की अनुमति देता है।
- लीड नोड्स में 2 से 4 मान होने चाहिए.
- जड़ से पत्ती तक का प्रत्येक मार्ग अधिकांशतः समान लम्बाई का होता है।
- रूट नोड के अलावा गैर-लीफ नोड्स में 3 से 5 संतान नोड्स होते हैं।
- प्रत्येक नोड जो रूट या लीफ नहीं है, उसके n/2] से n संतानें होती हैं।
अनुक्रमण के लाभ
अनुक्रमण के महत्वपूर्ण पक्ष/लाभ हैं:
- यह आपको उस डेटा को पुनः प्राप्त करने के लिए आवश्यक I/O संचालनों की कुल संख्या को कम करने में मदद करता है, इसलिए आपको इंडेक्स संरचना से डेटाबेस में किसी पंक्ति तक पहुंचने की आवश्यकता नहीं होती है।
- उपयोगकर्ताओं को डेटा की तीव्र खोज और पुनर्प्राप्ति प्रदान करता है।
- इंडेक्सिंग आपको टेबलस्पेस को कम करने में भी मदद करता है क्योंकि आपको टेबल में किसी पंक्ति से लिंक करने की आवश्यकता नहीं होती है, क्योंकि इंडेक्स में ROWID को स्टोर करने की कोई आवश्यकता नहीं होती है। इस प्रकार आप टेबलस्पेस को कम करने में सक्षम होंगे।
- आप लीड नोड्स में डेटा को सॉर्ट नहीं कर सकते क्योंकि प्राथमिक कुंजी का मान इसे वर्गीकृत करता है।
अनुक्रमण के नुकसान
अनुक्रमण के महत्वपूर्ण नुकसान/दोष हैं:
- डेटाबेस प्रबंधन प्रणाली को अनुक्रमित करने के लिए, आपको तालिका पर एक अद्वितीय मान वाली प्राथमिक कुंजी की आवश्यकता होती है।
- आप डेटाबेस में अनुक्रमित डेटा पर कोई अन्य अनुक्रमण नहीं कर सकते।
- आपको अनुक्रमणिका-संगठित तालिका को विभाजित करने की अनुमति नहीं है।
- SQL अनुक्रमणिका INSERT, DELETE, और UPDATE क्वेरी में प्रदर्शन कम करें।
सारांश
- अनुक्रमणिका एक छोटी तालिका है जो दो स्तंभों से मिलकर बनी होती है।
- अनुक्रमण विधियों के दो मुख्य प्रकार हैं 1) प्राथमिक अनुक्रमण 2) द्वितीयक अनुक्रमण।
- प्राथमिक सूचकांक एक व्यवस्थित फ़ाइल है जो दो क्षेत्रों के साथ निश्चित लंबाई का आकार है।
- प्राथमिक अनुक्रमण को भी दो प्रकारों में विभाजित किया गया है 1) सघन अनुक्रमणिका 2) विरल अनुक्रमणिका।
- सघन सूचकांक में, डेटाबेस में मूल्यवान प्रत्येक खोज कुंजी के लिए एक रिकॉर्ड बनाया जाता है।
- विरल अनुक्रमण विधि आपको सघन अनुक्रमण की समस्याओं को हल करने में मदद करती है।
- डीबीएमएस में द्वितीयक सूचकांक एक अनुक्रमण विधि है जिसकी खोज कुंजी फ़ाइल के अनुक्रमिक क्रम से भिन्न क्रम निर्दिष्ट करती है।
- Clustering इंडेक्स को ऑर्डर डेटा फ़ाइल के रूप में परिभाषित किया गया है।
- बहुस्तरीय अनुक्रमण तब बनाया जाता है जब प्राथमिक अनुक्रमणिका मेमोरी में फिट नहीं होती।
- इंडेक्सिंग का सबसे बड़ा लाभ यह है कि यह आपको डेटा पुनः प्राप्त करने के लिए आवश्यक I/O ऑपरेशनों की कुल संख्या को कम करने में मदद करता है।
- डेटाबेस प्रबंधन प्रणाली में अनुक्रमण करने में सबसे बड़ी कमी यह है कि आपको तालिका में एक अद्वितीय मान वाली प्राथमिक कुंजी की आवश्यकता होती है।