TRIGGER nima?
Hamma bu erda !!!
Triggerlar
Trigger - bu ma'lumotni yozib olish va saqlash uchun mo'ljallangan ikkita barqaror muvozanat holatiga ega bo'lgan ketma-ket turdagi qurilma. Kirish signallari ta'siri ostida trigger bir barqaror holatdan boshqasiga o'tishi mumkin. Bunday holda, uning chiqishidagi kuchlanish keskin o'zgaradi.
Odatda, flip-flop ikkita chiqishga ega: to'g'ridan-to'g'ri va teskari. Kirish soni triggerning tuzilishi va funktsiyasiga bog'liq. Axborotni yozish uslubiga ko'ra triggerlar asinxron va sinxronlashtirilgan (soat bo'yicha) bo'linadi. Asenkron flip-floplarda ma'lumot uzluksiz ravishda yozib olinishi mumkin va ma'lum bir vaqtda kirishlar ustida ishlaydigan axborot signallari bilan aniqlanadi. Agar ma'lumot triggerga faqat sinxronlashtiruvchi signal deb ataladigan vaqtda kiritilgan bo'lsa, unda bunday trigger sinxronlangan yoki taktli deb nomlanadi. Axborot yozuvlaridan tashqari, soatli triggerlarda soat kiritish, sinxronizatsiya kiritish mavjud. Raqamli texnologiyalarda trigger kirishlarining quyidagi belgilari qabul qilingan:
S - o'rnatishni bitta holatga alohida kiritish (to'g'ridan-to'g'ri chiqish Q da yuqori darajadagi kuchlanish);
R - sozlamani nol holatiga alohida kiritish (to'g'ridan-to'g'ri chiqish Q da past darajadagi kuchlanish);
D - axborotni kiritish (triggerga kiritish uchun mo'ljallangan ma'lumot unga beriladi);
C - sinxronizatsiya kiritish;
T - kirishni hisoblash.
Raqamli qurilmalarda eng keng tarqalgani - ikkita sozlamali kirish rejimiga ega RS-flip-flop, soatlik D-flip-flop va hisoblash T-flip-flop. Keling, ularning har birining funktsional imkoniyatlarini ko'rib chiqaylik. Trigger uzoq vaqt davomida mumkin bo'lgan bir necha barqaror holatlardan birida bo'lishi va kirish signallari ta'sirida biridan ikkinchisiga o'tishi mumkin bo'lgan eng oddiy ketma-ket qurilmadir. Ketma-ket shunday mantiqiy qurilmalar, ularning chiqish signallari nafaqat kirishdagi signallar, balki ularning ishlash tarixi, ya'ni xotira elementlarining holati bilan ham belgilanadi. Trigger raqamli texnologiyalarning asosiy elementlaridan biridir.
Three # 769; gger (ing .trigger) - bu foydalanuvchi to'g'ridan-to'g'ri qo'ng'iroq qilmaydigan, ammo bajarilishi ma'lum bir voqea (harakat) sodir bo'lishi bilan bog'liq bo'lgan maxsus turdagi saqlanadigan protsedura, aslida INSERT qo'shish yoki belgilangan jadvaldagi O'chirish satrini o'chirish yoki ma'lum bir ma'lumotlarning UPDATE-ni yangilash. ko'rsatilgan relyatsion ma'lumotlar bazasi jadvalining ustuni. Triggerlar ma'lumotlar yaxlitligini ta'minlash va murakkab biznes mantig'ini amalga oshirish uchun ishlatiladi. Trigger o'zi bilan bog'langan jadvaldagi ma'lumotlarni o'zgartirishga harakat qilganda server tomonidan avtomatik ravishda ishga tushiriladi. Ma'lumotlarga kiritilgan har qanday o'zgartirish tetikni ishga tushirishga sabab bo'lgan harakat amalga oshirilgan tranzaktsiyada bajarilgan deb hisoblanadi. Shunga ko'ra, xato yoki ma'lumotlar yaxlitligini buzish holatlarida ushbu operatsiyani qaytarib olish mumkin. Trigger otilganda, u BEFORE (trigger bog'liq voqea bajarilishidan oldin otiladi; masalan, yozuv qo'shilguncha) yoki AFTER (voqeadan keyin) kalit so'zlari yordamida ko'rsatiladi. Agar voqea sodir bo'lishidan oldin trigger chaqirilsa, u voqeani o'zgartirishi mumkin bo'lgan yozuvga o'zgartirish kiritishi mumkin (albatta, voqea yozuvni o'chirmayapti deb taxmin qilish kerak). Ba'zi DBMSlar operatorlarga triggerda ishlatilishi mumkin bo'lgan cheklovlarni qo'yadi (masalan, trigger osilgan jadvalga o'zgartirish kiritish taqiqlanishi mumkin va hk).
Bundan tashqari, triggerlar jadval bilan emas, balki VIEW bilan bog'lanishi mumkin. Bunday holda, ular yangilanadigan ko'rish mexanizmini amalga oshirish uchun ishlatiladi. Bunday holda, BEFORE va AFTER kalit so'zlari faqat trigger qo'ng'iroqlari ketma-ketligiga ta'sir qiladi, chunki haqiqiy voqea (o'chirish, qo'shish yoki yangilash) sodir bo'lmaydi.
Ba'zi serverlarda har bir o'zgartirilgan yozuv uchun triggerlar chaqirilmasligi mumkin, lekin har jadval o'zgarganda. Ushbu triggerlar jadval triggerlari deb ataladi.
Do'stlaringiz bilan baham: |