Transaction Processing in ANSI SQL file:///Users/Jrg/235-2021-SPRING/SLIDES/WEEK06/13Transactionsinsql/13Transactionsinsql.Html#2

Transaction Processing in ANSI SQL file:///Users/Jrg/235-2021-SPRING/SLIDES/WEEK06/13Transactionsinsql/13Transactionsinsql.Html#2

Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 CSCI235 Database Systems Transaction Processing in ANSI SQL Dr Janusz R. Getta School of Computing and Information Technology - University of Wollongong 1 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 2/19 2 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Dirty read phenomenon A transaction reads uncommitted data created by a transaction that fails later on Dirty read phenomenon Transaction 1 Transaction 2 SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 2000 UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales'; SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 3000 ROLLBACK; ??? TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 3/19 3 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Reading only committed data Reading only committed data Transaction 1 Transaction 2 SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 2000 UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales'; SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 2000 ROLLBACK; TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 4/19 4 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 5/19 5 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Non-repeatable read phenomenon A transaction reads the same data item few times and each a data item has a different value Non-repeatable read phenomenon Transaction 1 Transaction 2 SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 2000 UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales'; COMMIT; SELECT budget FROM DEPARTMENT WHERE name = 'SALES'; 3000 ??? TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 6/19 6 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 7/19 7 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Phantom phenomenon A transaction counts the total number of rows in the same table several times and each time the total number of rows is different Phantom phenomenon Transaction 1 Transaction 2 SELECT count(*) FROM DEPARTMENT 20 DELETE DEPARTMENT WHERE NAME = 'Sales'; COMMIT; SELECT count(*) FROM DEPARTMENT 19 TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 8/19 8 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 No phantoms No phantoms Transaction 1 Transaction 2 SELECT count(*) FROM DEPARTMENT 20 DELETE DEPARTMENT WHERE NAME = 'Sales'; COMMIT; SELECT count(*) FROM DEPARTMENT 20 TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 9/19 9 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 10/19 10 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Isolation levels SQL provides four levels of isolation for database transactions Isolation levels are equivalent to correctness levels Isolation levels are defined in terms of several possible phenomena, or weird hard-to-explain occurrences of operations The following isolation levels are defined in ANSI SQL - READ UNCOMMITTED - READ COMMITTED - REPEATABLE READ - SERIALIZABLE Isolation levels are defined in the terms of so called phenomena The following phenomena are considered - Dirty read phenomenon - Non-repeatable read phenomenon - Phantom phenomenon TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 11/19 11 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 12/19 12 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Phenomena Dirty read phenomenon - Read operations may access dirty data, i.e. data written by uncommitted transactions Non-repeatable read phenomenon - Different reads by a single transaction to the same data will not be repeatable, i.e. they may return different values Phantom phenomenon - A set of rows that transaction reads once might be a different set of rows if the transaction attempts to read them again TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 13/19 13 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 14/19 14 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Isolation levels versus phenomena At READ UNCOMMITED isolation level a transaction may exhibit: - dirty read phenomenon, - non-repeatable read phenomenon, - phantom phenomenon At READ COMMITED isolation level a transaction may exhibit: - non-repeatable read phenomenon, - phantom phenomenon At REPEATABLE READ isolation level a transaction may exhibit: - phantom phenomenon At SERIALIZABLE isolation level a transaction may exhibit: - none of the phenomena TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 15/19 15 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Isolation levels versus phenomena Isolation levels versus phenomena Level Dirty Read Nonrepeatable Read Phantom -------------------------------------------------------------------------------- READ UNCOMMITTED Possible Possible Possible READ COMMITTED not possible Possible Possible REPEATABLE READ not possible not possible Possible SERIALIZABLE not possible not possible not possible TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 16/19 16 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Transaction Processing in ANSI SQL Outline Dirty read phenomenon Non-repeatable read phenomenon Phantom phenomenon Isolation levels Phenomena Isolation levels versus phenomena Setting isolation levels in ANSI SQL TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 17/19 17 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 Setting isolation levels in ANSI SQL SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 18/19 18 of 19 20/7/21, 7:41 am Transaction Processing in ANSI SQL file:///Users/jrg/235-2021-SPRING/SLIDES/WEEK06/13transactionsinsql/13transactionsinsql.html#2 References Elmasri R. and Navathe S. B., Fundamentals of Database Systems, Chapter 20.6 Transaction Support in SQL, 7th ed., The Pearson Education Ltd, 2017 TOP Created by Janusz R. Getta, CSCI235 Database Systems, Spring 2021 19/19 19 of 19 20/7/21, 7:41 am.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us