Trigger in DBMS in Hindi

Trigger in DBMS

DBMS में Trigger स्वयं से execute होने वाला process है। यह एक विशेष प्रकार की प्रक्रिया है, जब किसी टेबल में INSERT, UPDATE या DELETE ऑपरेशन किया जाता है, तो Trigger अपने-आप ही active हो जाता है।

दुसरे शब्दों में, Trigger एक ऑटोमैटिक SQL कोड होता है जो किसी विशेष इवेंट (जैसे INSERT, UPDATE, DELETE) के होने पर अपने आप चालू हो जाता है। इसे हम एक तरह का ऑटोमेटिक प्रोग्राम कह सकते हैं। यह डेटाबेस में होने वाले बदलावों को मॉनिटर करके किसी काम को ऑटो करने में मदद करता है।

Trigger का उपयोग डेटा की integrity बनाए रखने, नियम लागू करने या लॉगिंग के लिए किया जाता है।

ट्रिगर के प्रकार (Types of Triggers)

Trigger in DBMS in Hindi

Trigger मुख्यत: 3 प्रकार के होते हैं:

1. DDL Trigger (Data Definition Language Trigger)

DDL (Data Definition Language) ट्रिगर तब सक्रिय (activate) होते हैं जब डेटाबेस में संरचनात्मक बदलाव किए जाते हैं, जैसे कि CREATE, ALTER, और DROP कमांड का उपयोग। आमतौर पर यह डेटाबेस administration के लिए उपयोगी होता है।

दुसरे शब्दों में, DDL कमांड जैसे CREATE_TABLE, CREATE_VIEW, DROP_TABLE, DROP_VIEW, और ALTER_TABLE के कारण DDL Trigger सक्रिय हो जाते हैं। ये Trigger डेटाबेस की संरचना में हो रहे बदलाव को ट्रैक करने में मदद करते हैं।

उदाहरण: CREATE, ALTER, DROP आदि।

2. DML ट्रिगर (Data Manipulation Language Trigger)

ये सबसे ज्यादा इस्तेमाल होते हैं। DML (Data Manipulation Language) Trigger तब सक्रिय (activate) होते हैं जब INSERT, UPDATE, या DELETE कमांड का उपयोग किया जाता है।

DML ट्रिगर निम्नलिखित DML कमांड पर सक्रिय होते हैं:

DML ट्रिगर का नामकब सक्रिय होता है?
AFTER INSERTजब नया डेटा जोड़ा जाता है।
AFTER UPDATEजब डेटा अपडेट किया जाता है।
AFTER DELETEजब डेटा हटाया जाता है।
INSTEAD OF INSERTINSERT को रोककर कोई अन्य कार्रवाई करता है।
INSTEAD OF UPDATEUPDATE को रोककर कोई अन्य कार्रवाई करता है।
INSTEAD OF DELETEDELETE को रोककर कोई अन्य कार्रवाई करता है।
DML ट्रिगर का उपयोग क्यों किया जाता है?

DML Trigger निम्नलिखित उद्देश्यों के लिए उपयोग किए जाते हैं:

  • Data Validation: यह सुनिश्चित करने के लिए कि डेटा सही ढंग से अपडेट किया गया है।
  • Automatic Actions: जैसे किसी अन्य टेबल में लॉगिंग या कैस्केड अपडेट।
  • Enforcing Business Rules: उदाहरण के लिए, सैलरी को न्यूनतम सीमा से कम अपडेट नहीं करने देना।
  • Maintaining Data Integrity: यदि कोई डेटा हटाया जाता है तो उसकी बैकअप कॉपी बनाना।

BEFORE Trigger

BEFORE Trigger एक प्रकार का DML Trigger है जो डेटाबेस में INSERT, UPDATE, या DELETE ऑपरेशन होने से पहले ऑटोमैटिक active (trigger) हो जाता है। इसका उपयोग डेटा को validate करने, modify करने, या किसी बिज़नेस रूल को लागू करने के लिए किया जाता है।

दुसरे शब्दों मे, BEFORE Trigger एक ऐसा ट्रिगर है जो किसी DML (Data Manipulation Language) ऑपरेशन जैसे INSERT, UPDATE, या DELETE के पहले (before) सक्रिय होता है।

उदाहरण: डेटा फॉर्मैटिंग

स्कीनारियोemployees टेबल में email को lowercase में सेव करना।

CREATE TRIGGER format_email
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
   SET NEW.email = LOWER(NEW.email); -- ईमेल को lowercase में बदलें
END;

AFTER Trigger

AFTER Trigger एक प्रकार का DML Trigger है जो डेटाबेस में INSERT, UPDATE, या DELETE जैसे ऑपरेशन पूरा होने के बाद ऑटोमैटिक active (trigger) होता है। इसका उपयोग डेटा के बाद के कामों जैसे लॉग बनाना, दूसरी टेबल अपडेट करना, या कॉम्प्लेक्स बिज़नेस रूल्स लागू करने के लिए किया जाता है।

दुसरे शब्दों में, AFTER Trigger एक ऐसा Trigger है जो किसी DML के ऑपरेशन जैसे INSERT, UPDATE, या DELETE के बाद (after) सक्रिय (trigger) होता है।

उदाहरण : ऑर्डर डालने के बाद सेल्स टेबल अपडेट करना

स्कीनारियो: जब orders टेबल में नया ऑर्डर डाला जाए, तो sales टेबल का total_sales अपडेट हो जाए।

CREATE TRIGGER update_total_sales
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
   UPDATE sales 
   SET total_sales = total_sales + NEW.amount; -- नए ऑर्डर की रकम जोड़ें
END;

3. लॉगऑन ट्रिगर (Logon Trigger)

Logon Trigger एक विशेष प्रकार का Trigger है जो DBMS में तब active होता है जब कोई यूजर डेटाबेस सर्वर में login करने की कोशिश करता है। अर्थात जब कोई यूजर अपने Credentials (जैसे user name और password) के साथ सर्वर से कनेक्ट करने की कोशिश करता है, तो यह Trigger काम शुरू कर देता है।

इसका उपयोग user sessions की निगरानी, यूजर की पहुँच को सीमित (limit) करने, या login गतिविधियों को ट्रैक करने के लिए किया जा सकता है। ये ट्रिगर Auditing और Server session management के लिए उपयोगी हैं।

मान लीजिए हमारे पास एक “Students” टेबल है जिसमें “student_id”, “name”, और “marks” कॉलम हैं। हम चाहते हैं कि अगर कोई स्टूडेंट के मार्क्स अपडेट करे, तो अपडेट होने से पहले मार्क्स 0 से कम न हों।

CREATE TABLE Students (
    student_id INT,
    name VARCHAR(50),
    marks INT
);

-- BEFORE ट्रिगर बनाना
CREATE TRIGGER check_marks_before_update
BEFORE UPDATE ON Students
FOR EACH ROW
BEGIN
    IF NEW.marks < 0 THEN
        SET NEW.marks = 0; -- अगर मार्क्स 0 से कम हों तो 0 कर दो
    END IF;
END;

अगर कोई “UPDATE Students SET marks = -5 WHERE student_id = 1;” चलाएगा, तो ट्रिगर अपडेट से पहले मार्क्स को 0 कर देगा।

Advantages of Trigger

  • डेटा को सुरक्षित और सही रखने में मदद करता है।
  • बार-बार कोड लिखने की जरूरत नहीं पड़ती, ऑटोमेटिक active होता है।
  • ऑडिटिंग (लॉग रखना) के लिए बहुत अच्छा है।

” Trigger in DBMS in Hindi उम्मीद है कि यह  topic आपके लिए  Helpful हुआ होगा। और अधिक  topics के लिए  Search Button अथवा  Read More Topics पर जाएं। “

dbms notes hindi

Joins in DBMS in Hindi

Leave a Comment