नेविगेशनल डेटाबेस

From Vigyanwiki

विकिपीडिया, मुक्त विश्वकोश से

नेविगेशनल (संचालनीय) डेटाबेस एक प्रकार का डेटाबेस है जिसमें रिकॉर्ड (कंप्यूटर विज्ञान) या वस्तु (कंप्यूटर विज्ञान) मुख्य रूप से अन्य वस्तुओं के संदर्भों का अनुसरण करके पाया जाता है। इस शब्द को चार्ल्स बाचमैन के 1973 के ट्यूरिंग अवार्ड पत्र,'द प्रोग्रामर एज नेविगेटर' के शीर्षक से लोकप्रिय किया गया था।[1] इस पत्र ने इस तथ्य पर जोर दिया कि नए डिस्क-आधारित डेटाबेस सिस्टम ने प्रोग्रामर को रिकॉर्ड से रिकॉर्ड तक संबंधों के बाद अनियन्त्रित नेविगेशन रूट चयन करने की स्वीकृति दी, इसके विपरीत पहले के चुंबकीय-टेप और पंच कार्ड सिस्टम के नियन्त्रण के साथ जहां डेटा अभिगम्य का उपयोग दृढ़ता से अनुक्रमिक था।

प्रारम्भिक नेविगेशनल डेटाबेस में से एक एकीकृत डेटा भंडार (आईडीएस) था, जिसे 1960 के दशक में चार्ल्स बाचमैन द्वारा सामान्य विद्युतीय के लिए विकसित किया गया था। एकीकृत डेटा भंडार 1969 में डेटा सिस्टम भाषा पर सम्मेलन/समिति डेटाबेस मॉडल का आधार बना।

हालांकि चार्ल्स बाचमैन ने अमूर्त पदों में नेविगेशन की अवधारणा का वर्णन किया, नेविगेशनल अभिगम्य का विचार डेटा सिस्टम भाषा पर सम्मेलन/समिति डेटा कुशलतापूर्वक भाषा के प्रक्रियात्मक डिजाइन के साथ दृढ़ता से जुड़ा हुआ था। 1982 में लिखते हुए, उदाहरण के लिए, त्सिक्रिट्ज़िस और लोचोव्स्की[2] ने कहा कि "मुद्रा की धारणा नेविगेशन की अवधारणा के केंद्र में है।" मुद्रा की धारणा से, वे इस विचार को संदर्भित करते हैं कि एक प्रोग्राम रिकॉर्ड के किसी भी क्रम में एक वर्तमान स्थिति को बनाए रखता है (स्पष्ट रूप से या स्पष्ट रूप से) जिसे वह संसाधित कर रहा है, और यह कि GET NEXT और GET PRIOR जैसे संचालन इस वर्तमान स्थिति के सापेक्ष रिकॉर्ड प्राप्त करते हैं। जबकि वर्तमान स्थिति को पुनर्प्राप्त किए गए रिकॉर्ड में परिवर्तित कर रहा है।

नेविगेशनल डेटाबेस प्रोग्रामिंग को आंतरिक रूप से प्रक्रियात्मक प्रोग्रामिंग के रूप में देखा जाने लगा; और इसके अतिरिक्त वर्तमान स्थिति को धारण करने वाले वैश्विक चर (मुद्रा संकेतक) के निहित समूह के संरक्षण पर निर्भर करते हैं। इस प्रकार, दृष्टिकोण को संबंधपरक मॉडल द्वारा उपयोग की जाने वाली वर्णनात्मक प्रोग्रामिंग शैली के पूरी तरह से विरोध के रूप में देखा गया था। संचरित प्रश्न भाषा जैसी संबंधपरक भाषाओं की घोषणात्मक प्रकृति ने अधिकतम प्रोग्रामर उत्पादकता और उच्च स्तर की डेटा स्वतंत्रता की पेशकश की (अर्थात, डेटाबेस संरचना के रूप में काम करना जारी रखने की प्रोग्राम की क्षमता विकसित होती है।) नेविगेशनल इंटरफेस, परिणामस्वरूप, धीरे-धीरे 1980 के दशक में घोषणात्मक प्रश्न भाषाओं द्वारा ग्रहण किए गए थे।

1990 के दशक के समय यह स्पष्ट होने लगा कि जटिल डेटा (उदाहरण के लिए, स्थानिक डेटाबेस और इंजीनियरिंग डेटाबेस) को संभालने वाले कुछ एप्लीकेशन के लिए, संबंधपरक कलन की सीमाएँ थीं। उस समय, संपूर्ण डेटाबेस विक्रय का पुनर्मूल्यांकन प्रारंभ हुआ, जिसमें कई कंपनियों ने मार्केटिंग शब्द गैर-संचरित प्रश्न भाषा का उपयोग करते हुए नई प्रणालियों का वर्णन किया। इन प्रणालियों में से कई ने डेटा कुशलतापूर्वक भाषाएं प्रस्तुत कीं, जो अपने मुद्रा संकेतकों के साथ डेटा सिस्टम भाषा पर सम्मेलन/समिति डाटा प्रकलन भाषा से अधिक दूर हैं, जिसे बाचमैन के "नेविगेशनल" दृष्टि को प्रयुक्त करने के रूप में समझा जा सकता है। इनमें से कुछ भाषाएँ प्रक्रियात्मक हैं; अन्य (जैसे एक्सपथ) पूरी तरह प्रकाशक हैं। नेविगेशनल अवधारणा की शाखाएँ, जैसे कि ग्राफ डेटाबेस, को आधुनिक विनिमय प्रसंस्करण वर्कलोड (कार्यभार) में नए उपयोग मिले।

विवरण

नेविगेशनल अभिगम्य पारंपरिक रूप से नेटवर्क मॉडल और डेटाबेस के पदानुक्रमित मॉडल से जुड़ा हुआ है, और पारंपरिक रूप से डेटा कुशलतापूर्वक एप्लीकेशन प्रोग्रामिंग इंटरफेस का वर्णन करता है जिसमें रिकॉर्ड (या ऑब्जेक्ट) एक समय में एक बार संसाधित होते हैं। बाचमैन द्वारा वर्णित आवश्यक विशेषता, हालांकि, अन्य रिकॉर्ड के साथ उनके संबंध के आधार पर रिकॉर्ड जांच कर रही है: इसलिए एक इंटरफ़ेस अभी भी नेविगेशनल हो सकता है यदि इसमें समूह-उन्मुख विशेषताएं हैं।[3] इस दृष्टिकोण से, नेविगेशनल डेटा कुशलतापूर्वक भाषाओं और संबंधपरक भाषाओं के बीच मुख्य अंतर मूल्य-आधारित जुड़ावों के अतिरिक्त स्पष्टfor department with name="Sales", find all employees in set department-employees बनाम find employees, departments where employee.department-code = department.code and department.name="Sales"नामित संबंधों का उपयोग है।

हालांकि, गतिविधि में, अधिकांश नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस प्रक्रियात्मक रहे हैं: उपरोक्त प्रश्न को निम्न छद्म कोड की तर्क पर प्रक्रियात्मक तर्क का उपयोग करके निष्पादित किया जाएगा:

get department with name='Sales'
get first employee in set department-employees
until end-of-set do {
  get next employee in set department-employees
  process employee
}

इस दृष्टिकोण पर, नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस और संबंधपरक मॉडल ( संबंध का डेटाबेस में प्रयुक्त) के बीच मुख्य अंतर यह है कि संबंधपरक एप्लीकेशन प्रोग्रामिंग इंटरफेस प्रकाशक या तर्क प्रोग्रामिंग तकनीकों का उपयोग करते हैं जो सिस्टम से संबंधित होते है, जबकि नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस सिस्टम को चरणों के क्रम में निर्देश देते हैं कि कैसे आवश्यक रिकॉर्ड तक पहुँच सकते है।

नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस की अधिकांश आलोचनाएं दो श्रेणियों में से एक में आती हैं:

  • प्रयोज्यता: एप्लिकेशन कोड शीघ्रता से अपठनीय और डिबग करने में कठिन हो जाता है
  • डेटा स्वतंत्रता: जब भी डेटा संरचना बदलती है तो एप्लिकेशन कोड को परिवर्तित करने की आवश्यकता होती है

कई वर्षों तक नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस का प्राथमिक बचाव प्रदर्शन था। नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस का समर्थन करने वाले डाटाबेस सिस्टम प्रायः आंतरिक भंडारण संरचनाओं का उपयोग करते हैं जिनमें एक रिकॉर्ड से दूसरे रिकॉर्ड में भौतिक लिंक या पॉइंटर्स होते हैं। हालांकि ऐसी संरचनाएं बहुत कुशल नेविगेशन की स्वीकृति दे सकती हैं, उनके नुकसान भी हैं क्योंकि डेटा के भौतिक प्लेसमेंट को पुनर्गठित करना कठिन हो जाता है। निम्न-स्तरीय पॉइंटर अनुसरण के बिना नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस को प्रयुक्त करना अपेक्षाकृत अधिक संभव है (बैचमैन के पेपर ने प्राथमिक कुंजियों और बाह्य कुंजियों का उपयोग करते हुए संबंधपरक सिस्टम की तरह ही तार्किक संबंधों को प्रयुक्त किया जा रहा है), इसलिए दो विचारों को भ्रमित नहीं किया जाना चाहिए। लेकिन निम्न-स्तरीय पॉइंटर्स के प्रदर्शन लाभों के बिना, नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस को उपयुक्त प्रमाणित करना कठिन हो जाता है।

पदानुक्रमित मॉडल प्रायः पदानुक्रम में प्रत्येक स्तर पर दिखाई देने वाली कुंजियों को जोड़कर रिकॉर्ड के लिए प्राथमिक कुंजी का निर्माण करते हैं। ऐसे समग्र पहचानकर्ता कंप्यूटर फ़ाइल नामों (/usr/david/docs/index.txt), समान संसाधन पहचानकर्ता में, डेवी दशमलव सिस्टम में, और उस स्थिति के लिए डाक एड्रैस में पाए जाते हैं। ऐसी समग्र कुंजी को एक रिकॉर्ड के लिए एक नेविगेशनल पथ का प्रतिनिधित्व करने के रूप में माना जा सकता है; लेकिन समान रूप से, इसे सहयोगी अभिगम्य की स्वीकृति देने वाली एक साधारण प्राथमिक कुंजी के रूप में माना जा सकता है।

1980 के दशक में जब संबंधपरक प्रणालियां प्रमुखता में आईं,तब नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस (और विशेष रूप से, प्रक्रियात्मक एप्लीकेशन प्रोग्रामिंग इंटरफेस) की आलोचना की गई और वे समर्थन से बाहर हो गए। हालाँकि, 1990 के दशक में वस्तु-उन्मुख डेटाबेस मे एक संचार आया, जो प्रायः प्रकाशक और प्रक्रियात्मक दोनों इंटरफेस प्रदान करती थी। इसके लिए एक स्पष्टीकरण यह है कि वे प्रायः ग्राफ़-संरचित जानकारी (उदाहरण के लिए स्थानिक डेटा और इंजीनियरिंग डेटा) का प्रतिनिधित्व करने के लिए उपयोग किए जाते थे, जहां पहुँच स्वाभाविक रूप से पुनरावर्ती होती है: संचरित प्रश्न भाषा को रेखांकित करने वाला गणित (विशेष रूप से, प्रथम-क्रम निर्धारक कलन) में पर्याप्त सामर्थ्य नहीं होती है पुनरावर्ती प्रश्नों का समर्थन करें, यहां तक ​​कि सकर्मक समापन के रूप में सरल भी थी।

एक लोकप्रिय नेविगेशनल एप्लीकेशन प्रोग्रामिंग इंटरफेस का एक सम्मिलित उदाहरण दस्तावेज़ ऑब्जेक्ट मॉडल (डीओएम) में पाया जा सकता है जो प्रायः वेब ब्राउज़र में उपयोग किया जाता है और जावास्क्रिप्ट से निकटता से जुड़ा होता है। दस्तावेज़ ऑब्जेक्ट मॉडल अनिवार्य रूप से एक एप्लीकेशन प्रोग्रामिंग इंटरफेस के साथ एक इन-मेमोरी पदानुक्रमित डेटाबेस है जो प्रक्रियात्मक और नेविगेशनल दोनों है। इसके विपरीत, समान डेटा (विस्तार योग्य मार्कअप भाषा या हाइपर टेक्स्ट मार्कअप भाषा) को एक्सपथ का उपयोग करके अभिगम्य किया जा सकता है, जिसे घोषणात्मक और नेविगेशनल के रूप में वर्गीकृत किया जा सकता है: डेटा को निम्नलिखित संबंधों द्वारा अभिगम्य किया जाता है, लेकिन कॉलिंग प्रोग्राम क्रम में अनुसरण किए जाने वाले निर्देशों का क्रम जारी नहीं करता है। सेमांटिक वेब से लिंक किए गए डेटा को पुनः प्राप्त करने के लिए उपयोग की जाने वाली स्पार्कल प्रोटोकॉल और संसाधन विवरण रूपरेखा प्रश्न भाषा जैसी भाषाएँ भी एक साथ घोषणात्मक और नेविगेशनल हैं।

उदाहरण

यह भी देखें

संदर्भ

  1. Bachman, Charles W. (1973). "प्रोग्रामर नेविगेटर के रूप में". Communications of the ACM. Portal.acm.org. 16 (11): 653–658. doi:10.1145/355611.362534. S2CID 18635540. Retrieved 2012-10-01.
  2. Dionysios C. Tsichritzis and Frederick H. Lochovsky (1982). डेटा मॉडल. Prentice-Hall. p. 67. ISBN 0-13-196428-3.
  3. Błażewicz, Jacek; Królikowski, Zbyszko; Morzy, Tadeusz (2003). सूचना प्रणाली में डेटा और प्रबंधन पर पुस्तिका. Springer. p. 18. ISBN 3-540-43893-9.


बाहरी संबंध