Trigeri pret saglabātajām procedūrām
Datu bāzē trigeris ir procedūra (koda segments), kas tiek izpildīta automātiski, kad tabulā/skatā notiek konkrēti notikumi. Citu lietojumu vidū trigerus galvenokārt izmanto datu bāzes integritātes uzturēšanai. Saglabātā procedūra ir metode, ko var izmantot lietojumprogrammas, kas piekļūst relāciju datu bāzei. Parasti saglabātās procedūras tiek izmantotas kā metode datu apstiprināšanai un piekļuves kontrolei datubāzei.
Kas ir aktivizētāji?
Trigers ir procedūra (koda segments), kas tiek izpildīta automātiski, kad datu bāzes tabulā/skatā notiek konkrēti notikumi. Citu lietojumu vidū trigerus galvenokārt izmanto datu bāzes integritātes uzturēšanai. Trigeri tiek izmantoti arī uzņēmējdarbības noteikumu izpildei, datu bāzē veikto izmaiņu auditēšanai un datu pavairošanai. Visizplatītākie trigeri ir datu manipulācijas valodas (DML) aktivizētāji, kas tiek aktivizēti, kad tiek veiktas manipulācijas ar datiem. Dažas datu bāzu sistēmas atbalsta ar datiem nesaistītus aktivizētājus, kas tiek aktivizēti, kad notiek datu definīcijas valodas (DDL) notikumi. Daži piemēri ir trigeri, kas tiek aktivizēti, kad tiek izveidotas tabulas, tiek veiktas apņemšanās vai atcelšanas darbības utt. Šos trigerus var īpaši izmantot auditēšanai. Oracle datu bāzes sistēma atbalsta shēmas līmeņa aktivizētājus (t.i., aktivizētājus, kas tiek aktivizēti, kad datu bāzes shēmas tiek modificētas), piemēram, pēc izveides, pirms maiņas, pēc maiņas, pirms nomešanas, pēc nomešanas utt. Oracle atbalstītie četri galvenie trigeru veidi ir rindas līmeņa aktivizētāji, Kolonnas līmeņa aktivizētāji, katra rindas veida aktivizētāji un katra paziņojuma veida aktivizētāji.
Kas ir saglabātās procedūras?
Saglabātā procedūra ir metode, ko var izmantot lietojumprogramma, kas piekļūst relāciju datu bāzei. Parasti saglabātās procedūras tiek izmantotas kā metode datu apstiprināšanai un piekļuves kontrolei datubāzei. Ja kādai datu apstrādes darbībai ir jāizpilda vairāki SQL priekšraksti, šādas darbības tiek realizētas kā saglabātas procedūras. Izsaucot saglabāto procedūru, ir jāizmanto priekšraksts CALL vai EXECUTE. Saglabātās procedūras var atgriezt rezultātus (piemēram, rezultātus no priekšrakstiem SELECT). Šos rezultātus var izmantot citās saglabātās procedūrās vai lietojumprogrammās. Valodas, ko izmanto saglabāto procedūru rakstīšanai, parasti atbalsta kontroles struktūras, piemēram, if, while, for utt. Atkarībā no izmantotās datu bāzes sistēmas, saglabāto procedūru ieviešanai var izmantot vairākas valodas (piemēram, PL/SQL un Java Oracle, T- SQL (Transact-SQL) un. NET Framework programmā Microsoft SQL Server). Turklāt MySQL izmanto savas saglabātās procedūras.
Kāda ir atšķirība starp aktivizētājiem un saglabātajām procedūrām?
Trigeris ir procedūra (koda segments), kas tiek izpildīta automātiski, kad datu bāzes tabulā/skatā notiek konkrēti notikumi, savukārt saglabātā procedūra ir metode, ko var izmantot lietojumprogramma, kas piekļūst relāciju datu bāzei.. Trigeri tiek izpildīti automātiski, kad notiek notikums, uz kuru trigerim ir jāreaģē. Bet, lai izpildītu saglabāto procedūru, ir jāizmanto īpašs CALL vai EXECUTE priekšraksts. Trigeru atkļūdošana var būt grūtāka un sarežģītāka nekā saglabāto procedūru atkļūdošana. Trigeri ir ļoti noderīgi, ja vēlaties pārliecināties, ka kaut kas notiek, kad notiek noteikts notikums.