Skip to main content

Schedule in DBMS

Schedule

A series of operation from one transaction to another transaction is known as schedule. It is used to preserve the order of the operation in each of the individual transaction.

Schedule in DBMS


1. Serial Schedule
The serial schedule is a type of schedule where one transaction is 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:
  1. Execute all the operations of T1 which was followed by all the operations of T2. 
  2. Execute all the operations of T1 which was followed by all the operations of T2. 

  • 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.

2. Non-serial Schedule
  • If interleaving of operations is allowed, then there will be non-serial schedule.
  • It contains many possible orders in which the system can execute the individual operations of the transactions.
  • In the given figure (c) and (d), Schedule C and Schedule D are the non-serial schedules. It has interleaving of operations.

3. 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.

Schedule in DBMS

Schedule in DBMS

Schedule in DBMS

Schedule in DBMS



Here,

Schedule A and Schedule B are serial schedule.

Schedule C and Schedule D are Non-serial schedule.

Comments

Popular posts from this blog

List vs Tuple

List vs Tuple (Image by - Sharma Guides | Subham232330) List | |- Syntax :- [2,3,4] | |- Mutable :- Elements can be changed after creation. | |- Length :- Variable length. | |- Memory :- List takes more memory than a tuple. Tuple | |- Syntax :- (2,3,4) | |- Immutable :- Elements cannot be changed after creation. | |- Length :- Fixed length. | |- Memory :- It takes less memory than a list.

Joins in DBMS

DBMS Joins: Inner, THETA, Outer, Equi Types of Join Operations Join in DBMS is a binary operation that allows you to combine join product and selection in one single statement. The goal of creating a join condition is that it helps you to combine the data from two or more DBMS tables. The tables in DBMS are associated using the primary key and foreign keys. Types of Join There are mainly two types of joins in DBMS: Inner Joins: Theta, Natural, EQUI Outer Join: Left, Right, Full Inner Join Inner Join is used to return rows from both tables which satisfy the given condition. It is the most widely used join operation and can be considered as a default join-type An Inner join or equijoin is a comparator-based join which uses equality comparisons in the join-predicate. However, if you use other comparison operators like “>” it can’t be called equijoin. Inner Join further divided into three subtypes: Theta join Natural join EQUI join Theta Join Theta Join allows you to merge two tables ba...

Relational Algebra

Relational Algebra Relational algebra is a procedural query language. It gives a step-by-step process to obtain the result of the query. It uses operators to perform queries. Types of Relational Operation 1. Select Operation: The select operation selects tuples that satisfy a given predicate.  It is denoted by sigma (σ). Notation: σ p(r) Where: σ is used for selection prediction r is used for relation p is used as a propositional logic formula which may use connectors like: AND OR and NOT. These relational can use as relational operators like =, ≠, ≥, <, >, ≤. For example: LOAN Relation BRANCH_NAME LOAN_NO AMOUNT Downtown L-17 1000 Redwood L-23 2000 Perryride L-15 1500 Downtown L-14 1500 Mianus L-13 500 Roundhill L-11 900 Perryride L-16 1300 Input: σ BRANCH_NAME="perryride" (LOAN) Output: BRANCH_NAME LOAN_NO AMOUNT Perryride L-15 1500 Perryride L-16 1300 2. Project Operation: This operation shows the list of those attributes that we wish to appear in the result. Rest...