Constraint doc
:
CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
ENABLE/DISABLE
इंगित करता है कि बाधा चालू या बंद है। डिफ़ॉल्ट रूप से ENABLE
उपयोग किया जाता है।
अनुबंध सक्षम करें यदि आप तालिका में डेटा पर प्रतिबंध लागू करना चाहते हैं तो ENABLE निर्दिष्ट करें।
अक्षम खंड अखंडता बाधा को अक्षम करने के लिए अक्षम निर्दिष्ट करें। अक्षम अखंडता बाधाएं सक्षम बाधाओं के साथ डेटा शब्दकोश में दिखाई देती हैं। यदि आप एक बाधा बनाते समय इस खंड को निर्दिष्ट नहीं करते हैं, तो Oracle स्वचालित रूप से बाधा को सक्षम करता है।
डेटा अखंडता सुनिश्चित करने के लिए बाधाओं का उपयोग किया जाता है, लेकिन ऐसे परिदृश्य हैं जिन्हें हमें उन्हें अक्षम करने की आवश्यकता हो सकती है।
Managing Integrity
:
बाधाओं को अक्षम करना
अखंडता बाधाओं द्वारा परिभाषित नियमों को लागू करने के लिए, बाधाओं को हमेशा सक्षम किया जाना चाहिए। हालांकि, निम्न प्रदर्शन कारणों से तालिका की अखंडता बाधाओं को अस्थायी रूप से अक्षम करने पर विचार करें:
-
तालिका में बड़ी मात्रा में डेटा लोड करते समय
-
तालिका में बड़े पैमाने पर परिवर्तन करने वाले बैच संचालन करते समय (उदाहरण के लिए, मौजूदा संख्या में 1000 जोड़कर प्रत्येक कर्मचारी की संख्या बदलना)
-
एक समय में एक टेबल का आयात या निर्यात करते समय
तीनों मामलों में, अखंडता बाधाओं को अस्थायी रूप से अक्षम करने से ऑपरेशन के प्रदर्शन में सुधार हो सकता है, विशेष रूप से डेटा वेयरहाउस कॉन्फ़िगरेशन में।
डेटा दर्ज करना संभव है जो एक बाधा का उल्लंघन करता है जबकि वह बाधा अक्षम है। इस प्रकार, आपको पूर्ववर्ती बुलेटलिस्ट में सूचीबद्ध किसी भी ऑपरेशन को पूरा करने के बाद हमेशा बाधा को सक्षम करना चाहिए।
अखंडता बाधाओं का कुशल उपयोग:एक प्रक्रिया
निम्नलिखित क्रम में अखंडता बाधा राज्यों का उपयोग सर्वोत्तम लाभ सुनिश्चित कर सकता है:
-
स्थिति अक्षम करें।
-
ऑपरेशन करें (लोड, निर्यात, आयात)।
-
राज्य को नवीकृत करें सक्षम करें।
इस क्रम में बाधाओं का उपयोग करने के कुछ लाभ हैं:
-
कोई ताला नहीं लगाया जाता है।
-
एक साथ राज्य को सक्षम करने के लिए सभी बाधाएं जा सकती हैं।
-
बाधा सक्षम करना समानांतर में किया जाता है।
-
टेबल पर समवर्ती गतिविधि की अनुमति है।
-
संपादित करें:
सवाल यह है कि स्पष्ट . का उपयोग क्यों किया जाए कीवर्ड जब डिफ़ॉल्ट रूप से चालू होता है:
मैं कहूंगा:
- स्पष्टता के लिए (पायथन ईआईबीटीआई नियम स्पष्ट से बेहतर है स्पष्ट )
- पूर्णता के लिए
- व्यक्तिगत स्वाद और/या कोडिंग परंपरा
यह वही श्रेणी है:
CREATE TABLE tab(col INT NULL)
हम NULL
का उपयोग क्यों करते हैं? यदि कॉलम डिफ़ॉल्ट रूप से अशक्त है।