Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Lec 7

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

DATABASE

MANAGEMENT
SYSTEM
LECTURE#7
Transaction process

 It is set of operations which is used to perform a logic unit


task is called transaction.
 The transaction is a set of logically related operation. It
contains a group of tasks.
Like: ATM transaction, online transaction etc.
 But Transaction Generally represent change in database.
 Example:
• Suppose an employee of bank transfers Rs 800 from X's
account to Y's account. This small transaction contains
several low-level tasks:
Operations of Transaction

 Read(X): Read operation is used to read the value of


X from the database and stores it in a buffer in main
memory.
 Write(X): Write operation is used to the value back to
the database from the buffer.
 Let's take an example to debit transaction from an
account which consists of following operations:
 1.1. R(X); = 4000
 2.2. X=X-500; 4000-500 = 3500
 3.3. W(X); = 3500
Operations of Transaction

 Let's assume the value of X before starting of the


transaction 4000.
 The first operation reads X's value from database and
stores it in a buffer.
 The second operation will decrease the value of X by
500. So buffer will contain 3500.
 The third operation will write the buffer's value to the
database. So X's final value will be 3500.
 But it may be possible that because of the failure of
hardware, software or power etc. that transaction
may fail before finished all the operations in the set.
Operations of Transaction

Example:
 If in the above transaction, the debit transaction fails
after executing operation 2 then X’s value will remain
4000 in the database that is not acceptable by bank.
To solve this, we have two important functions:
 Commit: It is used to save the work done permanently.
 Rollback: It is used to undo the work done.
Transaction properties

 The transaction has four properties. These are used to


maintain consistency in a database, before and after
the transaction.
Property of Transaction: ACID
1) Atomicity
2) Consistency
3) Isolation
4) Durability
Properties of Transaction:

Atomicity Consistency
• Before the transaction start
Either all
• After the transaction end
success or none
• Sum of all money should
equal

Durability
Isolation
Transaction is
Ensure that transaction is commited and store
isolated from other it permanent
transaction
Atomicity

 Either all or none


 Atomicity tells the if we have many operations either all
will be executed or none.
 There is no midway Transaction execution will be
atomic as nature wise
 The transaction cannot occur partially. Each
transaction is treated as one unit and either run to
completion or is not executed at all.
 Rollback
 A failed transaction can not be resume
 A failed transaction can be restart
Atomicity
Atomicity involves the following two operations:

 Abort: If a transaction aborts then all the changes made are not
visible.
 Commit: If a transaction commits then all the changes made are
visible

Example: Let's assume that following transaction T consists of T1 and


T2. A consists of Rs 600 and B consists of Rs 300. Transfer Rs 100 from
account A to account B.
After completion of the transaction, A consists of Rs 500 and B consists
of Rs 400.
 If the transaction T fails after the completion of transaction T1 but
before completion of transaction T2, then the amount will be
deducted from A but not added to B. This shows the inconsistent
database state. In order to ensure correctness of database state,
the transaction must be executed in entirety.
Atomicity

T1= complete T2= complete

Read(a)=600 Read(B)=400
A=A-100 A=B+100
W(A)=500 W(B)=500
Consistency

 The integrity constraints are maintained so that the database


is consistent before and after the transaction. The execution of
a transaction will leave a database in either its prior stable
state or a new stable state
 The consistent property of database states that every
transaction sees a consistent database instance.
 The transaction is used to transform the database from one
consistent state to another consistent state.
Example : The total amount must be maintained before after the
transaction
 1. Total before T occurs = 600+300=900
 2. Total after T occurs= 500+400=900
 Therefore, the database is consistent. In the case when T1 is
completed but T2 fails, then inconsistency will occur.
Isolation

 It shows that the data which is used at the time of


execution of a transaction cannot be used by the
second transaction until the first one is completed.
 In isolation, if the transaction T1 is being executed and
using the data item X, then that data item can't be
accessed by any other transaction T2 until the
transaction T1 ends.
 The concurrency control subsystem of the DBMS
enforced the isolation property.
Durability

 The durability property is used to indicate the


performance of the database's consistent state. It
states that the transaction made the permanent
changes.
 They cannot be lost by the erroneous operation of a
faulty transaction or by the system failure. When a
transaction is completed, then the database reaches
a state known as the consistent state. That consistent
state cannot be lost, even in the event of a system's
failure.
 The recovery subsystem of the DBMS has the
responsibility of Durability property.
States of transaction
States of transaction

Active state:
 The active state is the first state of every transaction. In
this state, the transaction is being executed.
 For example: Insertion or deletion or updating a record is
done here. But all the records are still not saved to the
database.
Partially committed:
 In the partially committed state, a transaction
executes its final operation, but the data is still not
saved to the database.
 In the total mark calculation
Example: A final display of the total marks step is
executed in this state.
States of transaction

Committed:
 A transaction is said to be in a committed state if it
executes all its operations successfully. In this state, all
the effects are now permanently saved on the
database system.

Failed state:
 If any of the checks made by the database recovery
system fails, then the transaction is said to be in the
failed state.
 In the example of total mark calculation, if the
database is not able to fire a query to fetch the marks,
then the transaction will fail to execute.
States of transaction

Aborted:
 If any of the checks fail and the transaction has reached
a fail state then the database recovery system will make
sure that the database is in its previous consistent state. If
not then it will abort or roll back the transaction to bring
the database into a consistent state.
 If the transaction fails in the middle of the transaction then
before executing the transaction, all the executed
transactions are rolled back to its consistent state.
 After aborting the transaction, the database recovery
module will select one of the two operations:
• Re-start the transaction
• Kill the transaction
Schedule

 It is chronological execution sequence of multiple


transaction that is called schedule.
 In which sequence multiple transactions are
executed.
Serial Schedule
 The serial schedule is a type of schedule where one
transaction executed completely before starting another
transaction. In the serial schedule, when the first
transaction completes its cycle, then the next transaction
is executed.
 For example: Suppose there are two transactions T1 and
T2 which have some operations. If it has no interleaving of
operations, then there are the following two possible
outcomes:
 Execute all the operations of T1 which was followed by all
the operations of T2
 Execute all the operations of T2 which was followed by all
the operations of T1.
Serial Schedule

• In the given (a) figure, Schedule A shows the serial


schedule where T1 followed by T2.
• In the given (b) figure, Schedule B shows the serial
schedule where T2 followed by T1.
Serial Schedule

(A)

T1 T2

Read (A);
A:=A-N;
Write(A);
Time Read (B);
B:=B+N;
Write(B);
Read (A);
A:=A+M;
Write(A);

Schedule A
Serial Schedule

(B)

T1 T2

Read (A);
A:=A+M;
Write(A);
Time Read (A);
A:=A-N;
Write(A);
Read (B);
B:=B+N;
Write(B);

Schedule B
Non-serial schedule

 If interleaving of operations is allowed, then there will


be non- serial/parallel schedule.
 It contains many possible orders in which the system
can execute the individual operations of the
transactions.
 In the given figure (c) Schedule C is the non-serial
schedules. It has interleaving of operations.
Serializable schedule

 The serializability of schedules is used to find non-serial


schedules that allow the transaction to execute
concurrently without interfering with one another.
 It identifies which schedules are correct when
executions of the transaction have interleaving of their
operations.
 A non-serial schedule will be serializable if its result is
equal to the result of its transactions executed serially.
Non-Serial Schedule

(C)

T1 T2

Read (A);
A:=A-N;
Read (A);
Time Write(A); A:=A+M;
Read (B);
Write(A);
B:=B+N;
Write(B);

Schedule C
Thank You

You might also like