21.11.2014 Views

Baze podataka 2 - FESB

Baze podataka 2 - FESB

Baze podataka 2 - FESB

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

-"*A!<br />

S – shared lokot<br />

X – exclusive lokot<br />

Kada neka transakcija T2 zahtijeva pristup podacima za obradu, ona<br />

ujedno traži lokot nad tim podacima.<br />

Ukoliko iste podatke obrauje neka druga transakcija T1, ona ve drži<br />

lokot nad tim podacima.<br />

Ishod ovakvog stanja zavisi od tipa obrade nad podacima koje<br />

pojedine transakcije vrše.<br />

Slika prikazuje meusobne veze meu lokotima, u redovima su<br />

prikazani lokoti koje drži transakcija T1, a po stupcima lokoti koje<br />

zahtjeva transakcija T2.<br />

Iz toga je vidljivo da dvije transakcije mogu pristupiti istim podacima<br />

(D u tablici) jedino ako obje transakcije iskljuivo itaju podatke.<br />

<br />

<br />

Problem gubitka ažuriranih<br />

informacija<br />

-"*A!<br />

Meudjelovanje dvaju transakcija i<br />

nužnost primjene lokota može se<br />

uoiti na slijedeem primjeru dvaju<br />

transakcija:<br />

Primjer pokazuje meudjelovanje dvaju transakcija.<br />

T1 mijenja podatke P1, a T2 traži pristup istim podacima dok T1 još nije<br />

završen.<br />

Transakcija T1 primila je podatke P1 u obradu, i izvršila ažuriranje<br />

<strong>podataka</strong> P1.<br />

U trenutku t2, pristup istim podacima traži T2, ali T1 još uvijek traje, što<br />

znai da promjena <strong>podataka</strong> P1 još nije zapisana u odgovarajuu tablicu.<br />

Stoga T2 ita prethodno stanje <strong>podataka</strong> P1 bez promjena koje je<br />

izvršila transakcija T1.<br />

Tek u trenutku t4 završava T1 i rezultati transakcije se zapisuju u tablicu.<br />

U trenutku t5 završava transakcija T2 koja svoje “rezultate” zapisuje<br />

fiziki u tablicu, te poništava promjene koje je izvršila transakcija T1.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!