आंकड़ा मान्यीकरण

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

यह औपचारिक सत्यापन से अलग है, जो किसी विनिर्देश या संपत्ति को लागू करने के लिए एल्गोरिदम की शुद्धता को साबित या अस्वीकार करने का प्रयास करता है।

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

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

उदाहरण के लिए:
 * डेटा प्रकार सत्यापन;
 * रेंज और बाधा सत्यापन;
 * कोड और क्रॉस-रेफरेंस सत्यापन;
 * संरचित सत्यापन; और
 * संगति सत्यापन

डेटा प्रकार की जाँच
डेटा प्रकार सत्यापन आमतौर पर एक या अधिक सरल डेटा फ़ील्ड पर किया जाता है।

सबसे सरल प्रकार का डेटा प्रकार सत्यापन यह सत्यापित करता है कि उपयोगकर्ता इनपुट के माध्यम से प्रदान किए गए अलग-अलग वर्ण एक या अधिक ज्ञात आदिम डेटा प्रकारों के अपेक्षित वर्णों के अनुरूप हैं, जैसा कि प्रोग्रामिंग भाषा या डेटा भंडारण और पुनर्प्राप्ति तंत्र में परिभाषित किया गया है।

उदाहरण के लिए, एक पूर्णांक फ़ील्ड को केवल 0 से 9 वर्णों का उपयोग करने के लिए इनपुट की आवश्यकता हो सकती है।

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

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

उदाहरण के लिए, वर्तमान भू-राजनीतिक क्षेत्र की पहचान करने के लिए उपयोगकर्ता द्वारा प्रदान किए गए देश कोड की आवश्यकता हो सकती है।

संरचित चेक
संरचित सत्यापन अधिक जटिल प्रसंस्करण के साथ-साथ अन्य प्रकार के सत्यापन के संयोजन की अनुमति देता है। इस तरह के जटिल प्रसंस्करण में संपूर्ण जटिल डेटा ऑब्जेक्ट या सिस्टम के भीतर प्रक्रिया संचालन के सेट के लिए सशर्त बाधाओं का परीक्षण शामिल हो सकता है।

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

उदाहरण
2007 से पहले के 10-अंकीय ISBNs के लिए एकाधिक प्रकार के डेटा सत्यापन प्रासंगिक हैं (ISO 2108 के 2005 संस्करण में 2007 के बाद से 13 अंकों के ISBN की आवश्यकता है ).


 * आकार। 2007 से पहले के ISBN में 10 अंक होने चाहिए, जिसमें वैकल्पिक हाइफ़न या रिक्त स्थान इसके चार भागों को अलग करते हों।
 * प्रारूप जांच। पहले 9 अंकों में से प्रत्येक 0 से 9 तक होना चाहिए, और 10वां 0 से 9 या X होना चाहिए।
 * संख्या जांचें। ट्रांसक्रिप्शन त्रुटियों का पता लगाने के लिए जिनमें अंकों को बदल दिया गया है या स्थानांतरित कर दिया गया है, 2007 से पहले के आईएसबीएन के अंतिम अंक को गणितीय सूत्र के परिणाम से मेल खाना चाहिए जिसमें अन्य 9 अंक शामिल हैं (अंतर्राष्ट्रीय मानक पुस्तक संख्या#आईएसबीएन-10 चेक अंक|आईएसबीएन-10 अंक जांचें)।

सत्यापन प्रकार
अनुमत चरित्र जांच
 * यह सुनिश्चित करने के लिए जाँच करता है कि एक क्षेत्र में केवल अपेक्षित वर्ण मौजूद हैं। उदाहरण के लिए एक संख्यात्मक क्षेत्र में केवल 0-9 अंक, दशमलव बिंदु और शायद एक ऋण चिह्न या अल्पविराम की अनुमति हो सकती है। एक टेक्स्ट फ़ील्ड जैसे व्यक्तिगत नाम मार्कअप भाषा के लिए उपयोग किए जाने वाले वर्णों को अस्वीकार कर सकता है। एक ई-मेल पते के लिए कम से कम एक @ चिह्न और कई अन्य संरचनात्मक विवरणों की आवश्यकता हो सकती है। रेगुलर एक्सप्रेशंस ऐसे चेकों को लागू करने के प्रभावी तरीके हो सकते हैं।

बैच योग
 * गायब रिकॉर्ड के लिए जाँच करता है। एक बैच में सभी रिकॉर्ड के लिए संख्यात्मक फ़ील्ड एक साथ जोड़े जा सकते हैं। कुल बैच दर्ज किया जाता है और कंप्यूटर जांचता है कि कुल सही है, उदाहरण के लिए, एक साथ कई लेन-देन की 'कुल लागत' फ़ील्ड जोड़ें।

कार्डिनैलिटी चेक
 * जांचता है कि रिकॉर्ड में संबंधित रिकॉर्ड की वैध संख्या है। उदाहरण के लिए, यदि किसी संपर्क रिकॉर्ड को ग्राहक के रूप में वर्गीकृत किया गया है तो उसमें कम से कम एक संबद्ध आदेश (कार्डिनैलिटी > 0) होना चाहिए। इस प्रकार का नियम अतिरिक्त शर्तों से जटिल हो सकता है। उदाहरण के लिए, यदि किसी पेरोल डेटाबेस में एक संपर्क रिकॉर्ड को पूर्व कर्मचारी के रूप में वर्गीकृत किया गया है, तो उसे अलग होने की तिथि (कार्डिनैलिटी = 0) के बाद कोई संबद्ध वेतन भुगतान नहीं होना चाहिए।

अंकों की जाँच करें
 * संख्यात्मक डेटा के लिए प्रयुक्त। त्रुटि का पता लगाने का समर्थन करने के लिए, एक संख्या में एक अतिरिक्त अंक जोड़ा जाता है जिसकी गणना अन्य अंकों से की जाती है।

संगति की जाँच करता है
 * यह सुनिश्चित करने के लिए फ़ील्ड्स की जाँच करता है कि इन फ़ील्ड्स में डेटा अनुरूप है, उदाहरण के लिए, यदि समाप्ति तिथि अतीत में है तो स्थिति सक्रिय नहीं है।

क्रॉस-सिस्टम स्थिरता जांच
 * यह सुनिश्चित करने के लिए विभिन्न प्रणालियों में डेटा की तुलना करता है कि यह सुसंगत है। सिस्टम एक ही डेटा को अलग तरह से प्रस्तुत कर सकते हैं, जिस स्थिति में तुलना के लिए परिवर्तन की आवश्यकता होती है (उदाहरण के लिए, एक सिस्टम ग्राहक नाम को 'Doe, John Q' के रूप में एक ही नाम फ़ील्ड में संग्रहीत कर सकता है, जबकि दूसरा First_Name 'John' और Last_Name 'Doe' और Middle_Name का उपयोग करता है 'गुणवत्ता')।

डेटा प्रकार की जाँच
 * टाइप किए गए डेटा के साथ इनपुट अनुरूपता की जांच करता है। उदाहरण के लिए, संख्यात्मक डेटा को स्वीकार करने वाला एक इनपुट बॉक्स 'ओ' अक्षर को अस्वीकार कर सकता है।

फ़ाइल अस्तित्व की जाँच करें
 * जाँचता है कि निर्दिष्ट नाम वाली फ़ाइल मौजूद है। फ़ाइल प्रबंधन का उपयोग करने वाले प्रोग्रामों के लिए यह जांच आवश्यक है।

प्रारूप जांच
 * जाँचता है कि डेटा एक निर्दिष्ट प्रारूप (टेम्प्लेट) में है, उदाहरण के लिए, दिनांक YYYY-MM-DD प्रारूप में होना चाहिए। इस तरह के सत्यापन के लिए नियमित अभिव्यक्ति का उपयोग किया जा सकता है।

उपस्थिति जांच
 * जाँचता है कि डेटा मौजूद है, उदाहरण के लिए, ग्राहकों के पास एक ईमेल पता होना आवश्यक हो सकता है।

रेंज चेक
 * जाँचता है कि डेटा मानों की एक निर्दिष्ट सीमा के भीतर है, उदाहरण के लिए, प्रायिकता 0 और 1 के बीच होनी चाहिए।


 * संदर्भिक समग्रता
 * दो रिलेशनल डेटाबेस टेबल में मानों को विदेशी कुंजी और प्राथमिक कुंजी के माध्यम से जोड़ा जा सकता है। यदि विदेशी कुंजी फ़ील्ड में मान आंतरिक तंत्र द्वारा विवश नहीं हैं, तो उन्हें यह सुनिश्चित करने के लिए सत्यापित किया जाना चाहिए कि संदर्भित तालिका हमेशा संदर्भित तालिका में एक पंक्ति को संदर्भित करती है।

वर्तनी और व्याकरण की जाँच करें
 * वर्तनी और व्याकरण संबंधी त्रुटियों की तलाश करता है।

विशिष्टता जांच
 * जांचता है कि प्रत्येक मान अद्वितीय है। इसे कई क्षेत्रों (यानी पता, प्रथम नाम, अंतिम नाम) पर लागू किया जा सकता है।


 * टेबल लुक अप चेक करें
 * एक टेबल लुकअप चेक डेटा की तुलना अनुमत मानों के संग्रह से करता है।

सत्यापन के बाद की कार्रवाइयां

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

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

सत्यापन क्रिया
 * सत्यापन कार्रवाइयाँ परामर्शी कार्रवाइयों के विशेष मामले हैं। इस मामले में, स्रोत अभिनेता को यह सत्यापित करने के लिए कहा जाता है कि यह डेटा वही है जो वे वास्तव में एक सुझाव के आलोक में दर्ज करना चाहते हैं। यहां, चेक चरण एक विकल्प सुझाता है (उदाहरण के लिए, डाक पते की जांच उस पते को स्वरूपित करने का एक अलग तरीका देती है या एक अलग पते का सुझाव देती है)। आप इस मामले में चाहते हैं कि उपयोगकर्ता को अनुशंसा स्वीकार करने या अपना संस्करण रखने का विकल्प दिया जाए। यह एक सख्त सत्यापन प्रक्रिया नहीं है, डिज़ाइन द्वारा और किसी नए स्थान या किसी ऐसे स्थान पर पतों को कैप्चर करने के लिए उपयोगी है जो अभी तक सत्यापन डेटाबेस द्वारा समर्थित नहीं है।

सत्यापन का लॉग
 * यहां तक ​​कि ऐसे मामलों में जहां डेटा सत्यापन में कोई समस्या नहीं मिली, सत्यापन किए गए सत्यापन का एक लॉग प्रदान करना और उनके परिणाम महत्वपूर्ण हैं। यह डेटा मुद्दों के आलोक में और सत्यापन में सुधार करने के लिए किसी भी लापता डेटा सत्यापन जाँच की पहचान करने में सहायक है।

सत्यापन और सुरक्षा
डेटा सत्यापन में विफलताओं या चूक से डेटा भ्रष्टाचार या सॉफ़्टवेयर सुरक्षा भेद्यता हो सकती है। डेटा सत्यापन जाँचता है कि डेटा उद्देश्य के लिए उपयुक्त है, संसाधित होने से पहले वैध, समझदार, उचित और सुरक्षित।

यह भी देखें

 * डेटा सत्यापन
 * सत्यापन और सत्यापन

बाहरी संबंध

 * Data Validation, OWASP
 * Input Validation, OWASP Cheat Sheet Series, github.com