7.1 Virheiden konvergoituminen ja transaktiot

Virheiden konvergoituminen

Virheiden konvergoitumisella tarkoitetaan tilannetta, jossa jokin esim. tietokantaan tullut ristiriitaisuus tai virhe katoaa myöhempien operaatioiden seurauksena.

Raportoinnin nopeuttamiseksi halutaan JASENTYYPPI -tauluun lisätä kenttä JASENIA INTEGER. Muuta jäsenrekisteriohjelmaa siten, että ohjelma jäsentä talletettaessa korjaa tarvittaessa vastaavaa JASENTYYPPI -taulun arvoa. Ohjelman tulisi toimia siten, että vaikka jostain (ulkopuolisesta) syystä jollekin riville muodostuisi virheellinen arvo, niin se (todennäköisesti) katoaa tulevaisuudessa tapahtuvien talletusten myötä.


Transaktiot

Muuta ylläolevaa toimintoa siten, että vaikka sattuisi tulemaan sähkökatko eri UPDATE-lauseiden välissä, niin tietokantaan ei jää ristiriitaista informaatiota.

MySQL -kanta ei tue kunnolla transaktioita, mutta lisää ne sopiviin paikkoihin siten, että ohjelma käyttäisi transaktioita, jos kanta niitä tukisi. ( if (bTransaktiot ) {... ).