इंटीग्रिटी नियम डेटाबेस में डेटा की सटीकता, स्थिरता और विश्वसनीयता सुनिश्चित करते हैं। ये नियम डेटाबेस डिज़ाइन और संचालन के दौरान लागू किए जाते हैं ताकि अमान्य या असंगत डेटा प्रविष्टि को रोका जा सके।
1. एंटिटी इंटीग्रिटी (Entity Integrity)
एंटिटी इंटीग्रिटी नियम कहता है कि एक टेबल की प्राइमरी की में NULL मान नहीं हो सकते। प्राइमरी की प्रत्येक पंक्ति को विशिष्ट रूप से पहचानती है, और NULL मान उस विशिष्टता को असंभव बना देगा। कम्पोजिट प्राइमरी की (कई कॉलम से बनी) के लिए, कोई भी भाग NULL नहीं हो सकता। अधिकांश RDBMS इस नियम को स्वचालित रूप से लागू करते हैं।
2. रेफरेंशियल इंटीग्रिटी (Referential Integrity)
रेफरेंशियल इंटीग्रिटी नियम यह सुनिश्चित करता है कि एक टेबल में फॉरेन की मान, संदर्भित टेबल (पैरेंट टेबल) में मौजूदा प्राइमरी की मान से मेल खाना चाहिए। अर्थात, आप चाइल्ड टेबल में कोई फॉरेन की मान तब तक नहीं डाल सकते जब तक वह पैरेंट टेबल में मौजूद न हो।
यदि पैरेंट टेबल में प्राइमरी की मान बदलता है (अपडेट या डिलीट), तो चाइल्ड टेबल में संबंधित फॉरेन की वाली सभी पंक्तियों को तदनुसार संभाला जाना चाहिए:
- RESTRICT/NO ACTION: पैरेंट में परिवर्तन को अस्वीकार करें यदि चाइल्ड रिकॉर्ड मौजूद हैं।
- CASCADE: चाइल्ड रिकॉर्ड को स्वचालित रूप से अपडेट/डिलीट करें।
- SET NULL: चाइल्ड में फॉरेन की को NULL पर सेट करें (यदि अनुमति हो)।
- SET DEFAULT: चाइल्ड में फॉरेन की को डिफ़ॉल्ट मान पर सेट करें।
अधिकांश RDBMS निर्दिष्ट तरीके से रेफरेंशियल इंटीग्रिटी जांच और लागू करने के लिए सेट किए जा सकते हैं।
3. डोमेन इंटीग्रिटी (Domain Integrity)
डोमेन इंटीग्रिटी यह सुनिश्चित करती है कि एक कॉलम में सभी मान परिभाषित डोमेन (डेटा प्रकार, रेंज, फॉर्मेट) के भीतर हों। उदाहरण:
- सैलरी कॉलम केवल सकारात्मक संख्याएं स्वीकार करता है।
- पिन कोड ठीक 5 अंकों का होना चाहिए।
- डिलीवरी तिथि व्यावसायिक घंटों के भीतर होनी चाहिए।
- ऑर्डर की गई मात्रा स्टॉक में मात्रा से कम या बराबर होनी चाहिए।
इसे कॉलम-स्तरीय CHECK कंस्ट्रेंट, डेटा प्रकार, या एप्लिकेशन-स्तरीय सत्यापन लॉजिक द्वारा लागू किया जा सकता है।
4. उपयोगकर्ता-परिभाषित इंटीग्रिटी (User-Defined Integrity)
उपरोक्त के अलावा, विशिष्ट व्यावसायिक नियम डेटा पर अतिरिक्त कंस्ट्रेंट लगा सकते हैं, जैसे:
- एक ग्राहक की क्रेडिट सीमा से अधिक ऑर्डर नहीं हो सकता।
- एक कर्मचारी अपने प्रबंधक से अधिक वेतन नहीं कमा सकता।
- एक छात्र एक सेमेस्टर में 18 क्रेडिट से अधिक पंजीकृत नहीं कर सकता।
ये आमतौर पर ट्रिगर, स्टोर्ड प्रोसीजर, या एप्लिकेशन कोड के माध्यम से लागू किए जाते हैं।