V systému sdíleného více uživatelů může více uživatelů pracujících se stejnými daty vést k nekonzistenci dat, proto jsou v souběžných operacích nutné operace zámku pro kontrolu současného provádění transakcí.
Sdílený zámek:Jak je vidět z názvu, zámek může být sdílen, operace zápisu nesmí být sdílena, jakmile jsou sdílená data zapsána náhodně, neexistuje žádný "zámek", o kterém by se dalo mluvit, takže sdílený zámek je operace "sdílení" čtení, tedy zámek již nelze zapsat po přidání tohoto zámku, ale lze jej číst a lze jej také nazývat zámkem pouze pro čtení.
Exkluzivní zámky:Exkluzivní zámek je dominantnější, pokud ho přidám, nelze provádět jiné operace, proč? Protože chci data upravovat, chci je upravovat, nesmím dovolit ostatním, aby je znovu upravovali, a nesmím přidat zámek pouze pro čtení, protože u zámku pouze pro čtení nemohu provádět zápisové operace.
Například pokud transakce T1 přidá sdílený zámek k datům D1 a transakce T2 a T3 přidají exkluzivní zámky k datům D2 a D3, pak transakce T1 přidá sdílený zámek k datům (51). Data dvojice transakcí T2 (52).
(51) Odpověď: D
A. D2 a D3 plus zámek jsou úspěšné B. D2, D3 plus sdílený zámek jsou úspěšné C. D2 plus sdílený zámek uspěje, D3 přidá, že zámek selže D. D2, D3 plus exkluzivní zámky a sdílené zámky všechny selžou
(52) Odpověď: C
A. D1, D3 a sdílený zámek selhaly B. D1, D3 plus sdílený zámek jsou úspěšné C. D1 plus sdílený zámek uspěl, D3 přidal další neúspěšný zámek D. D1 plus zámek uspěly a D3 nepodařilo přidat sdílený zámek
Pokud existuje sdílený zámek, můžete ho přidat, ale exkluzivní zámek nemůžete přidat. Pokud existuje exkluzivní zámek, nelze přidat ani sdílený, ani exkluzivní zámek.
|