йўқотилган янгилаш (lost update) — битта блокдаги маълумот турли транзакциялар томонидан ўзгартирилганда улардан бири йўқотилади;
«ифлос» ўқиш (dirty read) — транзакциялар томонидан киритилган ва ўзгартирилган ҳамда охир оқибат инкор (откат) этиладиган маълумотларни ўқиб олиш;
такрорланмайдиган ўқиш (non-repeatable read) — жорий транзакция доирасида маълумот қайта ўқилганда аввалги қиймати ўзгартирилган ёки ўчирилган бўлади;
фантом ўқиш (phantom reads) — битта транзакция доирасида маълумот қайта ўқилганда олдинги ўқишда шартга мос бўлсада ўқилмаган маълумотни (янги «фантом» сатрларни) пайдо бўлиши.
Блокировкалаш даражалари
Юқоридаги муаммоларни ечиш учун стандартда тўртта блоклаш даражаси. Транзакцияларни блоклаш даражаларижорий транзакция ўзгартирган маълумотларни бошқа (рақобатчи) транзакциялар ўзгартириши мумкин ёки мумкинмаслигини, ҳамда жорий транзакция бошқа (рақобатчи) транзакциялар киритган (ва аксинча) ўзгартишларни кўриши мумкин ёки мумкинмаслигини аниқлайди. Ҳар бир навбатдаги даража олдинги даража талабларини қаноатлантиради ва ўзининг (қўшимча) чекловларини ўрнатади.
Блоклаш даражалари қуйидагилар:
Serializable,
Repeatable Read,
Read Committed,
Read Uncommitted.
Блокировкалаш даражалари
Ҳар бир навбатдаги даража олдинги даража талабларини қаноатлантиради ва ўзининг (қўшимча) чекловларини ўрнатади:
0 даража – маълумотларни «ифлослашни» тақиқлаш. Бу даража маълумотларни фақат битта транзакция ўзгартириши мумкинлигини талаб этади; агар бошқа транзакция шу маълумотларни ўзгартироқчи бўлса , у биринчи транзакция бажарилишини кутиб туриши зарур;
1 даража –“ифлос" ўқишни тақиқлаш. Агар бирор транзакция ўзгартиришни бошлаган бўлса бошқа хеч бир транзакция биринчи транзакция тугамагунча жорий маълумотларни ўқий олмайди;
2 даража – такрорланмайдиган ўқишни тақиқлаш . Агар транзакция маълумотларни ўқиган бўлса, у холда хеч бир бошқа транзакция жорий маълумотларни ўзгартиролмайди. Шу тарзда, жорий маълумотни биринчи транзакция қайта ўқиганда аввалги холатида ўқиб олади.
3 даража –фантомларни тақиқлаш. Агар бирринчи транзакция маълумотни ўқиган бўлса бошқа транзакция биринчи транзакция қайта ўқиши мумкин бўлган янги маълумотни киритиши ёки мавжудларини ўчириши мумкин эмас. Ушбу бллоклаш даражаси калитлар диапазонини блоклаш орқали амалга оширилади. Бу блоклаш конкрет сатрларга эмас балки бирор мантиқий шартни қаноатлантирувчи сатрларга нисбатан қўлланилади.