एसक्यूएल - बाधाओं

बाधाएं एक तालिका के डेटा कॉलम पर लागू किए गए नियम हैं। इनका उपयोग उस प्रकार के डेटा को सीमित करने के लिए किया जाता है जो किसी तालिका में जा सकते हैं। यह डेटाबेस में डेटा की सटीकता और विश्वसनीयता सुनिश्चित करता है।

बाधाएँ या तो स्तंभ स्तर या तालिका स्तर पर हो सकती हैं। स्तंभ स्तर की बाधाओं को केवल एक स्तंभ पर लागू किया जाता है, जबकि तालिका स्तर की बाधाओं को संपूर्ण तालिका पर लागू किया जाता है।

निम्नलिखित एसक्यूएल में उपलब्ध सबसे अधिक इस्तेमाल होने वाली बाधाओं में से कुछ हैं। इन बाधाओं को पहले ही SQL - RDBMS अवधारणाओं अध्याय में चर्चा की जा चुकी है , लेकिन इस बिंदु पर उन्हें संशोधित करने के लायक है।

  • पूर्ण अवरोध नहीं - यह सुनिश्चित करता है कि किसी स्तंभ का पूर्ण मान नहीं हो सकता है।

  • डिफाल्ट बाधा - एक कॉलम के लिए एक डिफ़ॉल्ट मान प्रदान करता है जब कोई भी निर्दिष्ट नहीं होता है।

  • UNIQUE बाधा - सुनिश्चित करता है कि एक कॉलम के सभी मान अलग-अलग हैं।

  • प्राथमिक कुंजी - डेटाबेस तालिका में प्रत्येक पंक्ति / रिकॉर्ड को विशिष्ट रूप से पहचानती है।

  • FOREIGN Key - किसी भी डेटाबेस तालिका में किसी पंक्ति / रिकॉर्ड को विशिष्ट रूप से पहचानती है।

  • CHECK बाधा - CHECK बाधा यह सुनिश्चित करती है कि एक कॉलम के सभी मान कुछ शर्तों को पूरा करते हैं।

  • INDEX - बहुत जल्दी डेटाबेस से डेटा बनाने और पुनर्प्राप्त करने के लिए उपयोग किया जाता है।

बाधाओं को निर्दिष्ट किया जा सकता है जब एक तालिका क्रिएट टेबल स्टेटमेंट के साथ बनाई जाती है या आप टेबल बनाए जाने के बाद भी बाधाओं को बनाने के लिए ALTER टेबल स्टेटमेंट का उपयोग कर सकते हैं।

अड़चनें आना

आपके द्वारा परिभाषित किसी भी बाधा को DROP CONSTRAINT विकल्प के साथ ALTER TABLE कमांड का उपयोग करके गिराया जा सकता है।

उदाहरण के लिए, EMPLOYEES तालिका में प्राथमिक कुंजी बाधा को छोड़ने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं।

ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

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

ALTER TABLE EMPLOYEES DROP PRIMARY KEY;

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

ईमानदारी की कमी

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

कई प्रकार की अखंडता बाधाएं हैं जो एक भूमिका निभाती हैं Referential Integrity (RI)। इन बाधाओं में प्राथमिक कुंजी, विदेशी कुंजी, अद्वितीय बाधाएं और अन्य बाधाएं शामिल हैं जो ऊपर उल्लिखित हैं।