Sobes.tech
Junior

Реляциялык маалыматтар базасында триггерлер эмне?

sobes.tech AI

AIден жооп

Trigger — бул атайын сакталган процедуранын түрү, ал автоматтык түрдө ишке ашырылат белгилүү бир окуяга жооп катары маалыматтар базасынын таблицасында же көрүнүшүндө.

Triggerди иштеткен негизги окуялар:

  • INSERT: Жаңы сап кошуу.
  • UPDATE: Бар сапты өзгөртүү.
  • DELETE: Сапты өчүрүү.

Triggerлер ишке киришиши мүмкүн алдын (BEFORE) же кийин (AFTER) окуянын аткарылышы.

Triggerлерди колдонуу мисалдары:

  • талаалардын автоматтык жаңылануусу (мисалы, акыркы өзгөртүү датасы).
  • Маалыматтардын бүтүндүгүн текшерүү.
  • Өзгөртүүлөрдү каттоо (логдоо).
  • Байланыштуу маалыматтарды каскаддуу жаңылоо же өчүрүү.
-- AFTER INSERT trigger түзүү мисалы (жасалма синтаксис)
CREATE TRIGGER audit_log_trigger
AFTER INSERT ON users
FOR EACH ROW
EXECUTE FUNCTION log_user_insert();

-- Trigger аркылуу чакырылган функциянын мисалы
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;

Артыкчылыктары:

  • бизнес логиканы борборлоштуруу.
  • күнүмдүк тапшырмаларды автоматташтыруу.
  • маалыматтардын бүтүндүгүн жогорулатуу.

Кемчиликтери:

  • ката табуу кыйынчылыгы.
  • иштөө ылдамдыгына потенциалдуу таасир.
  • колдонмо логикасынын кыйынчылыгы, анткени анын бир бөлүгү маалыматтар базасынын деңгээлине которулат.