Junior
Əlaqəli verilənlər bazasında tetikleyicilər nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Trigger — bu xüsusi növ yadda saxlanılan prosedurdur ki, verilənlər bazasının cədvəlində və ya görünüşündə müəyyən hadisəyə avtomatik cavab olaraq icra olunur.
Trigger-i işə salan əsas hadisələr:
INSERT: Yeni sətirin əlavə olunması.UPDATE: Mövcud sətirin dəyişdirilməsi.DELETE: Sətirin silinməsi.
Triggerlər hadisənin həyata keçirilməsindən əvvəl (BEFORE) və ya sonra (AFTER) işə düşə bilər.
Triggerlərin istifadəsinə nümunələr:
- Sahələrin avtomatik yenilənməsi (məsələn, son dəyişiklik tarixi).
- Məlumatların bütövlüyünün yoxlanması.
- Dəyişikliklərin qeydiyyatı (loglama).
- Əlaqəli məlumatların kaskadlı yenilənməsi və ya silinməsi.
-- AFTER INSERT triggerinin yaradılması nümunəsi (təsəvvür olunan sintaksis)
CREATE TRIGGER audit_log_trigger
AFTER INSERT ON users
FOR EACH ROW
EXECUTE FUNCTION log_user_insert();
-- Trigger tərəfindən çağırılan funksiyanın nümunəsi
CREATE FUNCTION log_user_insert() RETURNS TRIGGER AS $$
BEGIN
INSERT INTO audit_logs (table_name, operation, timestamp, new_data)
VALUES ('users', 'INSERT', NOW(), row_to_json(NEW));
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Üstünlüklər:
- Biznes məntiqinin mərkəzləşdirilməsi.
- Rutinin tapşırıqların avtomatlaşdırılması.
- Məlumatların bütövlüyünün artırılması.
Çatışmazlıqlar:
- Xətaların tapılması çətinləşir.
- Potensial performans təsiri.
- Tətbiq məntiqinin mürəkkəbliyi, çünki onun bir hissəsi verilənlər bazası səviyyəsinə köçürülür.