ओरेकल यूनिक इंडेक्स

Orekala Yunika Indeksa



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

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

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







इस ट्यूटोरियल में, आप सीखेंगे कि कैसे अनुक्रमित कॉलम में डुप्लिकेट मानों की उपलब्धता को रोकने के लिए Oracle डेटाबेस में अद्वितीय इंडेक्स के साथ काम करना है।



ओरेकल यूनिक इंडेक्स

हम यह सुनिश्चित करने के लिए एक अद्वितीय अनुक्रमणिका का उपयोग कर सकते हैं कि किसी दिए गए कॉलम में कोई डुप्लिकेट पंक्तियाँ संग्रहीत नहीं हैं। यदि किसी दिए गए इंडेक्स के कॉलम में एक अनूठा नियम है, तो उस कॉलम में समान मान वाली दो पंक्तियों को जोड़ने का प्रयास करने से एक त्रुटि उत्पन्न होगी जो एक अद्वितीय बाधा उल्लंघन का संकेत देती है।



Oracle में, हम CREATE UNIQUE INDEX स्टेटमेंट का उपयोग करके एक अद्वितीय इंडेक्स बना सकते हैं जैसा कि निम्नलिखित में दिखाया गया है:





Table_name पर UNIQUE INDEX index_name बनाएँ ( कॉलम ) ;

इंडेक्स में शामिल किए गए कॉलम किसी भी डुप्लीकेट पंक्तियों को स्वीकार नहीं करेंगे।

अद्वितीय तालिका चित्रण का उदाहरण

अद्वितीय अनुक्रमणिका बनाने और उपयोग करने का तरीका प्रदर्शित करने के लिए, निम्न तालिका लें:



चुनते हैं * नमूना_डेटा से;

उत्पादन :

First_Name कॉलम पर एक अद्वितीय अनुक्रमणिका बनाएँ

निम्न उदाहरण कथन दिखाता है कि first_name कॉलम का उपयोग करके एक अद्वितीय अनुक्रमणिका कैसे बनाई जाए:

नमूना_डेटा पर अद्वितीय अनुक्रमणिका first_name_unique बनाएँ ( संतोष ) ;

इस अनुक्रमणिका को सक्षम करके, हम समान प्रथम नाम वाली एक से अधिक पंक्ति सम्मिलित नहीं कर सकते हैं।

उदाहरण के लिए निम्नलिखित सम्मिलन कथन लें:

नमूना_डेटा में डालें ( पहचान , first_name, ip_address, btc_address, credit_card, पहचानकर्ता )
मूल्यों ( ग्यारह , 'वालेस' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

यदि हम दिए गए इंसर्ट स्टेटमेंट को रन करते हैं, तो हमें निम्नलिखित में दिखाए गए अनुसार एक त्रुटि प्राप्त करनी चाहिए:

[ 23000 ] [ 1 ] ORA-00001: अद्वितीय बाधा ( HR.FIRST_NAME_UNIQUE ) उल्लंघन

जैसा कि हम देख सकते हैं, दिया गया मान डालने से first_name कॉलम के लिए अद्वितीय बाधा का उल्लंघन होता है।

दो कॉलम के साथ एक अद्वितीय अनुक्रमणिका बनाएँ

हमारे पास एक अनूठी अनुक्रमणिका भी हो सकती है जिसमें एक से अधिक कॉलम शामिल हैं। निम्नलिखित उदाहरण में, हम first_name और io_address कॉलम का उपयोग करके एक अद्वितीय अनुक्रमणिका बनाते हैं:

नमूना_डेटा पर अद्वितीय अनुक्रमणिका सत्यापित_स्तंभ बनाएँ ( पहला_नाम, ip_address ) ;

इसी तरह, या तो first_name या ip_address कॉलम के लिए डुप्लिकेट मान जोड़ने से अद्वितीय इंडेक्स उल्लंघन त्रुटियां होंगी।

स्वचालित अद्वितीय अनुक्रमणिका

क्या आपने कभी सोचा है कि जब आप एक प्राथमिक कुंजी या अद्वितीय बाधा के साथ तालिका स्तंभ घोषित करते हैं तो क्या होता है?

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

यह सुनिश्चित करता है कि उस कॉलम में कोई डुप्लिकेट मान नहीं डाला गया है।

उदाहरण के लिए निम्न कथन लें:

तालिका नमूना_डेटा बनाएं
(
पहचान संख्या,
first_name varchar2 ( पचास ) ,
ip_address varchar2 ( बीस ) ,
btc_address varchar2 ( पचास ) ,
क्रेडिट_कार्ड varchar2 ( पचास ) ,
पहचानकर्ता  varchar2 ( 40 ) ,
बाधा नमूना_पीके प्राथमिक कुंजी ( पहचान )
) ;

पिछले उदाहरण में, हम एक तालिका बनाते हैं और आईडी कॉलम को तालिका की प्राथमिक कुंजी के रूप में सेट करते हैं। फिर, उस कॉलम (स्वचालित रूप से उत्पन्न) से जुड़ी अनूठी बाधा को देखने के लिए, हम निम्नलिखित कमांड चला सकते हैं:

चुनते हैं index_name, index_type, दृश्यता, स्थिति, TABLE_NAME
all_indexes से जहां TABLE_NAME = 'नमूना डेटा' ;

परिणाम :
इस मामले में, हम आईडी कॉलम के लिए डेटाबेस इंजन द्वारा बनाई गई अनूठी अनुक्रमणिका देख सकते हैं।

निष्कर्ष

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