Verilənlər bazası triggeri

Verilənlər bazası triggeri (ing. Database trigger) — müəyyən bir hadisə baş verdikdə avtomatik olaraq icra olunan bir prosedurdur. Məsələn, cədvələ məlumat əlavə edildikdə, yeniləndikdə və ya silindikdə trigger aktivləşir.[1] Triggerlər verilənlər bazasında məlumatların bütünlüyünü təmin etmək, avtomatik hesabatlar yaratmaq və ya əlavə yoxlamalar aparmaq üçün istifadə olunur. Triggerlər adətən AFTER və ya BEFORE hadisələri ilə konfiqurasiya edilir.[2] Məsələn, İşçilər cədvəlinə yeni qeyd (yeni işçini təmsil edən) əlavə edildikdə, Vergi, MəzuniyyətƏmək haqqı cədvəllərində də yeni qeydlər yaradılmalıdır. Triggerlərdən əvvəlki işçilərin maaşlarını izləmək kimi tarixi məlumatları qeyd etmək üçün də istifadə edilə bilər.[3]

DBMS-də triggerlər

[redaktə | mənbəni redaktə et]

Aşağıda bəzi məşhur DBMS-lərin triggerlərləri necə dəstəklədiyinə dair bir sıra təsvirlər verilmişdir.[4]

Oracle 10g, verilənlər dəyişdikdə, işə salınan (və PL/SQL kodunu yerinə yetirən) triggerlərə əlavə olaraq, sxem səviyyəli obyektlər (yəni cədvəllər) dəyişdikdə və istifadəçinin giriş və ya çıxış hadisələri baş verdikdə işə salınan triggerləri dəstəkləyir.

  1. Dövrə Səviyyə triggeri
  2. Yaradıldıqdan sonra
  3. Dəyişiklikdən əvvəl
  4. Dəyişiklikdən sonra
  5. Silmədən əvvəl
  6. Çıxarıldıqdan sonra
  7. Yapıştırmadan əvvəl

Dörd əsas trigger növü bunlardır:

  1. Sətir Səviyyəsi triggeri: Hər hansı sətir sütunu dəyəri dəyişikliyindən əvvəl və ya sonra işə salınır.
  2. Sütun Səviyyəsi triggeri: Göstərilən sütun dəyişikliklərindən əvvəl və ya sonra işə salınır.
  3. Hər sətir növü üzrə: Bu trigger daxiletmə/yeniləmə/silmə ilə təsirlənən hər bir nəticə dəsti sırası üçün bir dəfə işə düşür.
  4. Hər bir bəyanat növü üçün: Bu trigger bütün nəticə dəsti üçün yalnız bir dəfə işə salınır, həm də bəyanat hər dəfə yerinə yetirildikdə işə düşür.[5]
  1. "DDL Events - SQL Server". 15 March 2023. 6 September 2022 tarixində arxivləşdirilib. İstifadə tarixi: 24 October 2024.
  2. "PostgreSQL: Documentation: 9.0: CREATE TRIGGER". www.postgresql.org. 8 October 2015. 22 September 2024 tarixində arxivləşdirilib. İstifadə tarixi: 24 October 2024.
  3. Nanda, Arup; Burleson, Donald K. 9 // Burleson, Donald K. (redaktor). Oracle Privacy Security Auditing: Includes Federal Law Compliance with HIPAA, Sarbanes Oxley and the Gramm Leach Bliley Act GLB. Oracle in-focus series. 47. Kittrell, North Carolina: Rampant TechPress. 2003. səh. 511. ISBN 9780972751391. İstifadə tarixi: 2018-04-17. [...] system-level triggers [...] were introduced in Oracle8i. [...] system-level triggers are fired at specific system events such as logon, logoff, database startup, DDL execution, and servererror [...].
  4. "MySQL :: MySQL 8.0 Reference Manual :: 25.3.1 Trigger Syntax and Examples". 2024-10-09 tarixində arxivləşdirilib. İstifadə tarixi: 2024-10-24.
  5. "Autonomous transactions". www.ibm.com. July 30, 2009. December 21, 2016 tarixində arxivləşdirilib. İstifadə tarixi: October 24, 2024.