आंकड़ा मान्यीकरण
कंप्यूटर विज्ञान में, आंकड़े सत्यापन यह सुनिश्चित करने की प्रक्रिया है कि आंकड़े की गुणवत्ता सुनिश्चित करने के लिए आंकड़ो का विशुद्धीकरण किया गया है अर्थात वे सही और उपयोगी दोनों हैं। यह दिनचर्या का उपयोग करता है, जिसे अधिकांशतः "सत्यापन नियम", "सत्यापन बाधा", या "जांच दिनचर्या" कहा जाता है, जो सिस्टम में इनपुट होने वाले आंकड़े की शुद्धता, अर्थपूर्णता और सुरक्षा की जांच करता है। नियमों को आंकड़े शब्दकोश की स्वचालित सुविधाओं के माध्यम से या कंप्यूटर और उसके अनुप्रयोग के स्पष्ट आवेदन कार्यक्रम सत्यापन तर्क को सम्मिलित करके प्रयुक्त किया जा सकता है।
यह औपचारिक सत्यापन से भिन्न है, जो किसी विनिर्देश या संपत्ति को प्रयुक्त करने के लिए एल्गोरिदम की शुद्धता को सिद्ध करने या अस्वीकार करने का प्रयास करता है।
सिंहावलोकन
आंकड़े सत्यापन का उद्देश्य किसी एप्लिकेशन या स्वचालित सिस्टम में फिटनेस और आंकड़े की स्थिरता के लिए कुछ विशेष प्रकार से परिभाषित गारंटी प्रदान करना है। चूँकि आंकड़े सत्यापन नियमों को विभिन्न पद्धतियों का उपयोग करके परिभाषित और डिज़ाइन किया जा सकता है और विभिन्न संदर्भों में नियत किया जा सकता है।[1] अतः उनका कार्यान्वयन घोषणात्मक प्रोग्रामिंग आंकड़ा अखंडता नियम, या अनिवार्य प्रोग्रामिंग में प्रक्रिया-आधारित व्यावसायिक नियमों का उपयोग कर सकता है।[2] ध्यान दें कि आंकड़े सत्यापन की गारंटी में आवश्यक रूप से त्रुटिहीनता सम्मिलित नहीं होती है और आंकड़े प्रविष्टि त्रुटियों जैसे कि गलत वर्तनी को मान्य रूप से स्वीकार करना संभव है। जो सिस्टम के अंदर अशुद्धि को कम करने के लिए अन्य लिपिकीय या कंप्यूटर नियंत्रण प्रयुक्त किए जा सकते हैं।
विभिन्न प्रकार
आंकड़े सत्यापन की मूल बातों का मूल्यांकन करने में, उनके दायरे, जटिलता और उद्देश्य के अनुसार विभिन्न प्रकार के सत्यापन के संबंध में सामान्यीकरण किया जा सकता है।
उदाहरण के लिए:
- आंकड़ा प्रकार सत्यापन
- सरल सीमा और बाधा सत्यापन
- कोड और क्रॉस-रेफरेंस सत्यापन
- संरचित सत्यापन
- संगति सत्यापन
आंकड़ा प्रकार सत्यापन
आंकड़े के प्रकार का सत्यापन सामान्यतः अधिक सरल आंकड़े क्षेत्र पर किया जाता है।
सबसे सरल प्रकार का आंकड़े के प्रकार का सत्यापन यह सत्यापित करता है कि उपयोगकर्ता इनपुट के माध्यम से प्रदान किए गए भिन्न-भिन्न वर्ण अधिक ज्ञात आदिम आंकड़ो के प्रकारों के अपेक्षित वर्णों के अनुरूप होता हैं, जैसा कि प्रोग्रामिंग भाषा या आंकड़े भंडारण और पुनर्प्राप्ति की क्रियाविधि में परिभाषित किया गया है।
उदाहरण के लिए, पूर्णांक क्षेत्र को केवल 0 से 9 वर्णों का उपयोग करने के लिए इनपुट की आवश्यकता हो सकती है।
सरल सीमा और बाधा सत्यापन
सरल सीमा और बाधा सत्यापन न्यूनतम या अधिकतम सीमा के साथ स्थिरता के लिए इनपुट की जांच कर सकता है या वर्णों के अनुक्रम का मूल्यांकन करने के लिए परीक्षण के साथ स्थिरता, जैसे कि नियमित अभिव्यक्ति के विरुद्ध अधिक परीक्षण किया जाता है। उदाहरण के लिए, गैर-ऋणात्मक पूर्णांक होने के लिए काउंटर मान की आवश्यकता हो सकती है और न्यूनतम लंबाई को पूर्ण करने और कई श्रेणियों के वर्णों को सम्मिलित करने के लिए पासवर्ड की आवश्यकता हो सकती है।
कोड और क्रॉस-रेफरेंस सत्यापन
कोड और क्रॉस-रेफरेंस सत्यापन में यह सत्यापित करने के लिए ऑपरेशन सम्मिलित हैं कि आंकड़े अधिक संभावित-बाहरी नियमों, आवश्यकताओं या किसी विशेष संगठन, संदर्भ या अंतर्निहित मान्यताओं के सेट से संबंधित संग्रह के अनुरूप है। इन अतिरिक्त वैधता बाधाओं में ज्ञात लुक-अप टेबल या एलडीएपी जैसी निर्देशिका सूचना सेवा के साथ आपूर्ति किए गए आंकड़े को क्रॉस-रेफरेंसिंग सम्मिलित हो सकता है।
उदाहरण के लिए, वर्तमान भू-राजनीतिक क्षेत्र की पहचान करने के लिए उपयोगकर्ता द्वारा प्रदान किए गए देश कोड की आवश्यकता हो सकती है।
संरचित सत्यापन
संरचित सत्यापन अधिक जटिल प्रसंस्करण के साथ-साथ अन्य प्रकार के सत्यापन के संयोजन की अनुमति देता है। इस प्रकार के जटिल प्रसंस्करण में संपूर्ण जटिल आंकड़े ऑब्जेक्ट या सिस्टम के भीतर प्रक्रिया संचालन के सेट के लिए सशर्त बाधाओं का परीक्षण सम्मिलित हो सकता है।
संगति सत्यापन
संगति सत्यापन सुनिश्चित करता है कि आंकड़े तार्किक है। उदाहरण के लिए, किसी ऑर्डर की डिलीवरी की तारीख को उसके शिपमेंट की तारीख से पूर्व प्रतिबंधित किया जा सकता है।
उदाहरण
सन् 2007 से पूर्व के 10-अंकीय आईएसबीएनएस के लिए एकाधिक प्रकार के आंकड़े सत्यापन प्रासंगिक हैं (आईएसओ 2108 के 2005 संस्करण में 2007 के पश्चात् से 13 अंकों के आईएसबीएन की आवश्यकता होती है[3]).
- आकार। सन् 2007 से पूर्व के आईएसबीएन में 10 अंक होने चाहिए, जिसमें वैकल्पिक हाइफ़न या रिक्त स्थान इसके चार भागों को भिन्न करते है।
- प्रारूप जांच। पूर्व 9 अंकों में से प्रत्येक 0 से 9 तक होना चाहिए, और 10वां 0 से 9 या एक्स होना चाहिए।
- संख्या जांचें। ट्रांसक्रिप्शन त्रुटियों का पता लगाने के लिए जिनमें अंकों को परिवर्तित या स्थानांतरित कर दिया गया है, अतः सन् 2007 से पूर्व के आईएसबीएन के अंतिम अंक को गणितीय सूत्र के परिणाम से मेल खाना चाहिए। जिसमें अन्य 9 अंक सम्मिलित हैं। (अंतर्राष्ट्रीय मानक पुस्तक संख्या आईएसबीएन-10 सत्यापन अंक|आईएसबीएन-10 अंक सत्यापन)।
सत्यापन प्रकार
अनुमत चरित्र जांच
- यह सुनिश्चित करने के लिए जाँच करता है कि क्षेत्र में केवल अपेक्षित वर्ण उपस्तिथ हैं। उदाहरण के लिए संख्यात्मक क्षेत्र में केवल 0-9 अंक, दशमलव बिंदु और संभवतः ऋण चिह्न या अल्पविराम की अनुमति हो सकती है। टेक्स्ट क्षेत्र जैसे व्यक्तिगत नाम मार्कअप भाषा के लिए उपयोग किए जाने वाले वर्णों को अस्वीकार कर सकता है। ई-मेल पते के लिए कम से कम @ चिह्न और कई अन्य संरचनात्मक विवरणों की आवश्यकता हो सकती है। रेगुलर एक्सप्रेशंस ऐसे चेकों को लागू करने के प्रभावी तरीके हो सकते हैं।
बैच योग
- गायब रिकॉर्ड के लिए जाँच करता है। बैच में सभी रिकॉर्ड के लिए संख्यात्मक क्षेत्र साथ जोड़े जा सकते हैं। कुल बैच अंकित किया जाता है और कंप्यूटर जांचता है कि कुल सही है, उदाहरण के लिए, साथ कई लेन-देन की 'कुल लागत' क्षेत्र जोड़ें।
कार्डिनैलिटी चेक
- जांचता है कि रिकॉर्ड में संबंधित रिकॉर्ड की वैध संख्या है। उदाहरण के लिए, यदि किसी संपर्क रिकॉर्ड को ग्राहक के रूप में वर्गीकृत किया गया है तो उसमें कम से कम संबद्ध आदेश (कार्डिनैलिटी > 0) होना चाहिए। इस प्रकार का नियम अतिरिक्त शर्तों से जटिल हो सकता है। उदाहरण के लिए, यदि किसी पेरोल आंकड़ेबेस में संपर्क रिकॉर्ड को पूर्व कर्मचारी के रूप में वर्गीकृत किया गया है, तो उसे अलग होने की तिथि (कार्डिनैलिटी = 0) के बाद कोई संबद्ध वेतन भुगतान नहीं होना चाहिए।
अंकों की जाँच करें
- संख्यात्मक आंकड़े के लिए प्रयुक्त। त्रुटि का पता लगाने का समर्थन करने के लिए, संख्या में अतिरिक्त अंक जोड़ा जाता है जिसकी गणना अन्य अंकों से की जाती है।
संगति की जाँच करता है
- यह सुनिश्चित करने के लिए क्षेत्र्स की जाँच करता है कि इन क्षेत्र्स में आंकड़े अनुरूप है, उदाहरण के लिए, यदि समाप्ति तिथि अतीत में है तो स्थिति सक्रिय नहीं है।
क्रॉस-सिस्टम स्थिरता जांच
- यह सुनिश्चित करने के लिए विभिन्न प्रणालियों में आंकड़े की तुलना करता है कि यह सुसंगत है। सिस्टम ही आंकड़े को अलग प्रकार से प्रस्तुत कर सकते हैं, जिस स्थिति में तुलना के लिए परिवर्तन की आवश्यकता होती है (उदाहरण के लिए, सिस्टम ग्राहक नाम को 'Doe, John Q' के रूप में ही नाम क्षेत्र में संग्रहीत कर सकता है, जबकि दूसरा First_Name 'John' और Last_Name 'Doe' और Middle_Name का उपयोग करता है 'गुणवत्ता')।
आंकड़े प्रकार की जाँच
- टाइप किए गए आंकड़े के साथ इनपुट अनुरूपता की जांच करता है। उदाहरण के लिए, संख्यात्मक आंकड़े को स्वीकार करने वाला इनपुट बॉक्स 'ओ' अक्षर को अस्वीकार कर सकता है।
फ़ाइल अस्तित्व की जाँच करें
- जाँचता है कि निर्दिष्ट नाम वाली फ़ाइल उपस्तिथ है। फ़ाइल प्रबंधन का उपयोग करने वाले प्रोग्रामों के लिए यह जांच आवश्यक है।
प्रारूप जांच
- जाँचता है कि आंकड़े निर्दिष्ट प्रारूप (टेम्प्लेट) में है, उदाहरण के लिए, दिनांक YYYY-MM-DD प्रारूप में होना चाहिए। इस प्रकार के सत्यापन के लिए नियमित अभिव्यक्ति का उपयोग किया जा सकता है।
उपस्थिति जांच
- जाँचता है कि आंकड़े उपस्तिथ है, उदाहरण के लिए, ग्राहकों के पास ईमेल पता होना आवश्यक हो सकता है।
रेंज चेक
- जाँचता है कि आंकड़े मानों की निर्दिष्ट सीमा के भीतर है, उदाहरण के लिए, प्रायिकता 0 और 1 के बीच होनी चाहिए।
- संदर्भिक समग्रता
- दो रिलेशनल आंकड़ेबेस टेबल में मानों को विदेशी कुंजी और प्राथमिक कुंजी के माध्यम से जोड़ा जा सकता है। यदि विदेशी कुंजी क्षेत्र में मान आंतरिक क्रियाविधि द्वारा विवश नहीं हैं, तो उन्हें यह सुनिश्चित करने के लिए सत्यापित किया जाना चाहिए कि संदर्भित तालिका हमेशा संदर्भित तालिका में पंक्ति को संदर्भित करती है।
वर्तनी और व्याकरण की जाँच करें
- वर्तनी और व्याकरण संबंधी त्रुटियों की तलाश करता है।
विशिष्टता जांच
- जांचता है कि प्रत्येक मान अद्वितीय है। इसे कई क्षेत्रों (अर्थात पता, प्रथम नाम, अंतिम नाम) पर लागू किया जा सकता है।
- टेबल लुक अप चेक करें
- टेबल लुकअप चेक आंकड़े की तुलना अनुमत मानों के संग्रह से करता है।
सत्यापन के बाद की कार्रवाइयां
This section needs additional citations for verification. (July 2012) (Learn how and when to remove this template message) |
- प्रवर्तन कार्रवाई
- प्रवर्तन कार्रवाई सामान्यतः आंकड़े प्रविष्टि अनुरोध को अस्वीकार करती है और इनपुट अभिनेता को परिवर्तन करने की आवश्यकता होती है जो आंकड़े को अनुपालन में लाता है। यह इंटरएक्टिव उपयोग के लिए सबसे उपयुक्त है, जहां वास्तविक व्यक्ति कंप्यूटर पर बैठा है और प्रवेश कर रहा है। यह बैच अपलोड के लिए भी अच्छी प्रकार से काम करता है, जहां फ़ाइल इनपुट को अस्वीकार किया जा सकता है और संदेशों का सेट इनपुट स्रोत पर वापस भेजा जाता है कि आंकड़े क्यों खारिज कर दिया गया है।
- प्रवर्तन कार्रवाई के दूसरे रूप में स्वचालित रूप से आंकड़े को बदलना और मूल संस्करण के अतिरिक्त अनुरूप संस्करण को सहेजना सम्मिलित है। यह कॉस्मेटिक परिवर्तन के लिए सबसे उपयुक्त है। उदाहरण के लिए, [ऑल-कैप] प्रविष्टि को [पास्कल केस] प्रविष्टि में बदलने के लिए उपयोगकर्ता इनपुट की आवश्यकता नहीं होती है। स्वचालित प्रवर्तन का अनुचित उपयोग उन स्थितियों में होगा जहां प्रवर्तन से व्यावसायिक जानकारी का नुकसान होता है। उदाहरण के लिए, यदि लंबाई अपेक्षा से अधिक है, तो संक्षिप्त की गई टिप्पणी को सहेजना। यह सामान्यतः अच्छी बात नहीं है क्योंकि इससे महत्वपूर्ण आंकड़े की हानि हो सकती है।
सलाहकार कार्रवाई
- सलाहकार क्रियाएं सामान्यतः आंकड़े को अपरिवर्तित अंकित करने की अनुमति देती हैं किन्तु स्रोत अभिनेता को संदेश भेजती हैं जो उन सत्यापन समस्याओं का संकेत देती हैं जो सामने आई थीं। यह गैर-संवादात्मक प्रणाली के लिए सबसे उपयुक्त है, उन प्रणालियों के लिए जहां परिवर्तन व्यवसायिक रूप से महत्वपूर्ण नहीं है, उपस्तिथा आंकड़े के चरणों की सफाई के लिए और प्रविष्टि प्रक्रिया के सत्यापन चरणों के लिए।
सत्यापन क्रिया
- सत्यापन कार्रवाइयाँ परामर्शी कार्रवाइयों के विशेष मामले हैं। इस मामले में, स्रोत अभिनेता को यह सत्यापित करने के लिए कहा जाता है कि यह आंकड़े वही है जो वे वास्तव में सुझाव के आलोक में अंकित करना चाहते हैं। यहां, चेक चरण विकल्प सुझाता है (उदाहरण के लिए, डाक पते की जांच उस पते को स्वरूपित करने का अलग विधिदेती है या अलग पते का सुझाव देती है)। आप इस मामले में चाहते हैं कि उपयोगकर्ता को अनुशंसा स्वीकार करने या अपना संस्करण रखने का विकल्प दिया जाए। यह सख्त सत्यापन प्रक्रिया नहीं है, डिज़ाइन द्वारा और किसी नए स्थान या किसी ऐसे स्थान पर पतों को कैप्चर करने के लिए उपयोगी है जो अभी तक सत्यापन आंकड़ेबेस द्वारा समर्थित नहीं है।
सत्यापन का लॉग
- यहां तक कि ऐसे मामलों में जहां आंकड़े सत्यापन में कोई समस्या नहीं मिली, सत्यापन किए गए सत्यापन का लॉग प्रदान करना और उनके परिणाम महत्वपूर्ण हैं। यह आंकड़े विवादों के आलोक में और सत्यापन में सुधार करने के लिए किसी भी लापता आंकड़े सत्यापन जाँच की पहचान करने में सहायक है।
सत्यापन और सुरक्षा
आंकड़े सत्यापन में विफलताओं या चूक से आंकड़े भ्रष्टाचार या सॉफ़्टवेयर सुरक्षा भेद्यता हो सकती है।[4] आंकड़े सत्यापन जाँचता है कि आंकड़े उद्देश्य के लिए उपयुक्त है,[5] संसाधित होने से पहले वैध, समझदार, उचित और सुरक्षित।
यह भी देखें
संदर्भ
- ↑ Methodology for data validation 1.0
- ↑ Data Validation, Data Integrity, Designing Distributed Applications with Visual Studio .NET
- ↑ Frequently Asked Questions about the new ISBN standard Archived 2007-06-10 at the Wayback Machine ISO.
- ↑ Chapter10. Data Validation
- ↑ More Efficient Data Validation with Spotless
बाहरी संबंध
- Data Validation, OWASP
- Input Validation, OWASP Cheat Sheet Series, github.com