Aktivizētāji vs saglabātās procedūras
Datu bāzē sprūda ir procedūra (koda segments), kas tiek automātiski izpildīta, kad tabulā / skatā notiek daži specifiski notikumi. Starp citiem lietojumiem trigeri galvenokārt tiek izmantoti, lai saglabātu integritāti datu bāzē. Saglabātā procedūra ir metode, kuru var izmantot programmas, kuras piekļūst relāciju datu bāzei. Parasti glabātās procedūras izmanto kā metodi datu validēšanai un piekļuves kontrolei datu bāzei.
Kas ir trigeri?
Sprūda ir procedūra (koda segments), kas tiek automātiski izpildīta, kad datu bāzes tabulā / skatā notiek kādi īpaši notikumi. Starp citiem lietojumiem trigeri galvenokārt tiek izmantoti, lai saglabātu integritāti datu bāzē. Aktivizētājus izmanto arī biznesa noteikumu ieviešanai, datu bāzes izmaiņu pārbaudei un datu atkārtošanai. Visizplatītākie aktivizētāji ir datu manipulācijas valodas (DML) aktivizētāji, kas tiek aktivizēti, manipulējot ar datiem. Dažas datu bāzu sistēmas atbalsta ne-datu aktivizētājus, kas tiek aktivizēti, kad notiek datu definīcijas valodas (DDL) notikumi. Daži piemēri ir sprūda, kas tiek atlaisti, kad tiek izveidotas tabulas, notiek saistību veikšanas vai atcelšanas operācijas utt. Šos aktivizētājus var īpaši izmantot auditam. Oracle datu bāzes sistēma atbalsta shēmas līmeņa trigerus (ti, aktivizētājus, kas tiek aktivizēti, mainot datu bāzes shēmas), piemēram, After Creation, Before Alter, After Alter, Before Drop, After Drop, utt. Četri galvenie aktivizētāju veidi, kurus atbalsta Oracle, ir rindas līmeņa trigeri, Kolonnu līmeņa trigeri, katra rindas veida trigeri un katram paziņojuma veida trigeri.
Kādas ir procedūras??
Saglabātā procedūra ir metode, kuru var izmantot lietojumprogramma, kas piekļūst relāciju datu bāzei. Parasti glabātās procedūras izmanto kā metodi datu validēšanai un piekļuves kontrolei datu bāzei. Ja kādai datu apstrādes operācijai nepieciešami vairāki SQL paziņojumi, šādas operācijas tiek ieviestas kā glabātas procedūras. Piesaucot glabāto procedūru, jāizmanto paziņojums CALL vai EXECUTE. Saglabātās procedūras var atgriezt rezultātus (piemēram, rezultātus no SELECT paziņojumiem). Šos rezultātus var izmantot citās glabātajās procedūrās vai lietojumprogrammās. Valodas, kuras tiek izmantotas, lai rakstītu glabātas procedūras, parasti atbalsta kontroles struktūras, piemēram, ja, kamēr, for, utt. Atkarībā no izmantotās datu bāzes sistēmas, glabāto procedūru ieviešanai var izmantot vairākas valodas (piemēram, PL / SQL un java Oracle, T- SQL (Transact-SQL) un .NET Framework Microsoft SQL Server). Turklāt MySQL izmanto savas saglabātās procedūras.
Kāda ir atšķirība starp palaišanas un saglabātajām procedūrām?
Aktivizētājs ir procedūra (koda segments), kas tiek automātiski izpildīta, kad datu bāzes tabulā / skatā notiek kādi īpaši notikumi, savukārt saglabātā procedūra ir metode, kuru var izmantot lietojumprogramma, kas piekļūst relāciju datu bāzei. Trigeri tiek izpildīti automātiski, kad notiek notikums, uz kuru ir paredzēts reaģēt. Bet, lai veiktu saglabāto procedūru, ir jāizmanto īpašs paziņojums CALL vai EXECUTE. Trigeru atkļūdošana var būt grūtāka un sarežģītāka nekā saglabāto procedūru atkļūdošana. Aktivizētāji ir ļoti noderīgi, ja vēlaties pārliecināties, ka kaut kas notiek, ja notiek kāds noteikts notikums.