डेटा स्वतंत्रता

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

डेटा स्वतंत्रता के दो प्रकार हैं: भौतिक और तार्किक डेटा स्वतंत्रता।

डेटा स्वतंत्रता और संचालन स्वतंत्रता एक साथ डेटा अमूर्तता की विशेषता देते हैं। डेटा स्वतंत्रता के दो स्तर हैं: 

 लॉजिकल डेटा स्वतंत्रता 
डेटा की तार्किक संरचना को 'स्कीमा परिभाषा' के रूप में जाना जाता है। सामान्य रूप से, यदि एक उपयोगकर्ता अनुप्रयोग संबंध की विशेषताओं के उपसमुच्चय पर संचालित होता है, तो यह बाद में प्रभावित नहीं होना चाहिए जब एक ही संबंध में नई विशेषताओं को जोड़ा जाता है। तार्किक डेटा स्वतंत्रता इंगित करती है कि वैचारिक स्कीमा को मौजूदा स्कीमा को प्रभावित किए बिना बदला जा सकता है।

 भौतिक डेटा स्वतंत्रता 
डेटा की भौतिक संरचना को "भौतिक डेटा विवरण" कहा जाता है। भौतिक डेटा स्वतंत्रता उपयोगकर्ता अनुप्रयोगों से भंडारण संरचना के विवरण को छिपाने से संबंधित है। एप्लिकेशन को इन मुद्दों में शामिल नहीं किया जाना चाहिए क्योंकि, वैचारिक रूप से, डेटा के विरुद्ध किए गए संचालन में कोई अंतर नहीं है। डेटा स्वतंत्रता तीन प्रकार की होती है:

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

 डेटा स्वतंत्रता 
डेटा स्वतंत्रता को इस प्रकार समझाया जा सकता है: डेटा आर्किटेक्चर का प्रत्येक उच्च स्तर आर्किटेक्चर के अगले निचले स्तर के परिवर्तनों से प्रतिरक्षित है।

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

 डेटा स्वतंत्रता के प्रकार 
अगले उच्च स्तर में उस परिभाषा की स्कीमा को प्रभावित किए बिना एक स्तर में स्कीमा परिभाषा को संशोधित करने की क्षमता को डेटा स्वतंत्रता कहा जाता है। डेटा स्वतंत्रता के दो स्तर हैं, वे भौतिक डेटा स्वतंत्रता और तार्किक डेटा स्वतंत्रता हैं।

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

भौतिक डेटा स्वतंत्रता की तुलना में तार्किक डेटा स्वतंत्रता हासिल करना अधिक कठिन है, क्योंकि एप्लिकेशन प्रोग्राम उनके द्वारा एक्सेस किए जाने वाले डेटा की तार्किक संरचना पर बहुत अधिक निर्भर होते हैं।