Päästikud vs salvestatud protseduurid
Andmebaasis on päästik protseduur (koodisegment), mis käivitatakse automaatselt, kui tabelis/vaates toimuvad teatud sündmused. Muu hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Salvestatud protseduur on meetod, mida saavad kasutada relatsiooniandmebaasi juurde pääsevad rakendused. Tavaliselt kasutatakse salvestatud protseduure andmete kinnitamise ja andmebaasile juurdepääsu kontrollimise meetodina.
Mis on käivitajad?
Triger on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis/vaates toimuvad teatud sündmused. Muu hulgas kasutatakse päästikuid peamiselt andmebaasi terviklikkuse säilitamiseks. Päästikuid kasutatakse ka ärireeglite jõustamiseks, andmebaasi muudatuste auditeerimiseks ja andmete kopeerimiseks. Kõige tavalisemad päästikud on andmete manipuleerimise keele (DML) päästikud, mis käivituvad andmetega manipuleerimisel. Mõned andmebaasisüsteemid toetavad mitte-andmekäivitusi, mis käivituvad andmedefineerimiskeele (DDL) sündmuste ilmnemisel. Mõned näited on päästikud, mis käivitatakse tabelite loomisel, sissekandmise või tagasipööramise operatsioonide ajal jne. Neid päästikuid saab kasutada eriti auditeerimiseks. Oracle'i andmebaasisüsteem toetab skeemitaseme päästikuid (st käivitatakse andmebaasi skeemide muutmisel), nagu pärast loomist, enne muutmist, pärast muutmist, enne kukkumist, pärast kukutamist jne. Oracle toetab nelja peamist tüüpi päästikuid: reataseme päästikud, Veerutaseme päästikud, iga reatüübi päästikud ja iga avalduse tüübi päästikud.
Mis on salvestatud protseduurid?
Salvestatud protseduur on meetod, mida saab kasutada relatsiooniandmebaasi juurde pääsev rakendus. Tavaliselt kasutatakse salvestatud protseduure andmete valideerimise ja andmebaasile juurdepääsu kontrollimise meetodina. Kui mõni andmetöötlusoperatsioon nõuab mitme SQL-lause täitmist, realiseeritakse sellised toimingud salvestatud protseduuridena. Salvestatud protseduuri käivitamisel tuleb kasutada käsku CALL või EXECUTE. Salvestatud protseduurid võivad anda tulemusi (näiteks tulemusi SELECT-lausetest). Neid tulemusi saab kasutada muude salvestatud protseduuride või rakenduste jaoks. Keeled, mida kasutatakse salvestatud protseduuride kirjutamiseks, toetavad tavaliselt juhtimisstruktuure, nagu if, while, for jne. Olenev alt kasutatavast andmebaasisüsteemist saab salvestatud protseduuride rakendamiseks kasutada mitut keelt (nt PL/SQL ja java Oracle'is, T- SQL (Transact-SQL) ja. NET Framework Microsoft SQL Serveris). Lisaks kasutab MySQL oma salvestatud protseduure.
Mis vahe on käivitajatel ja salvestatud protseduuridel?
Tiger on protseduur (koodisegment), mis käivitatakse automaatselt, kui andmebaasi tabelis/vaates toimuvad teatud sündmused, samas kui salvestatud protseduur on meetod, mida saab kasutada relatsiooniandmebaasi juurde pääsev rakendus. Päästikud käivitatakse automaatselt, kui toimub sündmus, millele päästik peaks reageerima. Kuid salvestatud protseduuri täitmiseks tuleb kasutada konkreetset käsku CALL või EXECUTE. Päästikute silumine võib olla raskem ja keerulisem kui salvestatud protseduuride silumine. Päästikud on väga kasulikud, kui soovite olla kindlad, et teatud sündmuse korral midagi juhtub.