Трансакција (базе података)
From Wikipedia, the free encyclopedia
Трансакција над базом података се састоји од јединице рада извршене у оквиру система за управљање базама података (или сличног система), такве да се третира на кохерентан и поуздан начин, независна од других трансакција. Трансакције над базама података имају две главне сврхе:
- Да омогуће поуздано извршавање јединица рада код таквих да је могућ опоравак од грешки, и да база података остаје конзистентна чак и у случају системских грешака, када се извршавање прекине (у потпуности или делимично) и многе операције над базом остану недовршене или са нејасним статусом.
- Да омогуће изолацију међу програмима који истовремено приступају бази података. Без изолације, резултати програма могу да буду погрешни.
Трансакција над базом података по дефиницији мора да буде атомична (енгл. ), конзистентна (енгл. ), изолована (енгл. ) и трајна (енгл. ).[1] Скраћеница која означава овај скуп особина је (од почетних слова енглеских речи за ове четири особине).
Трансакције функционишу по принципу све или ништа, што значи да ће се јединица рада која чини трансакцију или у потпуности извршити над базом података или неће имати никаквог ефекта. Штавише, систем мора да изолује сваку трансакцију од осталих трансакција, резултати морају да буду у складу са постојећим ограничењима у бази података, и трансакције које су успешно извршене морају да буду забележене у трајној складишној меморији.