सीधे मुख्य सामग्री पर जाएं

trigger in dbms : ट्रिगर

 आज हम computers in hindi मे trigger in dbms (ट्रिगर क्या है)  के बारे मे जानेगे और इसके types of triggers व trigger example के बारे मे तो चलिए शुरु करते हैं-

what is the meaning of triggered in hindi ( ट्रिगर क्या है ):-

डेटाबेस ट्रिगर सामान्य भाषा में event किसी घटना को कहा जाता है , डेटाबेस में event से मतलब किसी घटना से है जो डेटाबेस से जुड़ी हो , मतलब डेटाबेस पर किसी कमाण्ड का रन होना event है । 
ट्रिगर ऐसी प्रोग्रामिंग इकाई है जो कि किसी टेबल के लिए किसी डेटाबेस event पर स्वतः ही रन हो जाते हैं इसलिए इन्हें event activated program units ( ईवेट सक्रिय प्रोग्राम इकाई ) कहा जाता है । ट्रिगर्स में सभी प्रकार के DML कमाण्ड्स दिए जा सकते हैं ।
प्रत्येक ट्रिगर का नाम schema उस के लिए यूनीक होना चाहिए , अर्थात् ट्रिगर का नाम दोहराया जाना नहीं चाहिए । एक ट्रिगर को एक ही टेबल के लिए बनाया जा सकता है , एक से अधिक टेबल्स के लिए ट्रिगर बनाने हों तो उन्हें अलग - अलग बनाया जाएगा । 
किसी डेटाबेस ऑब्जेक्ट को बनाने वाला user ( प्रयोगकर्ता ) स्वयं के ऑब्जेक्ट के लिए ट्रिगर बना सकता है । इसके लिए उसे ट्रिगर का ईवेन्ट भी निर्धारित करना होगा । एक ट्रिगर को एक से अधिक events के लिए लिखा जा सकता है , परन्तु उन सभी टिगर्स की timing एक ही होती है ।

Trigger syntax: -

Create [or Replace] Trigger <Trigger Name> 
<Before/After/Instead of> <Insert/Update/Delete> 
ON <Object Name> 
[When <Condition>] [For Each Row] 
Declare 
<Declaration Section>
Begin 
            <Trigger Action Section> 
Exception 
            <Exception Section> 
End;

Types of triggers in dbms: different types of triggers: -

1. Timing Based Triggers 
a. Before Level Triggers 
b. After Level Triggers 

2. Level Based Trigger 
a. Row Level Triggers 
b. Statement Level Triggers

1. Timing Based Triggers:-

 इस प्रकार के ट्रिगर्स समय आधारित होते हैं । यह समय ईवेन्ट पर आधारित होता है । timing दो प्रकार की या तो before statement या after statement होती है । इसलिए इस प्रकार के ट्रिगर या तो निर्धारित ईवेन्ट में स्टेटमेन्ट execute होने से पहले या निर्धारित ईवेन्ट में स्टेटमेन्ट execute के बाद execute होते हैं ।

Before Level Triggers :-

इस प्रकार के ट्रिगर निर्धारित ईवेन्ट में स्टेटमेन्ट execute होने से पहले स्वत : ही execute होते हैं । 
Triggers example:-
create or replace trigger mytrig 1
 before delete on emp 
for each row 
Begin 
insert into emp_backup ( empno . ename . job , sal , comm 
values ( : old.empno , cold.ename , cold.job.:old.sal , old.com End :
/

After level triggers:-

इस प्रकार के ट्रिगर निर्धारित ईवेन्ट में स्टेटमेन्ट execute  होने के बाद execute  होते हैं । 
Triggers example: -
 create or replace trigger mytrig2 
after insert on emp 
for each row 
when ( new.comm > 500 ) 
            Declare 
                        bns number : 
Begin 
                        bns := : new.comm +50;
                        insert into bonus ( empno , ename . job . bonus ) 
                        values ( : new.empno , : new.ename , : new.job . bus 
End :
/

2. Level based triggers:-

इस प्रकार के ट्रिगर दो प्रकार के होते हैं 

Row Level Triggers :-

इस प्रकार के ट्रिगर में reference clauses  जैसे कि : new . old का प्रयोग किया जा सकता है । इस प्रकार के ट्रिगर स्टेटमेन्ट से प्रभावित प्रत्येक रिकॉर्ड के लिए execute होते हैं । इसके लिए for each row लिखा जाता है । 

Statement Level Triggers:-

इस प्रकार के ट्रिगर्स में for each row नहीं लिखा जाता है । ये ट्रिगर्स सम्पूर्ण ट्रिगर स्टेटमेन्ट की ओर से एक बार ही execute होते हैं । इस प्रकार के ट्रिगर में reference clauses जैसे कि : new . : old का प्रयोग नहीं किया जा सकता है ।
Triggers example: -
create or replace trigger mytrig3 
before delete on student 
Begin 
insert into log(unae, date_d, time_d) 
values( user, sysdate, to char(sysdate, 'HH::SS:):
 End:
/

Use of triggers (ट्रिगर के उपयोग ):-

1. किसी ईवेन्ट को होने से रोकना 

यदि हम किसी कंडीशन के होने पर ईवेन्ट को होने से रोकना चाहते हैं या किसी विशेष कंडीशन में उस ईवेन्ट के प्रभाव को समाप्त करना चाहते हैं तो यह ट्रिगर के द्वारा सम्भव है । इसके लिए हमें अपने ट्रिगर के द्वारा कोई error प्रदर्शित करनी होती है।

2. किसी विशिष्ट कंडीशन के दौरान किसी विशिष्ट कमाण्ड का स्वतः क्रियान्वयन करना 

यदि किसी कंडीशन के दौरान किसी अन्य अथवा  कमाण्ड बिना प्रयोगकर्ता के रन किए स्वतः ही रन हो जाए , ऐसा करने के लिए ट्रिगर का प्रयोग किया जाता है । जैसे किसी रिकॉर्ड के डिलीट होने पर वह बैकअप टेबल में स्वत : से संग्रहित हो जाए । 

3. डेटाबेस पर DML कमाण्ड्स के रन होने पर स्वत : क्रियान्वयन 

यदि हम कोई ऐसा अपडेशन या वैल्यू इन्सर्शन चाहते हैं जो किसी विशिष्ट कमाण्ड के क्रियान्वयन होने पर ही हो तो इसके लिए भी ट्रिगर का प्रयोग किया जाता है ।

4. डेटाबेस को सुरक्षा एवं नियंत्रण 

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

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Recovery technique in dbms । रिकवरी। recovery in hindi

 आज हम Recovery facilities in DBMS (रिकवरी)   के बारे मे जानेगे रिकवरी क्या होता है? और ये रिकवरी कितने प्रकार की होती है? तो चलिए शुरु करतेे हैं- Recovery in hindi( रिकवरी) :- यदि किसी सिस्टम का Data Base क्रैश हो जाये तो उस Data को पुनः उसी रूप में वापस लाने अर्थात् उसे restore करने को ही रिकवरी कहा जाता है ।  recovery technique(रिकवरी तकनीक):- यदि Data Base पुनः पुरानी स्थिति में ना आए तो आखिर में जिस स्थिति में भी आए उसे उसी स्थिति में restore किया जाता है । अतः रिकवरी का प्रयोग Data Base को पुनः पूर्व की स्थिति में लाने के लिये किया जाता है ताकि Data Base की सामान्य कार्यविधि बनी रहे ।  डेटा की रिकवरी करने के लिये यह आवश्यक है कि DBA के द्वारा समूह समय पर नया Data आने पर तुरन्त उसका Backup लेना चाहिए , तथा अपने Backup को समय - समय पर update करते रहना चाहिए । यह बैकअप DBA ( database administrator ) के द्वारा लगातार लिया जाना चाहिए तथा Data Base क्रैश होने पर इसे क्रमानुसार पुनः रिस्टोर कर देना चाहिए Types of recovery (  रिकवरी के प्रकार ):- 1. Log Based Recovery 2. Shadow pag

Query Optimization in hindi - computers in hindi 

 आज  हम  computers  in hindi  मे query optimization in dbms ( क्वैरी ऑप्टीमाइजेशन) के बारे में जानेगे क्या होता है और क्वैरी ऑप्टीमाइजेशन (query optimization in dbms) मे query processing in dbms और query optimization in dbms in hindi और  Measures of Query Cost    के बारे मे जानेगे  तो चलिए शुरु करते हैं-  Query Optimization in dbms (क्वैरी ऑप्टीमाइजेशन):- Optimization से मतलब है क्वैरी की cost को न्यूनतम करने से है । किसी क्वैरी की cost कई factors पर निर्भर करती है । query optimization के लिए optimizer का प्रयोग किया जाता है । क्वैरी ऑप्टीमाइज़र को क्वैरी के प्रत्येक operation की cos जानना जरूरी होता है । क्वैरी की cost को ज्ञात करना कठिन है । क्वैरी की cost कई parameters जैसे कि ऑपरेशन के लिए उपलब्ध memory , disk size आदि पर निर्भर करती है । query optimization के अन्दर क्वैरी की cost का मूल्यांकन ( evaluate ) करने का वह प्रभावी तरीका चुना जाता है जिसकी cost सबसे कम हो । अतः query optimization एक ऐसी प्रक्रिया है , जिसमें क्वैरी अर्थात् प्रश्न को हल करने का सबसे उपयुक्त तरीका चुना