Sobes.tech
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.