SQL बाधाओं और इसके विभिन्न प्रकार क्या हैं?



यह आलेख विभिन्न SQL कमांड के साथ विभिन्न प्रकार के SQL अवरोधों का उपयोग करने के बारे में एक व्यापक मार्गदर्शिका है, और उदाहरणों के साथ समान है।

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

इस लेख में निम्नलिखित विषयों को शामिल किया जाएगा:





  1. क्या अड़चनें हैं?
  2. SQL में उपलब्ध बाधाएँ:

SQL बाधाएं क्या हैं?

SQL तालिकाओं का उपयोग किसी तालिका में डेटा के नियमों को निर्दिष्ट करने के लिए किया जाता है। ये डेटाबेस में किस प्रकार के डेटा को संग्रहीत करने के लिए सीमित करने के लिए उपयोग किए जाते हैं, और इसका उद्देश्य डेटाबेस में संग्रहीत डेटा की सटीकता और विश्वसनीयता को बढ़ाना है।

इसलिए, बाधाएं यह सुनिश्चित करती हैं कि डेटा के लेन-देन के संदर्भ में कोई उल्लंघन नहीं है, फिर भी कोई भी उल्लंघन पाया जाता है जो कार्रवाई समाप्त हो जाती है।



दो प्रकार की अड़चनें हैं जिन्हें लागू किया जा सकता है:

  1. स्तंभ-स्तर की बाधाएँ - इन बाधाओं को एक स्तंभ पर लागू किया जाता है
  2. तालिका-स्तर की बाधाएँ - ये बाधाएं पूर्ण तालिका के लिए आवेदन हैं

इस लेख में आगे बढ़ते हुए, हम विभिन्न प्रकार की बाधाओं को समझते हैं। इसके अलावा, मैं आपको बेहतर समझने में मदद करने के लिए निम्न तालिका पर विचार करने जा रहा हूं।

विभिन्न SQL बाधाएं उपलब्ध हैं:

पूर्ण बाधा नहीं

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



उदाहरण

क्रिएट टेबल पर पूर्ण बाधा नहीं

उपरोक्त छात्र तालिका बनाने के लिए एक प्रश्न लिखें, जहां छात्र और छात्र नाम पूर्ण नहीं हो सकते।

सृजन योग्य छात्र (छात्र आईडी नॉट न, स्टूडेंटनाम वचर (255) नॉट नाउल, एज इंट, सिटी वरचर (255))

अन्य तालिका पर पूर्ण बाधा नहीं

उपरोक्त छात्र तालिका को बदलने के लिए एक प्रश्न लिखें, जहां DOB का एक नया कॉलम जोड़ा जाना चाहिए, और इसमें कोई पूर्ण मान नहीं होना चाहिए।

अन्य सारणी में शामिल छात्रों को वर्ष भर नहीं मिला

SQL बाधाओं पर इस लेख में आगे बढ़ते हुए, आइए हम समझते हैं कि UNIQUE बाधा का उपयोग कैसे करें।

विशेष बाधा

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

ध्यान दें:

  1. तालिकाएँ बनाते समय, एक स्तंभ की विशिष्टता की गारंटी के लिए एक प्राथमिक कुंजी बाधा स्वचालित रूप से एक अद्वितीय बाधा होती है।
  2. एक तालिका में कई अड़चनें हो सकती हैं, लेकिन एक एकल प्राथमिक कुंजी बाधा हो सकती है।

उदाहरण:

सृजन टेबल पर अद्वितीय बाधा

स्तंभ छात्र, छात्रनाम, आयु और शहर के साथ एक तालिका छात्र बनाने के लिए एक प्रश्न लिखें। यहां, विद्यार्थी को प्रत्येक रिकॉर्ड के लिए अद्वितीय होना चाहिए।

सृजन योग्य छात्र (छात्र की पहचान पूरी तरह से नहीं, छात्र का नामांक (255) पूर्ण नहीं, आयु का अंतर, शहर का अंतर (255)

कई स्तंभों पर एक UNIQUE बाधा का नाम दें

एक अद्वितीय बाधा का नाम देने और इसे कई स्तंभों के लिए परिभाषित करने के लिए आप निम्न उदाहरण का उल्लेख कर सकते हैं:

linux में सेट क्लास पाथ

स्तंभ छात्र, छात्रनाम, आयु और शहर के साथ एक तालिका छात्र बनाने के लिए एक प्रश्न लिखें। यहां, प्रत्येक रिकॉर्ड के लिए छात्र, और छात्रनाम अद्वितीय होना चाहिए।

सृजन योग्य छात्र (छात्र आईडी नॉट न, स्टूडेंटनाम वचर (255) नॉट न वल, एज इंट, सिटी वरचर (255) कंसट्रैक्ट Stu_Example UNIQUE (स्टूडेंट, स्टूडेंटनाम)

यहाँ, Stu_Example, छात्र और छात्रनाम पर लागू अद्वितीय अवरोध को दिया गया नाम है।

वैकल्पिक टेबल पर अद्वितीय बाधा

छात्र तालिका को बदलने के लिए एक प्रश्न लिखें, जहां छात्र के कॉलम में एक अद्वितीय बाधा जोड़ी जानी चाहिए।

अतिरिक्त टेबल छात्रों को जोड़ें (छात्र)

इसी तरह, यदि आप कई स्तंभों पर UNIQUE बाधा का उपयोग करना चाहते हैं और इसे नाम भी देते हैं, तो आप एक क्वेरी निम्नानुसार लिख सकते हैं:

अन्य तालिका में शामिल छात्रों को स्टड_अनुकूलित विश्वविद्यालय (छात्र, छात्रनाम) से जोड़ें

एक अद्वितीय बाधा छोड़ें

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

उदाहरण के लिए, यदि हमें ऊपर बनाई गई UNIQUE बाधा को छोड़ने के लिए एक क्वेरी लिखना है, तो आप क्वेरी को इस प्रकार लिख सकते हैं:

अन्य सारणी छात्र DROP CONSTRAINT Stu_Example का निर्माण करते हैं

SQL बाधाओं पर इस लेख के आगे, आइए समझते हैं कि CHECK बाधा का उपयोग कैसे करें।

चेक बाधा

CHECK बाधा यह सुनिश्चित करती है कि एक कॉलम में सभी मान एक विशिष्ट स्थिति को संतुष्ट करते हैं।

xml और html में अंतर

उदाहरण:

रचना टेबल पर चेक बाधा

स्तंभ छात्र, छात्रनाम, आयु और शहर के साथ एक तालिका छात्र बनाने के लिए एक प्रश्न लिखें। यहाँ, शहर MUmbai होना चाहिए।

क्रिएट टेबल स्टूडेंट्स (स्टूडेंट इंट नॉट अनलकी, स्टूडेंटनाम वेरचर (255) नॉट एनएलई, एज इंट, सिटी वेरचर (255) सीएचईसीके (सिटी == 'मुंबई'))

कई स्तंभों पर चेक बाधा

कई स्तंभों पर चेक बाधा का उपयोग करने के लिए आप नीचे के रूप में एक प्रश्न लिख सकते हैं:

स्तंभ छात्र, छात्रनाम, आयु और शहर के साथ एक तालिका छात्र बनाने के लिए एक प्रश्न लिखें। यहां, शहर मुंबई होना चाहिए, और छात्रों की उम्र> 19 होनी चाहिए।

सृजन योग्य छात्र (छात्र आईडी नॉट नॉट, स्टूडेंटनेम वैरचर (255) नॉट नॉट, एज इंट, सिटी वेरचर (255) चीक (सिटी == & rsquoMumbai & rsquo और आयु> 19)

इसी तरह, आप CHECK बाधा का उपयोग ALTER TABLE कमांड के साथ भी कर सकते हैं। नीचे देखें।

चखने की कसौटी पर कसना

छात्र तालिका को बदलने के लिए एक प्रश्न लिखें, जहां सिटी कॉलम में एक CHECK बाधा जोड़ी जानी चाहिए। यहां, शहर मुंबई होना चाहिए।

अन्य टेबल छात्र ADD CHECK (शहर == 'मुंबई')

इसी तरह, यदि आप CHECK बाधा का उपयोग करना चाहते हैं, तो इसे एक नाम देकर आप एक प्रश्न लिख सकते हैं:

अन्य टेबल स्टूडेंट्स ADD CONSTRAINT StuCheckExample CHECK (शहर == 'मुंबई')

एक CHECK बाधा ड्रॉप

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

उदाहरण के लिए, यदि हमें ऊपर बनाई गई CHECK बाधा को छोड़ने के लिए एक क्वेरी लिखना है, तो आप क्वेरी को निम्नानुसार लिख सकते हैं:

अन्य सारणी छात्र DROP CONSTRAINT StuCheckExample

SQL बाधाओं पर इस लेख में आगे बढ़ते हुए, हम समझते हैं कि DEFAULT बाधा का उपयोग कैसे करें।

बाधा बाधा

कोई मान निर्दिष्ट नहीं किए जाने पर स्तंभ के लिए डिफ़ॉल्ट मानों के समूह का उल्लेख करने के लिए DEFAULT बाधा का उपयोग किया जाता है। अन्य बाधाओं के समान ही, हम इस बाधा का उपयोग CREATE और ALTER टेबल कमांड पर कर सकते हैं।

उदाहरण

स्तंभ छात्र, छात्रनाम, आयु और शहर के साथ एक तालिका छात्र बनाने के लिए एक प्रश्न लिखें। इसके अलावा जब सिटी कॉलम में कोई मूल्य नहीं डाला जाता है, तो स्वचालित रूप से दिल्ली को शामिल किया जाना चाहिए।

शुरुआती के लिए दृश्य स्टूडियो ट्यूटोरियल
सृजन योग्य छात्र (छात्र आईडी नॉट न, स्टूडेंटनाम वचर (255) नॉट एनएलई, आयु इंट, सिटी वरचर (255) डिफॉल्ट 'दिल्ली')

फेर टेबल पर डिफाल्ट बाधा

के साथ DEFAULT बाधा का उपयोग करने के लिए वैकल्पिक आदेश , आप एक क्वेरी इस प्रकार लिख सकते हैं:

शहर के लिए अन्य विषय छात्रों ने स्टूडेंट स्टूडेफौप्ल डिफॉल्ट को 'मुंबई' से जोड़ा

एक बाधा अवरोध छोड़ें

निम्न बाधा को छोड़ने के लिए आप निम्न तालिका आदेश का उपयोग कर सकते हैं:

अन्य विषय छात्रों के लिए शहर के शहर से दूर जाना चाहिए

SQL बाधाओं पर इस लेख के आगे, आइए समझते हैं कि INDEX बाधा का उपयोग कैसे करें।

INDEX बाधा

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

वाक्य - विन्यास

- एक इंडेक्स बनाएं जहां डुप्लिकेट मानों की अनुमति दी जाती है TableName (ColumnName1, ColumnName2, ... ColumnName2 (N)) पर INDATE IndexName क्रिएट करें - एक इंडेक्स बनाएं जहां डुप्लिकेट मानों की अनुमति नहीं है TableName (ColumnName1, ColumnName1, ColumnName2) ... कॉलमनाम (N))

उदाहरण

स्टूडेंट टेबल पर स्टूडेंट टेबल पर Stu_index नाम से एक इंडेक्स बनाने के लिए एक प्रश्न लिखें।

छात्रों पर INDEX Stu_index बनाएँ (छात्रनाम)

इसी तरह, तालिका से एक सूचकांक को हटाने के लिए, आपको सूचकांक के नाम के साथ DROP कमांड का उपयोग करना होगा।

DROP INDEX छात्र। Stu_index

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

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

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया एसक्यूएल बाधाओं पर इस लेख के टिप्पणी अनुभाग में इसका उल्लेख करें और मैं आपको वापस मिल जाएगा।