Подаци се могу трансформисати у информацијепотребно помоћу базе података. У почетку се подаци састоје од збирке променљивих које ће се променити у информације користећи различите команде извршења. На тај начин потребно је управљање базама података за чување података док се подаци не заврше.

Тренутно је већина система за управљање базама податакапопуларан је МиСКЛ. Много је разлога због којих многи корисници користе МиСКЛ, од којих је један готово подржан од стране разних програмских језика МиСКЛ који су данас доступни.

У МиСКЛ-у се ствара база података сакоришћење столова. Поред табела, МиСКЛ је такође опремљен једном од функција покретања. Онда, знате ли шта се подразумева окидач? Израз окидач можда је и даље непознат. Међутим, окидачи постају збир команди које се извршавају када се у табели појаве различите операције.

У овом чланку ћемо објаснити оразумевање окидача, функција окидача и неких примера примене окидача у МиСКЛ-у. На тај начин постајете свеснији детаља о расправи о окидачима. Следи прва дискусија о дефиницији окидача у наставку.

Разумевање окидача

разумевање окидача и функција окидача

У ДБМС-у (Систем за управљање базама података), окидач је колекција скрипти којеу вези са табелама, приказима или шемама које се аутоматски покрећу када се покрећу догађаји. Догађај укључује операције које се обично раде у обради базе података, као што су:

  • ДМЛ (језик манипулације подацима) који укључује ДЕЛЕТЕ, ИНСЕРТ или УПДАТЕ
  • ДДЛ (језик дефиниције података) који укључује ЦРЕАТЕ, АЛТЕР или ДРОП
  • Остале операције база података, као што су СЕРВЕРЕРРОР, ЛОГОН, ЛОГОФФ, СТАРТУП или СХУТДОВН)

Једноставно речено, наредба за креирање окидача је сљедећа:

ЦРЕАТЕ ТРИГГЕР нама_триггер [ПРЕ | ПОСЛЕ]
[ИНСЕРТ / УПДАТЕ / ДЕЛЕТЕ]
ОН нама_табле
ЗА СВАКИ РЕД
ПОЧЕТИ
// тело окидача
ЕНД;

Опис општег командног облика у креирању окидача, наиме:

  • нама_триггер: име окидача креирано у складу са карактеристикама именовања у МиСКЛ-у
  • [ПРЕ | НАКОН]: приказује време за аутоматско извршење окидача, пре или после промене у табели података о редовима. Дакле, избор је НАКОН или ПРЕ.
  • [ИНСЕРТ | УПДАТЕ | ДЕЛЕТЕ]: користи се за одређивање догађаја који је изазвао окидач, избор догађаја се састоји од ИНСЕР, УПДАТЕ и ДЕЛЕТЕ.
  • нама_табле: показује табелу која ће окидач радити у њој
  • окидач: приказује наредбу наредбе у МиСКЛ-у која ће се аутоматски покренути ако је догађај активан.

Уопште, изјава коришћена уОкидач је само команда. Међутим, ако желите да направите неколико наредби у њој, користите команду у блок БЕГИН ... ЕНД. Употреба окидача догађа се када се у табели записа појаве промене. На тај начин, морате додати референцу на запис, наиме СТАРО И НОВО. ОЛД означава референтни запис пре него што дође до промене, док ОЛД означава референцу након промене.

Триггер функција

окидачка функција

Обично у релацијској бази података могу бити окидачинаилазили приликом извршења наредбе за извршавање табеле. Постаје кориснији окидач за писање једноставног програмирања и може одржавати податке досљедним у бази података. Поред тога, постоји неколико функција покретања које ће бити објашњене у даљем тексту.

1. Интегритет података

Помоћу окидача можете да се одбранитеинтегритет табеле садржан у бази података. Јер, можете радити операције везане за обраду базе података, као што су ИНСЕРТ, УПДАТЕ и ДЕЛЕТЕ

2. Спречите грешку

Окидачи у МиСКЛ-у могу спречити грешке у операцијама са подацима. Ако се деси грешка у дефинисању окидача, грешка не омета тренутни окидач.

3. Поставите радне задатке према распореду

Када је окидач покренут, тада можете користити разне програмске језике, а да не морате бркати како да му приступите.

4. Спречавање неовлаштених процеса трансакција

У пракси се користи уобичајени окидачспроводе процесе трансакција. Запис о трансакцији можете да сачувате у другу табелу (историју), а да не морате да се плашите ако су подаци ажурирани или избрисани. Све промене које се могу десити могу се насумично дефинисати на основу времена израде.

Примјер окидача

Након што схватите значење окидачазаједно са својим функцијама аутор ће дати неколико примера примене употребе окидача у бази података. Опћенито, окидачи се могу активирати кориштењем ИНСЕРТ, УПДАТЕ и ДЕЛЕТЕ догађаја. За више детаља, у наставку ће бити објашњено неколико примера примене догађаја. Међутим, прво морате креирати неколико табела у бази података.

1. Табела продаје

СТВАРИТЕ ТАБЕЛУ (
селл_ИНТ ИНТ (8) НЕ НУЛЛ АУТО_ИНЦРЕМЕНТ,
ВАРЦХАР код_ корисника (10) НИЈЕ НУЛЛ,
цоде_брг ВАРЦХАР (5),
ВАРЦХАР име_име предмета (35),
број ИНТ (6),
цена ИНТ (12),
ПРИМАРНИ КЉУЧ (продаја_ид);

2. Табела куповина

УСТВАРИТЕ ТАБЕЛУ
купити ИНТ_8 (8) НЕ НУЛЛ АУТО_ИНЦРЕМЕНТ,
цоде_брг ВАРЦХАР (5),
ВАРЦХАР име_име предмета (35),
број ИНТ (6),
цена ИНТ (12),
ПРИМАРНИ КЉУЧ (ид_буи);

3. Табела робе

СТВАРИТЕ ТАБЕЛУ Предмет (
ид_брг ИНТ (8) НИЈЕ НУЛЛ АУТО_ИНЦРЕМЕНТ,
ВАРЦХАР име_име предмета (35),
број ИНТ (6),
ПРИМАРНИ КЉУЧ (ид_брг);

Следеће намене окидача које морате знати:

а. ПРЕ ИНСТЕРАЦИЈЕ ТРИГГЕРА

Овај окидач има функцију за покретање задатка окидача пре него што се обави поступак додавања (уметања) података у табелу. Следи синтакса окидача у МиСКЛ-у:

ЦРЕАТЕ ТРИГГЕР нама_триггер
ПРЕ ИНСТЕРАЦИЈЕ
НА нама_табле ЗА СВАКИ РЕД
ПОЧЕТИ
// променљива декларација
ЕНД;

На пример, претпоставимо да желите да проверитеоперација додавања података о новој ставци у табелу предмета. Ако је ставка претходно унета, појавиће се упозорење "ИД предмета већ постоји". Тада је једноставна команда:

ЦРЕАТЕ ТРИГГЕР артикл залиха
ПРЕ ИНСТЕРАЦИЈЕ
О РОБИ ЗА СВАКИ РЕД
ПОЧЕТИ
АКО НЕ ПОСТОЈИ (ОДАБИР ид_брг ОД предмета ГДЈЕ ид_брг = НОВО.ид_брг)
ТХЕН
НАСТАВИ НОВО. Име предмета = НОВО име предмета, НОВО, број = НОВО, број;
ЕЛСЕ
СЕТ @статус = ЦОНЦАТ ('ИД', НЕВ.ид_брг, 'већ постоји');
ЕНД ИФ;

б. Окидач НАКОН УЛАЗА

Овај окидач има функцију за покретање задатка окидача након што је завршен поступак додавања (уметања) података у табелу. Следи синтакса окидача у МиСКЛ-у:

ЦРЕАТЕ ТРИГГЕР нама_триггер
НАКОН УЛАЗА
НА нама_табле ЗА СВАКИ РЕД
ПОЧЕТИ
// променљива декларација
ЕНД;

На пример, када желите да додате податке о роби која је продата, аутоматски се износ у табели предмета смањује. Тада је наредба за окидаче у МиСКЛ-у

ЦРЕАТЕ ТРИГГЕР селл_алл
НАКОН УЛАЗА
НА ПРОДАЈИ ЗА СВАКИ РЕД
ПОЧЕТИ
УПДАТЕ ставка
СЕТ износ = НОВО. Износ
ГДЈЕ ид_брг = НЕВ.ид_брг,
ЕНД;

ц. ПРЕ АЖУРИРАЊА Тригера

Овај окидач има функцију за покретање задатка окидача пре него што се обави процес промене (ажурирања) података у табели. Следи синтакса окидача у МиСКЛ-у:

ЦРЕАТЕ ТРИГГЕР нама_триггер
ПРЕ УПДАТЕ
НА нама_табле ЗА СВАКИ РЕД
ПОЧЕТИ
// променљива декларација
ЕНД;

На пример у табели Итем витх Ид_брг ='БРГ001' са итем_наме = "Плоча". Коришћењем наредбе ПРЕ УПДАТЕ назив предмета ће се променити у „Стакло“. Тада је одговарајућа наредба за горњи случај:

УСТВАРИТЕ ТРИГГЕР нову робу
ПРЕ ажурирања роба за сваки ред
ПОЧЕТИ
УПДАТЕ Артикал
СЕТ итем_наме = 'Стакло'
ВХЕРЕ ид_брг = 'БРГ001'; СЕТ @статус = ЦОНЦАТ ('Подаци о ставкама са ИД-ом', НЕВ.ид_брг, 'ажурирани су');</п>

ЕНД;

д. ДЕФТТЕ НАКОН ТРИГГЕРА

Овај окидач има функцију за покретање задатака окидача прије него што се обави поступак брисања (брисања) података у табели. Следи синтакса окидача у МиСКЛ-у:

ЦРЕАТЕ ТРИГГЕР нама_триггер
НАКОН ДЕЛЕТЕ
НА нама_табле ЗА СВАКИ РЕД
ПОЧЕТИ
// променљива декларација
ЕНД;

На пример, желите да обришете запис предметавитх ид_брг = 'БРГ001', итем_наме = 'Стакло'. Затим ће се аутоматски роба повећати у складу са подацима који су избрисани. Следећи о синтакси за ДЕЛЕТЕ АФТЕР:

УСТВАРИТЕ ТРИГГЕР нову робу
ПРЕ ажурирања роба за сваки ред
ПОЧЕТИ
УПДАТЕ Артикал
СЕТ износ = износ + старост
ГДЈЕ ид_брг = СТАРО: Износ;
ЕНД;

То је дискусија о окидачу за разумевање,функционише заједно са примерима примене окидача помоћу МиСКЛ-а. Аутор се нада да ће вам горњи чланак помоћи да правилно схватите и направите примере окидача.

Коментари 0