SQLHiA Transaksjoner
SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med en logisk enhet mener vi her at i denne serien av SQL-statement er statementene avhengige av hverandre på en slik måte at databasen blir inkonsistent hvis ikke samtlige statement i serien blir utført.
SQLHiA TransaksjonEksempel SNrNavnTotalSalgVNrPrisAntLager SNrVNrMg SelgerVare Salg -Innsetting av ny ordre, dvs innsetting av ny record i tabellen Salg -Oppdatering av kolonnen TotalSalg i tabellen Selger -Oppdatering av kolonnen AntLager i tabellen Vare Transaksjon bestående av 3 SQL-statement:
SQLHiA TransaksjonMarkering -Ved start av en ny applikasjon, inntreffer en ny transaksjon ved første påtrufne SQL-statement. Slutten på denne transaksjonen inntreffer ved første påtrufne Commit / Rollback. -Commit markerer slutten på en ok-transaksjon. -Rollbackmarkerer slutten på en transaksjon som ønskes omgjort (slettet).... Sql-statement_1Transaksjon_1 Sql-statement_2 Sql-statement_3 Commit Sql-statement_5Transaksjon_2 Sql-statement_6 Rollback Sql-statement_8Transaksjon_3 Sql-statement_9 Commit
SQLHiA Transaksjon Select Update Delete Insert Select Update Delete Select Update Program Error Hardware Failure DBMS undoes all changes DBMS undoes all changes
SQLHiA Transaksjon Update Commit Insert Delete Commit Update Commit Insert Rollback Update Commit Insert Delete Update Commit Insert Program End Program Abort
SQLHiA Andre transaksjons-modeller Insert Delete Update Delete Update Insert Select Rooback To B Save Transaction B Save Transaction A Begin Transaction Commit Transaction SavePoint A SavePoint B
SQLHiA Transaksjons log filer UPDATE Offices DELETE FROM Customers INSERT INTO Products COMMIT Row Location:..... Before:..... After:..... Row Location:..... Before:..... After:..... Row Location:..... Before:..... After:..... Row Location:..... Before:..... After:..... Transaction Committed DBMS SQL Statement SequenceTransaction Log