Liipaisimet vs tallennetut toimenpiteet
Tietokannossa liipaisin on toiminto (koodisegmentti), joka suoritetaan automaattisesti, kun taulukossa/näkymässä tapahtuu tiettyjä tapahtumia. Muiden käyttötarkoitusten joukossa triggereitä käytetään pääasiassa tietokannan eheyden ylläpitämiseen. Tallennettu toimintosarja on menetelmä, jota relaatiotietokantaa käyttävät sovellukset voivat käyttää. Tyypillisesti tallennettuja proseduureja käytetään menetelmänä tietojen validointiin ja tietokantaan pääsyn hallintaan.
Mitä ovat triggerit?
Liipaisin on toiminto (koodisegmentti), joka suoritetaan automaattisesti, kun tiettyjä tapahtumia tapahtuu tietokannan taulukossa/näkymässä. Muiden käyttötarkoitusten joukossa triggereitä käytetään pääasiassa tietokannan eheyden ylläpitämiseen. Triggereitä käytetään myös liiketoimintasääntöjen täytäntöönpanoon, tietokannan muutosten tarkastamiseen ja tietojen replikointiin. Yleisimmät laukaisimet ovat Data Manipulation Language (DML) -laukaisimet, jotka laukeavat, kun tietoja käsitellään. Jotkut tietokantajärjestelmät tukevat ei-data-laukaisimia, jotka käynnistyvät, kun Data Definition Language (DDL) -tapahtumat tapahtuvat. Joitakin esimerkkejä ovat liipaisimet, jotka käynnistyvät taulukoita luotaessa, commit- tai palautustoimintojen aikana jne. Näitä triggereitä voidaan käyttää erityisesti auditoinnissa. Oracle-tietokantajärjestelmä tukee skeematason liipaimia (eli laukaisimia, jotka käynnistetään, kun tietokantaskeemoja muutetaan), kuten luomisen jälkeen, ennen muutosta, muutoksen jälkeen, ennen pudotusta, pudotuksen jälkeen jne. Oraclen tukemat neljä päätyyppiä triggereitä ovat rivitason liipaisimet, Saraketason liipaisimet, jokaisen rivityypin liipaisimet ja kunkin lausekkeen tyypin liipaisimet.
Mitä tallennetut toimenpiteet ovat?
Tallennettu toimintosarja on menetelmä, jota relaatiotietokantaa käyttävä sovellus voi käyttää. Tyypillisesti tallennettuja proseduureja käytetään menetelmänä tietojen validoimiseen ja tietokantaan pääsyn hallintaan. Jos jokin tietojenkäsittelytoiminto edellyttää useiden SQL-käskyjen suorittamista, ne toteutetaan tallennettuina toimintosarjoina. Tallennettua toimintosarjaa kutsuttaessa on käytettävä CALL- tai EXECUTE-käskyä. Tallennetut proseduurit voivat palauttaa tuloksia (esimerkiksi tuloksia SELECT-käskyistä). Näitä tuloksia voidaan käyttää muissa tallennetuissa menettelyissä tai sovelluksissa. Kielet, joilla kirjoitetaan tallennettuja proseduureja, tukevat tyypillisesti ohjausrakenteita, kuten if, while, for jne. Käytetystä tietokantajärjestelmästä riippuen voidaan käyttää useita kieliä tallennettujen toimintojen toteuttamiseen (esim. PL/SQL ja java Oraclessa, T- SQL (Transact-SQL) ja. NET Framework Microsoft SQL Serverissä). Lisäksi MySQL käyttää omia tallennettuja proseduurejaan.
Mitä eroa on triggereillä ja tallennetuilla toimenpiteillä?
Liipaisin on menettely (koodisegmentti), joka suoritetaan automaattisesti, kun tiettyjä tapahtumia tapahtuu tietokannan taulukossa/näkymässä, kun taas tallennettu toimintosarja on menetelmä, jota relaatiotietokantaa käyttävä sovellus voi käyttää. Triggerit suoritetaan automaattisesti, kun tapahtuu tapahtuma, johon liipaisimen oletetaan reagoivan. Mutta tallennetun proseduurin suorittamiseksi on käytettävä tiettyä CALL- tai EXECUTE-käskyä. Virheenkorjaus laukaisimia voi olla vaikeampaa ja mutkikkaampaa kuin tallennettujen toimintojen virheenkorjaus. Triggerit ovat erittäin hyödyllisiä, kun haluat varmistaa, että jotain tapahtuu, kun tietty tapahtuma tapahtuu.