தரவுத்தள செயல்திறனை மேம்படுத்த பல வழிகள் இருந்தாலும், ஒரு அம்சம் எந்த தரவுத்தளத்திற்கும் கிட்டத்தட்ட உலகளாவியது. டேட்டாபேஸ் இன்டெக்ஸ்கள் என்பது டேபிளிலிருந்து தரவு மீட்டெடுப்பின் வேகத்தை அதிகரிக்கப் பயன்படும் தரவு கட்டமைப்புகள் அல்லது பொருள்கள்.
சரியாகப் பயன்படுத்தும்போது, இலக்கு தரவு, தளவமைப்பு, கிடைக்கக்கூடிய ஆதாரங்கள் போன்றவற்றைப் பொறுத்து, தரவுத்தள குறியீடுகள் வினவலின் வேகத்தை கிட்டத்தட்ட பாதியாகக் குறைக்கலாம்.
இந்த டுடோரியலில், குறியீட்டு நெடுவரிசையில் நகல் மதிப்புகள் கிடைப்பதைத் தடுக்க, Oracle தரவுத்தளங்களில் தனிப்பட்ட குறியீடுகளுடன் எவ்வாறு செயல்படுவது என்பதை நீங்கள் கற்றுக் கொள்ளப் போகிறீர்கள்.
ஆரக்கிள் தனித்துவமான குறியீடு
கொடுக்கப்பட்ட நெடுவரிசையில் நகல் வரிசைகள் எதுவும் சேமிக்கப்படவில்லை என்பதை உறுதிப்படுத்த, தனித்துவமான குறியீட்டைப் பயன்படுத்தலாம். கொடுக்கப்பட்ட குறியீட்டின் நெடுவரிசையில் ஒரு தனித்துவமான விதி இருந்தால், அந்த நெடுவரிசையில் ஒரே மதிப்புள்ள இரண்டு வரிசைகளைச் சேர்க்க முயற்சித்தால், ஒரு தனித்தன்மை மீறலைக் குறிக்கும் பிழை ஏற்படும்.
ஆரக்கிளில், பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி CREATE UNIQUE INDEX அறிக்கையைப் பயன்படுத்தி தனித்துவமான குறியீட்டை உருவாக்கலாம்:
அட்டவணை_பெயரில் தனித்துவமான குறியீட்டு குறியீட்டு_பெயரை உருவாக்கவும் ( நெடுவரிசைகள் ) ;
குறியீட்டில் சேர்க்கப்பட்டுள்ள நெடுவரிசைகள் எந்த நகல் வரிசைகளையும் ஏற்காது.
தனித்துவமான அட்டவணை விளக்கப்படத்தின் எடுத்துக்காட்டு
ஒரு தனித்துவமான குறியீட்டை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது என்பதை நிரூபிக்க, பின்வரும் அட்டவணையை எடுக்கவும்:
தேர்ந்தெடுக்கவும் * மாதிரி_தரவில் இருந்து;
வெளியீடு :
முதல்_பெயர் நெடுவரிசையில் ஒரு தனித்துவமான குறியீட்டை உருவாக்கவும்
முதல்_பெயர் நெடுவரிசையைப் பயன்படுத்தி தனித்துவமான குறியீட்டை எவ்வாறு உருவாக்குவது என்பதை பின்வரும் எடுத்துக்காட்டு அறிக்கை காட்டுகிறது:
மாதிரி_தரவில் தனிப்பட்ட குறியீட்டை first_name_unique உருவாக்கவும் ( முதல்_பெயர் ) ;இந்த குறியீட்டை இயக்குவதன் மூலம், ஒரே பெயருடன் ஒன்றுக்கு மேற்பட்ட வரிசைகளை நாம் செருக முடியாது.
எடுத்துக்காட்டாக, பின்வரும் செருகு அறிக்கையை எடுத்துக் கொள்ளுங்கள்:
மாதிரி_தரவில் செருகவும் ( ஐடி , முதல்_பெயர், ip_address, btc_address, credit_card, identifier )மதிப்புகள் ( பதினொரு , 'வாலாஸ்' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
கொடுக்கப்பட்ட செருகல் அறிக்கையை இயக்கினால், பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி பிழையைப் பெறுவோம்:
[ 23000 ] [ 1 ] ORA-00001: தனித்துவமான கட்டுப்பாடு ( HR.FIRST_NAME_UNIQUE ) மீறப்பட்டதுநாம் பார்க்கிறபடி, கொடுக்கப்பட்ட மதிப்பைச் செருகுவது முதல்_பெயர் நெடுவரிசைக்கான தனிப்பட்ட தடையை மீறுகிறது.
இரண்டு நெடுவரிசைகளுடன் ஒரு தனித்துவமான குறியீட்டை உருவாக்கவும்
ஒன்றுக்கும் மேற்பட்ட நெடுவரிசைகளைக் கொண்ட தனித்துவமான குறியீட்டையும் நாம் வைத்திருக்க முடியும். பின்வரும் எடுத்துக்காட்டில், முதல்_பெயர் மற்றும் io_address நெடுவரிசைகளைப் பயன்படுத்தி தனித்துவமான குறியீட்டை உருவாக்குகிறோம்:
மாதிரி_தரவில் தனித்துவமான குறியீட்டு verify_columns ஐ உருவாக்கவும் ( முதல்_பெயர், ஐபி_முகவரி ) ;இதேபோல், முதல்_பெயர் அல்லது ip_address நெடுவரிசைக்கு நகல் மதிப்புகளைச் சேர்ப்பது தனிப்பட்ட குறியீட்டு மீறல் பிழைகளை ஏற்படுத்தும்.
தானியங்கி தனிப்பட்ட குறியீடுகள்
முதன்மை விசை அல்லது தனித்துவமான தடையுடன் அட்டவணை நெடுவரிசையை அறிவிக்கும்போது என்ன நடக்கும் என்று நீங்கள் எப்போதாவது யோசித்திருக்கிறீர்களா?
எளிமையான சொற்களில், நீங்கள் ஒரு நெடுவரிசையை அட்டவணையின் முதன்மை விசையாக அமைத்தால் அல்லது கொடுக்கப்பட்ட நெடுவரிசைக்கு ஒரு தனித்துவமான தடையை ஒதுக்கினால், தரவுத்தள இயந்திரம் தானாகவே அந்த நெடுவரிசைக்கான தனிப்பட்ட குறியீட்டை உருவாக்குகிறது.
அந்த நெடுவரிசையில் நகல் மதிப்பு எதுவும் செருகப்படவில்லை என்பதை இது உறுதி செய்கிறது.
உதாரணமாக பின்வரும் அறிக்கையை எடுத்துக் கொள்ளுங்கள்:
அட்டவணை மாதிரி_தரவை உருவாக்கவும்(
ஐடி எண்,
முதல்_பெயர் varchar2 ( ஐம்பது ) ,
ip_address varchar2 ( இருபது ) ,
btc_address varchar2 ( ஐம்பது ) ,
கிரெடிட்_கார்டு varchar2 ( ஐம்பது ) ,
அடையாளங்காட்டி varchar2 ( 40 ) ,
கட்டுப்பாட்டு மாதிரி_pk முதன்மை விசை ( ஐடி )
) ;
முந்தைய எடுத்துக்காட்டில், நாங்கள் ஒரு அட்டவணையை உருவாக்கி, ஐடி நெடுவரிசையை அட்டவணையின் முதன்மை விசையாக அமைக்கிறோம். பின்னர், அந்த நெடுவரிசையுடன் தொடர்புடைய தனிப்பட்ட தடையைக் காண (தானாக உருவாக்கப்படும்), பின்வரும் கட்டளையை இயக்கலாம்:
தேர்ந்தெடுக்கவும் index_name, index_type, visibility, status, TABLE_NAMEஅனைத்து_குறியீடுகளிலிருந்தும் TABLE_NAME = 'SAMPLE_DATA' ;
முடிவுகள் :
இந்த வழக்கில், ஐடி நெடுவரிசைக்கான தரவுத்தள இயந்திரத்தால் உருவாக்கப்பட்ட தனித்துவமான குறியீட்டைக் காணலாம்.
முடிவுரை
இந்த வழிகாட்டியில், Oracle தரவுத்தளத்தில் தனிப்பட்ட குறியீடுகளை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது என்பதை நீங்கள் கற்றுக்கொண்டீர்கள். அட்டவணை நெடுவரிசைக்கு முதன்மை விசை அல்லது தனித்துவமான தடையை நீங்கள் ஒதுக்கும்போது என்ன நடக்கும் என்பதையும் நீங்கள் கற்றுக்கொண்டீர்கள்.