EBK DATABASE SYSTEM CONCEPTS
EBK DATABASE SYSTEM CONCEPTS
7th Edition
ISBN: 9781260049268
Author: SILBERSCHATZ
Publisher: MCG COURSE
Expert Solution & Answer
Book Icon
Chapter 19, Problem 11PE

Explanation of Solution

a.

Example for using normal transaction undo mechanism:

Consider a bank account S with balance $200.

  • Let two transactions individually deposit $20 in the account. Thus, the final balance should be $240.
  • Now, when the transactions are executed in sequence T1, T2 the log records would be as follows:

    < T1, S, 200, 220 >

    < T2, S, 220, 240 >

  • Now, transaction T1 needs to be undone...

Explanation of Solution

b.

Implementing point-in-time recovery using database dumps:

To modify the recovery algorithm from section 19.4 to implement point in time recovery using database dumps;

  • Identify the latest archival dump (say D) before the start of the erroneous transaction (say Te) that is < Te, start>.
  • Restore the database using this dump D.
  • Now, perform a redo of all log records starting from the dump till the transaction committed that is < Te, commit >.
  • Let S be the set of those transactions which were active at the commit time of Te.
  • Rollback all transactions in the set S including Te...

Explanation of Solution

c.

Re-executing non-erroneous transactions logically:

To understand the reason the later non-erroneous transactions cannot be re-executed logically using log records, consider again the example from part (a);

  • Let both the transactions be undone and the balance be reverted back to $200.
  • Now, if T2 needs to be redone while using the log record < T2, ...

Blurred answer
Students have asked these similar questions
Need help answering these questions!1. Design a While loop that lets the user enter a number. The number should be multiplied by 10, and the result stored in a variable named product. The loop should iterate as long as the product contains a value less than 100.   2. Design a For loop that displays the following set of numbers: 0, 10, 20, 30, 40, 50 . . . 1000   3. Convert the While loop in the following code to a Do-While loop:     Declare Integer x = 1     While x > 0        Display "Enter a number."        Input x     End While
Need help with these:Design a While loop that lets the user enter a number. The number should be multiplied by 10, and the result stored in a variable named product. The loop should iterate as long as the product contains a value less than 100.   2. Design a For loop that displays the following set of numbers: 0, 10, 20, 30, 40, 50 . . . 1000   3. Convert the While loop in the following code to a Do-While loop:     Declare Integer x = 1     While x > 0        Display "Enter a number."        Input x     End While
Convert the While loop in the following code to a Do-While loop:    Declare Integer x = 1    While x > 0       Display "Enter a number."       Input x    End While
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education