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;
Артыкчылыктары:
- бизнес логиканы борборлоштуруу.
- күнүмдүк тапшырмаларды автоматташтыруу.
- маалыматтардын бүтүндүгүн жогорулатуу.
Кемчиликтери:
- ката табуу кыйынчылыгы.
- иштөө ылдамдыгына потенциалдуу таасир.
- колдонмо логикасынын кыйынчылыгы, анткени анын бир бөлүгү маалыматтар базасынын деңгээлине которулат.