SlideShare a Scribd company logo
1 of 147
Relational Database Management System
Surender Singh
Sr. Programmer
surendersingh@titsbhiwani.ac.in
Relational Database Management System
DATABASE
Information
DBMS/RDBMS
DATA
File Processing System
File Processing System
Database
(Information in
Files Format)
Application
Programs
(Programs
Written in C
Pascal etc.)
File System
(Data Structure
File Handling)
File System
Database
Disadvantages of FPS
Data Redundancy and Inconsistency
Difficulty in accessing data
Data isolation
Integrity Problems
Atomicity Problems
Concurrent-access anomalies
Security Problems
Data Redundancy and Inconsistency
Customer Information Saving Account
Name Address
ABC
DEF
Bhiwani
Delhi
AccNo Name Address
1002 ABC Bhiwani
1005 DEF Jaipur
Difficulty in accessing data
Database
(Information Storage
in Files Format)
Application
Programs
(Programs
Written in C
Pascal etc.)
File System
(Data Structure
File Handling)
Requirement
Manager
surendersingh@rediffmail.com
Data Isolation and Integrity Problems
#include <stdio.h>
Main()
{
-----
}
01 Reserve-rec.
03 saving
05 accno PIC A(2)
--------
Program in C Program in COBOL
New Document
surendersingh@rediffmail.com
Atomicity Problems
USsEuR rendersingh@rediffmail.coUmSER
Bank
Data Transmission
Concurrent-access anomalies
surendersingh@rediffmail.com
Security Problems
Employee
Information
surendersingh@rediffmail.com
Database the Piece of mind
surendersingh@rediffmail.com
mail.com
• A mechanism for specification of data and its dependencies
(Integrity Constraints) in an integrated fashion.
• Prevention of redundancy and inconsistency.
• Provision of adequate security and access-rights.
• Mechanism for concurrency control.
• Mechanism for recovery from failure.
Additionally any DBMS must provide
• Schemes for specification of procession rules or application Programs.
• Efficient techniques for storage and retrieval of data from the secondary
storage (disk).
Requirements of a DBMS
surendersingh@rediff
A DBMS has two major components, namely
 Structure of Database is called Database Schema.
Instance, which is a state of the database with the actual data loaded.
 A set of software tools/programs which access, update and
process the database, called the query and update-mechanism.
D
B
M
S
surendersingh@rediffmail.com
File
Manager
Secondary
Storage
Physical Level
Logical Level
View 1 View 2 View n
View Level (External Level)
View of DATA
surendersingh@rediffmail.com
Internal View
Conceptual View
Data Independence
The ability to modify a schema definition in one level without affecting a
schema definition in the next higher level is called data independence.
Physical data independence Logical data independence
Create table emp
(empno number(10),
--------------
);
Data Models
A Data Model is a mechanism for describing the data, their interrelationships
and the constraints.
Object-based Conceptual models.
Entity-Relationship model
Record-based models.
Relational Model
Network Model
Hierarchical Model
Physical data models.
surendersingh@rediffmail.com
The E-R Model
Entities : An entity is a distinct clearly identifiable object of the database e.g Book
Attribute : Each Entity is characterized by a set of attributes e.g. Acc.No.
Entity Set : Set of all entities having attributes of the same type.
Relationships : A relationship is a mapping between entity sets.
BOOK USERSBorrowed_By
Acc_No Title
Card_No NameAcc_No
Aut
shor
urenYe
daro
efPu
rb
singCa
hrd_N
@o
reD
dOI
iffmaAdd
ir
le
.ss
com
The Relational Model
AccNo Title Author YearofPub
Tuple
Relational Model uses a collection of tables to represent both data and
relationship among those data. Each table has multiple Attributes and
similar kind of tuples.
Attribute
Book Table/Relation
surendersingh@rediffmail.com
Network Model
Data in the network model are represented by collection of records and
relationships among data are represented by links, which can be viewed
as Pointers.
User
Card_No Name Address Link
Pointer Next
Acc_No Author ----- Link
Book
surendersingh@rediffmail.com
Hierarchical Model
This is special kind of a network model where the relationship is
essentially a tree-like structure.
Hospital
Wards Units
Cardiology SkinPatient Doctors Nurses
surendersingh@rediffmail.com
Physical Data Models
surendersingh@rediffmail.com
Physical data models are used to describe data at the lowest level.
In contrast to logical data models, there are few physical data models
In use. Two of the widely known ones are the Unifing model and
frame-Memory model.
Database Languages
Data-Definition Data-Manipulation Data-Control
Create Table Test
(
Title Varchar2(20),
--------
);
Update
Insert
Delete
Query
GRANT Connect,
Resource TO xUser
surendersingh@rediffmail.com
Database Languages
surendersi redif
Database Management System Structure
Application
Interfaces
Database
Scheme
Application
Programs Query
Application
Programs
Object
Code
Embedded
DML
Precompiler
Query
Evaluation
Engine
DML
Compiler
DDL
Interpreter
Transaction
Manager
Buffer
Manager
File
Manager
Indices
Data Files
Statistical Data
ngh@Data Dictionary
fmail.com
Naïve Users
(tellers, agents, etc.)
Application
Programmers
Sophisticated
Users
Database
Administrators
Users
Query
Processor
Storage
Manager
Database
Management
System
Disk Storage
surendersingh@rediffmail.com
surendersingh@rediffmail.com
Oracle Storage System Structure
Database Administrator
surendersingh@rediffmail.com
Roles of DBA
• Schema Definition
• Storage structure and access-method definition
• Schema and Physical-organization modification
• Granting of authorization for data access
• Integrity-constraint specification
Terms
Simple and Composite Attributes
Single-valued and Multivalued Attributes
Null Attributes
Derived Attributes
Existence Dependencies
Weak Entity Set and Strong Entity Set
surendersingh@rediffmail.com
Weak Entity Set
surendersingh@rediffmail.com
Attributes
surendersingh@rediffmail.com
Keys
Foreign Key
Keys
Candidate Key Secondary Key
Primary Key Alternate Key
Composite Key
surendersingh@rediffmail.com
Roll_No Name Branch City
01 Deepak Computers Bhiwani
02 Mukesh Electronics Rohtak
03 Teena Mechanical Bhiwani
04 Deepti Chemical Rohtak
05 Monika Civil Delhi
Candidate Keys
Primary
key
Alternate Keys
surendersingh@rediffmail.com
Roll_No Name Branch City
01 Deepak Computers Bhiwani
02 Mukesh Electronics Rohtak
03 Teena Computers Bhiwani
04 Deepak Electronics Rohtak
05 Monika Computers Delhi
Primary
Key
Secondary Key
surendersingh@rediffmail.com
Name Branch City
Deepak Computers Bhiwani
Mukesh Electronics Rohtak
Teena Computers Bhiwani
Deepak Electronics Rohtak
Monika Computers Delhi
Composite Primary Key
surendersingh@rediffmail.com
Part P_Name Colour Quantity
P1 Nut Red 200
P2 Bolt Green 250
P3 Screw Blue 300
surendersingh@rediffmail.com
P#
Supplier S_Name City Quantity
S1 John Delhi 200
S2 Smith Kolkata 250
S3 James Delhi 300
S4 David Chennai 400
S5 John Chennai 300
surendersingh@rediffmail.com
S#
P# S# Quantity
P1 S1 200
P2 S1 300
P3 S1 400
P1 S2 250
P2 S3 250
P3 S4 200
P2 S4 300
P3 S5 400
surendersingh@rediffmail.com
SP#
Mapping Cardinalities
Mapping cardinalities, or cardinality ratios, express the number of entities
to which another entity can be associated via a relationship set.
For a binary relationship set R between entity sets A and B, the mapping
Cardinality must be one of the following
A AB B
One to One One to Many
surendersingh@rediffmail.com
AA BB
surenMadny eto Ornse ingh@rediffmManay toilM.acnyom
Company
Vehicle
Owns Leased
More on E-R Diagrams
Multiple Relationship between
Same entity set
Reports to
surendersingh@rediffmail.com
Manager
Staff
Subordinate
Circular Relationship
Instructors Students
Courses
Teaches
Ternary E-R Diagram
Book UserBorrowed_By
N
surendersingh@rediffmail.com
1
Constraints
E-R Diagram Components
Entity Sets
Attributes
Relationship Sets
Connectors/Constraints
Multivalued Attributes
Derived Attributes
Total Participation of an entity in a relationship set
surendersingh@rediffmail.com
Existence Dependencies
surendersingh@rediffmail.com
Generalization and Specialization
surendersingh@rediffmail.com
surende rsingh@rediffmail.com
Generalization and Specialization
The abstraction mechanisms
Employee
Emp_No Name Date_of_hire
IS_A IS_A
Full_time
Employee Salary
IS_AIS_A
Faculty Staff
Interest
Part_time
Employee
Type
IS_A IS_A
Teaching Casual
Stipend Hour_RateDegree
Generalization Specialization
gh@rsurendersin ediffmail.com
Aggregation
The Process of compiling information on an object
Teacher
Teaches
Course
Book
Uses
Teacher Teaches Course
Uses
Book
Teacher-Teaches
Represent ER model using tables
surendersingh@rediffmail.com
Query Languages
surendersingh@rediffmail.com
A query language is a language in which a user requests information from a database.
These are typically higher-level than programming languages.
They may be one of:
Procedural, where the user instructs the system to perform a sequence of operations
on the database. This will compute the desired information.
Nonprocedural, where the user species the information desired without giving a
procedure for ob-taining the information.
A complete query language also contains facilities to insert and delete tuples as well
as to modify parts of existing tuples.
The Relational Algebra
surendersingh@rediffmail.com
The Borrow and Branch relations
The relational algebra is a procedural query language.
Fundamental Operations
surendersingh@rediffmail.com
select (unary)
project (unary)
rename (unary)
cartesian product (binary)
union (binary)
set-difference (binary)
Several other operations, dened in terms of the fundamental operations:
set-intersection
natural join
division
assignment
Operations produce a new relation as a result.
Formal Definition of Relational Algebra
surendersingh@rediffmail.com
The Select Operation
surendersingh@rediffmail.com
The Project Operation
surendersingh@rediffmail.com
surendersingh@rediffmail.com
The Cartesian Product Operation
Output of Cartesian Product
A
1
2
3
B
X
Y
A B
1 X
1 Y
2 X
2 Y
3 X
3 Y
surendersingh@rediffmail.com
Relation A Relation B A X B
The Rename Operation
surendersingh@rediffmail.com
The Union Operation
surendersingh@rediffmail.com
The Set Difference Operation
surendersingh@rediffmail.com
Additional Operations
The Set Intersection Operation
surendersingh@rediffmail.com
The Natural Join Operation
surendersingh@rediffmail.com
The Division Operation
surendersingh@rediffmail.com
Example of Division Operation
A B
P A
Q A
P B
Q T
M A
Q B
s
u
B
A
B
A
P
Q
Relation R
rendersingh@rediffmail.com
Relation S R S
The Assignment Operation
surendersingh@rediffmail.com
Relational Calculus
surendersingh@rediffmail.com
Relational Calculus is a nonprocedural Query language
 Tuple Relational Calculus
Uses Tuple variables which take values of an entire tuple
 Domain Relational Calculus
Uses Domain variables which takes values from an attribute
Tuple Relational Calculus
surendersingh@rediffmail.com
Example Queries
surendersingh@rediffmail.com
Some More Examples
surendersingh@rediffmail.com
Domain Relational Calculus
surendersingh@rediffmail.com
SQL
surendersingh@rediffmail.com
Integrity Constraints
surendersingh@rediffmail.com
Integrity and Consistency is of primary concern to any database design
At any instance a database must be correct according to a set of rules.
Rules are checked during any database operation.
Insertion
Deletion
Updation
Recovery from Failure
Concurrent Operations
Types of Constraints
Domain Constraints
Referential Integrity Constraint
Functional Dependencies
Domain Constraints
surendersingh@rediffmail.com
Includes
Type
Width
Null or Not Null
Checks/Conditions
Specify at the time of designing
Checked at the time of insertion, deletion or modification
e.g
Bname char(20)
Amount number(7,2)
DOL date check (date>=29/09/2004
City char(10) not null
TotalAmt = amount + interest
Referential Integrity
surendersingh@rediffmail.com
Foreign Key
Referential integrity states that all values of the foreign key of one
Relation must be present in another relation where the same attribute
Is declared as the primary key
Checks during Database Modification
Insert
Delete
Update
Assertions and Triggers
surendersingh@rediffmail.com
An assertion is a general predicate, expressed in relational algebra
Or calculus or any language like SQL which must always hold in a
Database
Assert salary-constraint on emp
salary >= 1000
A trigger is a statement or a block of statements which are executed
Automatically by the system when an event (i.e., insertion, updation
Or deletion) takes place on a table
Define trigger insert_record
on delete of emp e
(insert into emp_history
values e.empno, e.name, e.deptno)
Functional Dependencies
Functional Dependencies provide a formal mechanism to express
Constraints between attributes.
It is a mean of identifying how values of certain attributes are
Determined by values of other attributes.
A functional dependency (FD) generalizes the concept of a key.
Book (acc_no, yr_pub, title)
Acc_no is Primary Key
Formal representation of Constraints
acc_no
acc_no
yr_pub
title
surendersingh@rediffmail.com
Formal Notation of FD
In general if there are two attributes A and B and the FD
A B
Holds then, it means that there can be no two tuple which have
The same value of attributes A and different values in attribute B.
If  and  are two sets of attributes then the FD   holds on a
Relation r(R), if –
  ,   R, i.e.  ,  subset of R
2. for all tuples t1 and t2 in r,
if t1 [ ] = t2 [ ] then
t1 [ ] = t2 [ ]
surendersingh@rediffmail.com
Closure of a Set of Functional
Dependencies
surendersingh@rediffmail.com
Armstrong’s Axioms
surendersingh@rediffmail.com
Closure of a Set of F+
surendersingh@rediffmail.com
Closure of Attribute Sets
surendersingh@rediffmail.com
Canonical Cover
surendersingh@rediffmail.com
To minimize the number of functional dependencies that need to be
Tested in case of an update we may restrict F to a canonical cover Fc.
A canonical cover for F is a set of dependencies such that F logically
Implies all dependencies in Fc.
A canonical cover Fc of a set of FDs F is a minimal cover of F in the
Sense that there is no subset of Fc which also covers F.
Example of Cannonical Cover
Consider a relation r ( X, Y, Z ) with the FDs F.
1. X
2. Y
3. X
4. XY
Y Z
Z
Y
Z
Here 4 is redundant because (1) states that X Y and X Z holds.
Thus (4) can be derived from (1). Also (3) is redundant because (1) contains (3).
Deleting these two we get
1. X YZ
2. Y Z
Which is a cover of F. Here again since X Y and Y Z holds, by
Transitivity X Z holds. So it is redundant. Deleting this we get the FDs as
X
Y
Y
Z
Which is a cannonical cover of F.
surendersingh@rediffmail.com
Relational Database Design
surendersingh@rediffmail.com
Database Decomposition – 1
Representation of Information
surendersingh@rediffmail.com
Database Decomposition – 2
surendersingh@rediffmail.com
Database Decomposition – 3
surendersingh@rediffmail.com
Database Decomposition – 4
surendersingh@rediffmail.com
Lossless-join Decomposition
surendersingh@rediffmail.com
s_name s_addr Item Price
A1 B1 C1 D1
A1 B1 C2 D1
A2 B2 C1 D2
A2 B2 C3 D3
A3 B1 C2 D2
surenderA3
singB1
h@C2
redD
i1
ffmail.com
S_name Item
A1 C1
A1 C2
A2 C1
A2 C3
A3 C2
S_name S_addr Item Price
A1 B1 C1 D1
A1 B2 C1 D2
A1 B1 C2 D1
A1 B1 C2 D2
A2 B1 C1 D1
A2 B2 C1 D2
A2 B2 C3 D3
A3 B1 C2 D1
S_addr Item price
B1 C1 D1
B1 C2 D1
B2 C1 D2
B2 C3 D3
B1 C2 D2
Example of lossy decomposition
S_by
p1 p2
Natural Join of P1 and p2
Dependency Preservation
surendersingh@rediffmail.com
Normalization
surendersingh@rediffmail.com
Normalization is a process of removing redundancy using functional Dependencies.
To reduce redundancy it is necessary to decompose a relation into a number of smaller relations.
There are several normal Forms.
-First Normal Form (1 NF)
-Second Normal Form (2 NF)
-Third Normal Form(3 NF)
-Boyce-Codd Normal Form (BCNF)
First Normal Form (1NF)
Name
F_name L_name
This normal form says that all attributes are simple.
An attribute is said to be simple if it does not contain any subparts.
An attributes which contains subparts is called complex attributes.
C_addr
City State Zip
surendersingh@rediffmail.com
Second Normal Form (2NF)
Consider a relation savings_deposit having the following structure:-
Saving_deposit (name, addr, acc_no, amt )
With the following FDs :
name
name, acc_no
addr
amt
A relation is said to be in 2NF if it is in 1NF and
All non-prime attributes are fully functionally dependent on candidate key
Here [name, acc_no ] is the candidate key and addr and amt are the non prime attributes.
Among the non-prime attributes amt depends on [name, acc_no ] whereas addr depends
on name only.
Note that due to FD name addr every tuple with the same name will contain the same
Address causing redundancy.
This redundancy arises because a non-prime attribute like address is dependent on an attribute
surendersingh@rediffmail.com
Which is not a candidate key.
Solution
We can remove this redundancy by splitting the original relation into following two relations
Sav_sch1 (name, addr)
Sav_sch2(name, acc_no,amt)
Both the relations are now 2NF.
In the first relation name is Primary Key and the onlyNon-prime attribute is addr
which is dependent on name
In the second relation the only non-prime attribute amt depend on both name and
Acc_no. that this decomposition is also lossless join and dependency preserving
Courses ( Course_no, title, loc, time )
And FD’s are –
Course_no
Course_no, time
title
loc
surendersingh@rediffmail.com
Third Normal Form (3NF)
A relation is said to be in 3NF and non-prime attributes are not dependent
On each other.
Consider the relation –
s_by ( s_name, item, price, gift_item )
With FDs
s_name, item
price
price
gift_item
Here all prime attributes are fully functional dependent on candidate keys, the
Non-prime attribute gift-item is also fully functional dependent on the non-prime
Attribute price. This create redundancy because every price value there is a fixed
Gift item.
We shall have to impose the additional restriction that no non-prime attribute can
Be functionally dependent on another non-prime attributes.
surendersingh@rediffmail.com
Solution
We decompose the relation
s_by (s_name, item, price, gift_item )
Into
s_by_1 (s_name, item, price )
s_by_2 (price, gift_item)
Now we have a lossless join and dependency preserving decomposition.
An alternative yet equivalent definition for 3NF is :
For every FD   on R at least one of the following conditions hold
–
•    (trivial dependency)
•  R ( is a super key )
surendersingh@rediffmail.com
urendersingh@rediffmail.com
Boyce-Codd Normal Form (BCNF)
s
More on BCNF
endersingh@rediffmaisur l.com
Comparison of BCNF and 3NF
surendersingh@rediffmail.com
surendersingh@rediffmail.com
Comparison of BCNF and 3NF - 2
Normalization using Multivalued
Dependencies
surendersingh@rediffmail.com
Multivalued Dependencies -2
surendersingh@rediffmail.com
Rules
surendersingh@rediffmail.com
More Rules
surendersingh@rediffmail.com
Fourth Normal Form (4NF)
surendersingh@rediffmail.com
Example
surendersingh@rediffmail.com
Normalization using Join Dependencies
surendersingh@rediffmail.com
Let R be a relation schema and R1, R2,….Rn be a decomposition of R. The join dependency
*(R1, R2,….Rn) is used to restrict the set of legal relations to those for which R1, R2,….Rn is
A lossless-join decomposition of R.
Formally, if R = R1 R2  ……  Rn, we say that a relation r( R ) satisfies the join dependency.
Fifth Normal Form (5NF)
Project-Join Normal Form
surendersingh@rediffmail.com
Project-join normal form (PJNF) is defined in a manner similar to BCNF and 4NF,
Except that join dependencies are used.
A relation schema R is in PJNF with respect to a set D of functional multivalued and
Join dependencies if, for all join depencdencies in D+ of the form *(R1, R2,…. Rn).
Where each Ri  R and R = R1  R2 ……  Rn, at least one of the following holds:
• *(R1, R2…..Rn) is a trival join dependency.
• Every Ri is a superkey for R.
It’s seems that every PJNF is also in 4NF
Thus, in general, we may not be able to find a dependency-preserving decomposition
Into PJNF for a given schema.
Storage and File Structure
Hierarchy of Storage
surendersingh@rediffmail.com
Description
surendersingh@rediffmail.com
Description - 2
surendersingh@rediffmail.com
File Organization
surendersingh@rediffmail.com
Fixed Length Record -1
surendersingh@rediffmail.com
Fixed Length Record -2
surendersingh@rediffmail.com
Variable-length Records
surendersingh@rediffmail.com
Fixed-length representation
surendersingh@rediffmail.com
Organization of Records in files
surendersingh@rediffmail.com
Concurrency Control and Recovery
Transactions
surendersingh@rediffmail.com
 Concurrent execution of user programs is essential for good DBMS performance.



Because disk accesses are frequent, and relatively slow, it is important to keep the cpu humming by
working on several user programs concurrently.
A user’s program may carry out many operations on the data retrieved from the database, but the
DBMS is only concerned about what data is read/written from/to the database.
A transaction is the DBMS’s abstract view of a user program: a sequence of reads and writes.
A Tracnsaction is a unit of program execution That accesses and possibly updates various
Data items.
Collection of operations that form a single logical unit of work are called tracsactions.
A database system must ensure proper execution of transaction despite failures.
To ensure integrity of the data, database system must maintain the following properties of the
transactions:
States of Transactions
Active
surendersingh@rediffmail.com
Partially Committed
Failed
Aborted
Concurrency in a DBMS
surendersingh@rediffmail.com
 Users submit transactions, and can think of each transaction as executing by itself.


Concurrency is achieved by the DBMS, which interleaves actions (reads/writes of DB objects) of
various transactions.
Each transaction must leave the database in a consistent state if the DB is consistent when the
transaction begins.



DBMS will enforce some ICs, depending on the ICs declared in CREATE TABLE statements.
Beyond this, the DBMS does not really understand the semantics of the data. (e.g., it does not
understand how the interest on a bank account is computed).
Issues: Effect of interleaving transactions, and crashes.
Example
surendersingh@rediffmail.com
 Consider two transactions (Xacts):
T1: BEGIN A=A+100, B=B-100 END
T2: BEGIN A=1.06*A, B=1.06*B END
❖
❖
Intuitively, the first transaction is transferring $100 from B’s account to A’s account. The
second is crediting both accounts with a 6% interest payment.
There is no guarantee that T1 will execute before T2 or vice-versa, if both are submitted
together. However, the net effect must be equivalent to these two transactions running
serially in some order.
Example (Contd.)
Consider a possible interleaving (schedule):
T1: A=A+100, B=B-100
T2: A=1.06*A, B=1.06*B
B=B-100
❖ This is OK. But what about:
T1: A=A+100,
T2: A=1.06*A, B=1.06*B
❖ The DBMS’s view of the second schedule:
T1: R(A), W(A), R(B), W(B)
T2: R(A), W(A), R(B), W(B)
surendersingh@rediffmail.com
Example (Contd.)
 The DBMS must not allow schedules like this!
R(B), W(B)T1: R(A), W(A),
T2: R(A), W(A), R(B), W(B)
A
surendersingh@rediffmail.com
❖
❖
T1 T2 Dependency graph
B
Dependency graph: One node per Xact; edge from Ti to Tj if Tj reads or writes an object last
written by Ti.
The cycle in the graph reveals the problem. The output of T1 depends on T2, and vice-versa.
Scheduling Transactions
surendersingh@rediffmail.com


Equivalent schedules: For any database state, the effect (on the set of objects in the database) of
executing the first schedule is identical to the effect of executing the second schedule.
Serializable schedule: A schedule that is equivalent to some serial execution of the transactions.


If the dependency graph of a schedule is acyclic, the schedule is called conflict serializable. Such a
schedule is equivalent to a serial schedule.
This is the condition that is typically enforced in a DBMS (although it is not necessary for
serializability).
Detection of Serializability
surendersingh@rediffmail.com
One of the techniques of concurrency control is to detect whether a schedule is valid or not
Prior to execution.
The task of understanding a schedule is simplified by considering only the sequence of read
and write operation in a transaction
T1 T2
Read(X)
Read(X)
Write(X)
Write(X)
Read(Y)
Write(Y)
Read(Y)
Write(Y)
Read-Write sequence of a non-serializable schedule
surendersingh@ rediffmail.com
Serializable Concurrency
T1 T2
Read(X)
Write(X)
Read(X)
Write(X)
Read(Y)
Write(Y)
Read(Y)
Write(Y)
A serializable concurrent schedule
Generalize the idea of conflict. Consider the four possibilities which can arise between two
Consecutive instructions T1 and T2 in a schedule ( T1 and T2 belong to two different transactions)
1. T1 : Read(X) followed by T2 : Write(X)
2. T1 : Read(X) followed by T2 : Read(X)
3. T1 : Write(X) followed by T2 : Read(X)
4. T1 : Write(X) followed by T2 : Write(X)
T1 and T2 are said to be conflict if they cannot be swapped without fear of loss of consistency.
In above 3 cases all pairs except case 2 are said to be in confli ct.
Deadlock Condition
surendersingh@rediffmail.com
T1
UPDATE account
SET balance = balance * 0.1
WHERE acc_no = ‘FC821’
UPDATE account
SET age = 30
WHERE acc_no = ‘FC523’
T2
UPDATE account
SET balance = balance * 0.1
WHERE acc_no = ‘FC523’
UPDATE account
SET age = 38
WHERE acc_no = ‘FC821’
Lock-Based Techniques
surendersingh@rediffmail.com
In this technique the system does not participate in detection of inconsistency nor does it take any
Corrective action.
The DBMS however, provides the user with a set of operations which when used properly can
ensure that concurrent execution will not violate consistency.
In this techniques functions are provided to lock and unlock data items by transactions,
In the simplest case a data item X can be locked by a transaction T1 in two modes :
Shared Mode : if T1 locks X in shared mode then before T1 unlocks X, no other transaction T2 can
write into X. But a transaction T2 can read the value of X even if T1 has locked
locked X in shared mode.
Exclusive Mode : If T1 locks X in exclusive mode then before T1 unlocks X, no other transaction
T2 can read or write into X.
Example
surendersingh@rediffmail.com
T1 T2
Lock-X(P)
Read (P,p)
P=p-1
Write(P,p)
Unlock(P)
Lock-S(Q)
Read(Q,q)
unlock(Q)
Lock-S(P)
Read(P,p)
unlock(P)
display(p)
display(p)
Lock-X(Q)
Read(Q,q)
q = q + 1
Write(Q,q)
Unlock(Q)
Two-Phase locking
surendersingh@rediffmail.com
Phase I – Acquiring Phase : During this phase a transaction may lock a data item but not
unlock any data item.
Phase II – Releasing Phase : During this phase a transaction may unlock data items locked
earlier but no new locks may be acquired.
In two phase locking phase I must always precede phase II. This will ensure that all schedule
are automatically conflict serialzable.
Enforcing (Conflict) Serializability
surendersingh@rediffmail.com
 Two-phase Locking (2PL) Protocol:



Each Xact must obtain a S (shared) lock on object before reading, and an X (exclusive) lock on object
before writing.
Once an Xact releases any lock, it cannot obtain new locks.
If an Xact holds an X lock on an object, no other Xact can get a lock (S or X) on that object.


2PL allows only conflict-serializable schedules.
Potential problem of deadlocks: we could have a cycle of Xacts, T1, T2, ... , Tn, with each Ti waiting for its
predecessor to release some lock that it needs.
 Dealt with by killing one of them and releasing its locks.
Atomicity of Transactions
surendersingh@rediffmail.com


A transaction might commit after completing all its actions, or it could abort (or be aborted by the DBMS)
after executing some actions.
A very important property guaranteed by the DBMS for all transactions is that they are atomic. That is, a
user can think of a Xact as always executing all its actions in one step, or not executing any actions at all.
 DBMS logs all actions so that it can undo the actions of aborted transactions.
 This ensures that if each Xact preserves consistency, every serializable schedule preserves consistency.
Aborting a Transaction
surendersingh@rediffmail.com


If a transaction Ti is aborted, all its actions have to be undone. Not only that, if Tj reads an object last
written by Ti, Tj must be aborted as well!
Most systems avoid such cascading aborts by releasing a transaction’s locks only at commit time.
 If Ti writes an object, Tj can read this only after Ti commits.
 In order to undo the actions of an aborted transaction, the DBMS maintains a log in which every write is
recorded. This mechanism is also used to recover from system crashes: all active Xacts at the time of the
crash are aborted when the system comes back up.
The Log
surendersingh@rediffmail.com
 The following actions are recorded in the log:
 Ti writes an object: the old value and the new value.
 Log record must go to disk before the changed page!
 Ti commits/aborts: a log record indicating this action.



Log records are chained together by Xact id, so it’s easy to undo a specific Xact.
Log is often duplexed and archived on stable storage.
All log related activities (and in fact, all activities such as lock/unlock, dealing with deadlocks etc.) are
handled transparently by the DBMS.
The Log - 2
surendersingh@rediffmail.com
T:
Read (X, xi)
xi  xi – 500
Write (X,xi)
Read ( Y, yi)
yi  yi + 500
Write (Y, yi)
<T starts>
<T, X, 1000, 500>
<T, Y, 2000, 2500>
<T, commits>
Log file e.g. X=1000, Y= 2000
Transaction Name
Data item Name
Old Value
New Value
Checkpoints
surendersingh@rediffmail.com
At the time of recovery the entire log needs to be searched to know which transaction need to
Be redone and which transactions needs to be undone. The problem with this approach is:
1. It will take a reasonable amount of time.
2. Most of the transactions that need to be redone have already modified the database.
To solve this problem the concept of checkpoint is used here at different points.
Checkpoints are introduced to indicate that the data before this point has already been
Updated to the database. Before writing checkpoints the following sequence of actions
shuld to take place –
- Output all log records currently residing in the main store to a stable storage
- Output all modified buffer blocks to secondary storage.
- Output a log record <checkpoint>
Recovering From a Crash
surendersingh@rediffmail.com
 There are 3 phases in the Aries recovery algorithm:



Analysis: Scan the log forward (from the most recent checkpoint) to identify all Xacts that were active,
and all dirty pages in the buffer pool at the time of the crash.
Redo: Redoes all updates to dirty pages in the buffer pool, as needed, to ensure that all logged
updates are in fact carried out and written to disk.
Undo: The writes of all Xacts that were active at the crash are undone (by restoring the before value
of the update, which is in the log record for the update), working backwards in the log. (Some care
must be taken to handle the case of a crash occurring during the recovery process!)
Data can be lost due to the failure of the nonvolatile storage like the disk. The scheme which is available
To protect the data from disk failure is to periodically dump the entire contents of the database to any backup
(or even stable) storage like a magnetic tape. When a failure occurs the most recent dump is used to restoring
The datbase to a previous consistent state. Then the log is used to redo all the transactions that have committed
Since the last dump occurred. The following steps are performed for this purpose :
• Output all log records currently residing in the main memory onto stable store.
• Output all buffer blocks onto the disk.
• Copy the contents of the database to stable store.
• Output a log record <dump>.
Summary
surendersingh@rediffmail.com


Concurrency control and recovery are among the most important functions provided by a DBMS.
Users need not worry about concurrency.



System automatically inserts lock/unlock requests and schedules actions of different Xacts in such a
way as to ensure that the resulting execution is equivalent to executing the Xacts one after the other in
some order.
Write-ahead logging (WAL) is used to undo the actions of aborted transactions and to restore the
system to a consistent state after a crash.
Consistent state: Only the effects of commited Xacts seen.
Query Processing/Optimization
surendersingh@rediffmail.com
Optimization using algebraic Manipulation
Any algebraic manipulation approach to query optimization uses a set of rules, which may
Be enumerated as follows.
surendersingh@rediffmail.com
Perform selection as early as possible, in order to reduce the number of tuples to be
processed subsequently.
Projections of projections should be combined, if possible, in order to avoid repeated
scanning of tuples.
Projection over indexed attributes should be done earlier and That over non-indexed
attributes should be done later.
Intermediate relations produced in separate processing sequences must be shared as
as and when possible.
If possible, attributes which are controlling a join operation should be sorted earlier.
Rules
Example
surendersingh@rediffmail.com
Example contd.
surendersingh@rediffmail.com
rendersingh@rediffmail.com
Projection Operation
su
Natural Join Operation
surendersingh@rediffmail.com
Natural Join Operation - 2
surendersingh@rediffmail.com

More Related Content

Similar to RDBMS Components and Concepts

Similar to RDBMS Components and Concepts (20)

Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management System
 
Rdbms
RdbmsRdbms
Rdbms
 
dbms notes.ppt
dbms notes.pptdbms notes.ppt
dbms notes.ppt
 
data base management system (DBMS)
data base management system (DBMS)data base management system (DBMS)
data base management system (DBMS)
 
Dbms
DbmsDbms
Dbms
 
Ch1
Ch1Ch1
Ch1
 
1. Introduction to DBMS
1. Introduction to DBMS1. Introduction to DBMS
1. Introduction to DBMS
 
Ch1
Ch1Ch1
Ch1
 
Ch1 2
Ch1 2Ch1 2
Ch1 2
 
dbms-1.pptx
dbms-1.pptxdbms-1.pptx
dbms-1.pptx
 
Unit01 dbms
Unit01 dbmsUnit01 dbms
Unit01 dbms
 
Lecture 3 note.pptx
Lecture 3 note.pptxLecture 3 note.pptx
Lecture 3 note.pptx
 
21UCAC 41 Database Management System.ppt
21UCAC 41 Database Management System.ppt21UCAC 41 Database Management System.ppt
21UCAC 41 Database Management System.ppt
 
Ch1- Introduction to dbms
Ch1- Introduction to dbmsCh1- Introduction to dbms
Ch1- Introduction to dbms
 
DBMS
DBMSDBMS
DBMS
 
Unit 1 DBMS
Unit 1 DBMSUnit 1 DBMS
Unit 1 DBMS
 
20CS402_Unit_1.pptx
20CS402_Unit_1.pptx20CS402_Unit_1.pptx
20CS402_Unit_1.pptx
 
Database Management System, Lecture-1
Database Management System, Lecture-1Database Management System, Lecture-1
Database Management System, Lecture-1
 
DBMS - Introduction
DBMS - IntroductionDBMS - Introduction
DBMS - Introduction
 
data base manage ment
data base manage mentdata base manage ment
data base manage ment
 

More from Tonmoy zahid Rishad

Database management system -DBMS -All
Database management system -DBMS -AllDatabase management system -DBMS -All
Database management system -DBMS -AllTonmoy zahid Rishad
 
DBMS-Database management system 2018
DBMS-Database management system 2018DBMS-Database management system 2018
DBMS-Database management system 2018Tonmoy zahid Rishad
 
Components of management information systems-chapter 1
Components of management  information systems-chapter 1Components of management  information systems-chapter 1
Components of management information systems-chapter 1Tonmoy zahid Rishad
 
Important roles of the Management information system in business
Important roles of the Management information system  in businessImportant roles of the Management information system  in business
Important roles of the Management information system in businessTonmoy zahid Rishad
 
How can information systems contribute to build a digital bangladesh
How can information systems contribute to build a digital bangladeshHow can information systems contribute to build a digital bangladesh
How can information systems contribute to build a digital bangladeshTonmoy zahid Rishad
 
What is electronic governance or e governance?
What is electronic governance or e governance?What is electronic governance or e governance?
What is electronic governance or e governance?Tonmoy zahid Rishad
 
Management information system of BD NU all Board questions-chapter 1 for BB...
Management information system of BD NU  all Board questions-chapter 1  for BB...Management information system of BD NU  all Board questions-chapter 1  for BB...
Management information system of BD NU all Board questions-chapter 1 for BB...Tonmoy zahid Rishad
 
Information systems in global business today in Management information system...
Information systems in global business today in Management information system...Information systems in global business today in Management information system...
Information systems in global business today in Management information system...Tonmoy zahid Rishad
 
Ethical and social issues in management information systems for BBA hons pro...
Ethical and social issues in management information systems  for BBA hons pro...Ethical and social issues in management information systems  for BBA hons pro...
Ethical and social issues in management information systems for BBA hons pro...Tonmoy zahid Rishad
 
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...Tonmoy zahid Rishad
 
Global e business and collaboration ,Management information system for BBA Ho...
Global e business and collaboration ,Management information system for BBA Ho...Global e business and collaboration ,Management information system for BBA Ho...
Global e business and collaboration ,Management information system for BBA Ho...Tonmoy zahid Rishad
 
Introductions to Project management-chapter 1 for BBA Hons Professional cour...
Introductions to Project  management-chapter 1 for BBA Hons Professional cour...Introductions to Project  management-chapter 1 for BBA Hons Professional cour...
Introductions to Project management-chapter 1 for BBA Hons Professional cour...Tonmoy zahid Rishad
 
Promissory note -Banking and insurance policy
Promissory note -Banking and insurance policyPromissory note -Banking and insurance policy
Promissory note -Banking and insurance policyTonmoy zahid Rishad
 
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...Tonmoy zahid Rishad
 
Partnership business full file by Dhaka commerce college BBA
Partnership business full file by Dhaka commerce college BBAPartnership business full file by Dhaka commerce college BBA
Partnership business full file by Dhaka commerce college BBATonmoy zahid Rishad
 

More from Tonmoy zahid Rishad (16)

Database management system -DBMS -All
Database management system -DBMS -AllDatabase management system -DBMS -All
Database management system -DBMS -All
 
DBMS-Database management system 2018
DBMS-Database management system 2018DBMS-Database management system 2018
DBMS-Database management system 2018
 
Components of management information systems-chapter 1
Components of management  information systems-chapter 1Components of management  information systems-chapter 1
Components of management information systems-chapter 1
 
Important roles of the Management information system in business
Important roles of the Management information system  in businessImportant roles of the Management information system  in business
Important roles of the Management information system in business
 
How can information systems contribute to build a digital bangladesh
How can information systems contribute to build a digital bangladeshHow can information systems contribute to build a digital bangladesh
How can information systems contribute to build a digital bangladesh
 
What is electronic governance or e governance?
What is electronic governance or e governance?What is electronic governance or e governance?
What is electronic governance or e governance?
 
Management information system of BD NU all Board questions-chapter 1 for BB...
Management information system of BD NU  all Board questions-chapter 1  for BB...Management information system of BD NU  all Board questions-chapter 1  for BB...
Management information system of BD NU all Board questions-chapter 1 for BB...
 
Information systems in global business today in Management information system...
Information systems in global business today in Management information system...Information systems in global business today in Management information system...
Information systems in global business today in Management information system...
 
Ethical and social issues in management information systems for BBA hons pro...
Ethical and social issues in management information systems  for BBA hons pro...Ethical and social issues in management information systems  for BBA hons pro...
Ethical and social issues in management information systems for BBA hons pro...
 
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...
INFORMATION SYSTEMS, ORGANIZATIONS, AND STRATEGY for management information s...
 
Global e business and collaboration ,Management information system for BBA Ho...
Global e business and collaboration ,Management information system for BBA Ho...Global e business and collaboration ,Management information system for BBA Ho...
Global e business and collaboration ,Management information system for BBA Ho...
 
Introductions to Project management-chapter 1 for BBA Hons Professional cour...
Introductions to Project  management-chapter 1 for BBA Hons Professional cour...Introductions to Project  management-chapter 1 for BBA Hons Professional cour...
Introductions to Project management-chapter 1 for BBA Hons Professional cour...
 
Promissory note -Banking and insurance policy
Promissory note -Banking and insurance policyPromissory note -Banking and insurance policy
Promissory note -Banking and insurance policy
 
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...
Rural Entrepreneurship development in Bangladesh-Problems and prospects and s...
 
Partnership business full file by Dhaka commerce college BBA
Partnership business full file by Dhaka commerce college BBAPartnership business full file by Dhaka commerce college BBA
Partnership business full file by Dhaka commerce college BBA
 
Joint stock company
Joint stock company Joint stock company
Joint stock company
 

Recently uploaded

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Recently uploaded (20)

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

RDBMS Components and Concepts

  • 3. Relational Database Management System DATABASE Information DBMS/RDBMS DATA
  • 5. File Processing System Database (Information in Files Format) Application Programs (Programs Written in C Pascal etc.) File System (Data Structure File Handling)
  • 7. Disadvantages of FPS Data Redundancy and Inconsistency Difficulty in accessing data Data isolation Integrity Problems Atomicity Problems Concurrent-access anomalies Security Problems
  • 8. Data Redundancy and Inconsistency Customer Information Saving Account Name Address ABC DEF Bhiwani Delhi AccNo Name Address 1002 ABC Bhiwani 1005 DEF Jaipur
  • 9. Difficulty in accessing data Database (Information Storage in Files Format) Application Programs (Programs Written in C Pascal etc.) File System (Data Structure File Handling) Requirement Manager surendersingh@rediffmail.com
  • 10. Data Isolation and Integrity Problems #include <stdio.h> Main() { ----- } 01 Reserve-rec. 03 saving 05 accno PIC A(2) -------- Program in C Program in COBOL New Document surendersingh@rediffmail.com
  • 14. Database the Piece of mind surendersingh@rediffmail.com
  • 15. mail.com • A mechanism for specification of data and its dependencies (Integrity Constraints) in an integrated fashion. • Prevention of redundancy and inconsistency. • Provision of adequate security and access-rights. • Mechanism for concurrency control. • Mechanism for recovery from failure. Additionally any DBMS must provide • Schemes for specification of procession rules or application Programs. • Efficient techniques for storage and retrieval of data from the secondary storage (disk). Requirements of a DBMS surendersingh@rediff
  • 16. A DBMS has two major components, namely  Structure of Database is called Database Schema. Instance, which is a state of the database with the actual data loaded.  A set of software tools/programs which access, update and process the database, called the query and update-mechanism. D B M S surendersingh@rediffmail.com File Manager Secondary Storage
  • 17. Physical Level Logical Level View 1 View 2 View n View Level (External Level) View of DATA surendersingh@rediffmail.com Internal View Conceptual View
  • 18. Data Independence The ability to modify a schema definition in one level without affecting a schema definition in the next higher level is called data independence. Physical data independence Logical data independence Create table emp (empno number(10), -------------- );
  • 19. Data Models A Data Model is a mechanism for describing the data, their interrelationships and the constraints. Object-based Conceptual models. Entity-Relationship model Record-based models. Relational Model Network Model Hierarchical Model Physical data models. surendersingh@rediffmail.com
  • 20. The E-R Model Entities : An entity is a distinct clearly identifiable object of the database e.g Book Attribute : Each Entity is characterized by a set of attributes e.g. Acc.No. Entity Set : Set of all entities having attributes of the same type. Relationships : A relationship is a mapping between entity sets. BOOK USERSBorrowed_By Acc_No Title Card_No NameAcc_No Aut shor urenYe daro efPu rb singCa hrd_N @o reD dOI iffmaAdd ir le .ss com
  • 21. The Relational Model AccNo Title Author YearofPub Tuple Relational Model uses a collection of tables to represent both data and relationship among those data. Each table has multiple Attributes and similar kind of tuples. Attribute Book Table/Relation surendersingh@rediffmail.com
  • 22. Network Model Data in the network model are represented by collection of records and relationships among data are represented by links, which can be viewed as Pointers. User Card_No Name Address Link Pointer Next Acc_No Author ----- Link Book surendersingh@rediffmail.com
  • 23. Hierarchical Model This is special kind of a network model where the relationship is essentially a tree-like structure. Hospital Wards Units Cardiology SkinPatient Doctors Nurses surendersingh@rediffmail.com
  • 24. Physical Data Models surendersingh@rediffmail.com Physical data models are used to describe data at the lowest level. In contrast to logical data models, there are few physical data models In use. Two of the widely known ones are the Unifing model and frame-Memory model.
  • 25. Database Languages Data-Definition Data-Manipulation Data-Control Create Table Test ( Title Varchar2(20), -------- ); Update Insert Delete Query GRANT Connect, Resource TO xUser surendersingh@rediffmail.com Database Languages
  • 26. surendersi redif Database Management System Structure Application Interfaces Database Scheme Application Programs Query Application Programs Object Code Embedded DML Precompiler Query Evaluation Engine DML Compiler DDL Interpreter Transaction Manager Buffer Manager File Manager Indices Data Files Statistical Data ngh@Data Dictionary fmail.com Naïve Users (tellers, agents, etc.) Application Programmers Sophisticated Users Database Administrators Users Query Processor Storage Manager Database Management System Disk Storage
  • 29. Database Administrator surendersingh@rediffmail.com Roles of DBA • Schema Definition • Storage structure and access-method definition • Schema and Physical-organization modification • Granting of authorization for data access • Integrity-constraint specification
  • 30. Terms Simple and Composite Attributes Single-valued and Multivalued Attributes Null Attributes Derived Attributes Existence Dependencies Weak Entity Set and Strong Entity Set surendersingh@rediffmail.com
  • 33. Keys Foreign Key Keys Candidate Key Secondary Key Primary Key Alternate Key Composite Key surendersingh@rediffmail.com
  • 34. Roll_No Name Branch City 01 Deepak Computers Bhiwani 02 Mukesh Electronics Rohtak 03 Teena Mechanical Bhiwani 04 Deepti Chemical Rohtak 05 Monika Civil Delhi Candidate Keys Primary key Alternate Keys surendersingh@rediffmail.com
  • 35. Roll_No Name Branch City 01 Deepak Computers Bhiwani 02 Mukesh Electronics Rohtak 03 Teena Computers Bhiwani 04 Deepak Electronics Rohtak 05 Monika Computers Delhi Primary Key Secondary Key surendersingh@rediffmail.com
  • 36. Name Branch City Deepak Computers Bhiwani Mukesh Electronics Rohtak Teena Computers Bhiwani Deepak Electronics Rohtak Monika Computers Delhi Composite Primary Key surendersingh@rediffmail.com
  • 37. Part P_Name Colour Quantity P1 Nut Red 200 P2 Bolt Green 250 P3 Screw Blue 300 surendersingh@rediffmail.com P#
  • 38. Supplier S_Name City Quantity S1 John Delhi 200 S2 Smith Kolkata 250 S3 James Delhi 300 S4 David Chennai 400 S5 John Chennai 300 surendersingh@rediffmail.com S#
  • 39. P# S# Quantity P1 S1 200 P2 S1 300 P3 S1 400 P1 S2 250 P2 S3 250 P3 S4 200 P2 S4 300 P3 S5 400 surendersingh@rediffmail.com SP#
  • 40. Mapping Cardinalities Mapping cardinalities, or cardinality ratios, express the number of entities to which another entity can be associated via a relationship set. For a binary relationship set R between entity sets A and B, the mapping Cardinality must be one of the following A AB B One to One One to Many surendersingh@rediffmail.com
  • 41. AA BB surenMadny eto Ornse ingh@rediffmManay toilM.acnyom
  • 42. Company Vehicle Owns Leased More on E-R Diagrams Multiple Relationship between Same entity set Reports to surendersingh@rediffmail.com Manager Staff Subordinate Circular Relationship
  • 43. Instructors Students Courses Teaches Ternary E-R Diagram Book UserBorrowed_By N surendersingh@rediffmail.com 1 Constraints
  • 44. E-R Diagram Components Entity Sets Attributes Relationship Sets Connectors/Constraints Multivalued Attributes Derived Attributes Total Participation of an entity in a relationship set surendersingh@rediffmail.com
  • 47. surende rsingh@rediffmail.com Generalization and Specialization The abstraction mechanisms Employee Emp_No Name Date_of_hire IS_A IS_A Full_time Employee Salary IS_AIS_A Faculty Staff Interest Part_time Employee Type IS_A IS_A Teaching Casual Stipend Hour_RateDegree Generalization Specialization
  • 48. gh@rsurendersin ediffmail.com Aggregation The Process of compiling information on an object Teacher Teaches Course Book Uses Teacher Teaches Course Uses Book Teacher-Teaches
  • 49. Represent ER model using tables surendersingh@rediffmail.com
  • 50. Query Languages surendersingh@rediffmail.com A query language is a language in which a user requests information from a database. These are typically higher-level than programming languages. They may be one of: Procedural, where the user instructs the system to perform a sequence of operations on the database. This will compute the desired information. Nonprocedural, where the user species the information desired without giving a procedure for ob-taining the information. A complete query language also contains facilities to insert and delete tuples as well as to modify parts of existing tuples.
  • 51. The Relational Algebra surendersingh@rediffmail.com The Borrow and Branch relations The relational algebra is a procedural query language.
  • 52. Fundamental Operations surendersingh@rediffmail.com select (unary) project (unary) rename (unary) cartesian product (binary) union (binary) set-difference (binary) Several other operations, dened in terms of the fundamental operations: set-intersection natural join division assignment Operations produce a new relation as a result.
  • 53. Formal Definition of Relational Algebra surendersingh@rediffmail.com
  • 57. Output of Cartesian Product A 1 2 3 B X Y A B 1 X 1 Y 2 X 2 Y 3 X 3 Y surendersingh@rediffmail.com Relation A Relation B A X B
  • 60. The Set Difference Operation surendersingh@rediffmail.com
  • 61. Additional Operations The Set Intersection Operation surendersingh@rediffmail.com
  • 62. The Natural Join Operation surendersingh@rediffmail.com
  • 64. Example of Division Operation A B P A Q A P B Q T M A Q B s u B A B A P Q Relation R rendersingh@rediffmail.com Relation S R S
  • 66. Relational Calculus surendersingh@rediffmail.com Relational Calculus is a nonprocedural Query language  Tuple Relational Calculus Uses Tuple variables which take values of an entire tuple  Domain Relational Calculus Uses Domain variables which takes values from an attribute
  • 72. Integrity Constraints surendersingh@rediffmail.com Integrity and Consistency is of primary concern to any database design At any instance a database must be correct according to a set of rules. Rules are checked during any database operation. Insertion Deletion Updation Recovery from Failure Concurrent Operations Types of Constraints Domain Constraints Referential Integrity Constraint Functional Dependencies
  • 73. Domain Constraints surendersingh@rediffmail.com Includes Type Width Null or Not Null Checks/Conditions Specify at the time of designing Checked at the time of insertion, deletion or modification e.g Bname char(20) Amount number(7,2) DOL date check (date>=29/09/2004 City char(10) not null TotalAmt = amount + interest
  • 74. Referential Integrity surendersingh@rediffmail.com Foreign Key Referential integrity states that all values of the foreign key of one Relation must be present in another relation where the same attribute Is declared as the primary key Checks during Database Modification Insert Delete Update
  • 75. Assertions and Triggers surendersingh@rediffmail.com An assertion is a general predicate, expressed in relational algebra Or calculus or any language like SQL which must always hold in a Database Assert salary-constraint on emp salary >= 1000 A trigger is a statement or a block of statements which are executed Automatically by the system when an event (i.e., insertion, updation Or deletion) takes place on a table Define trigger insert_record on delete of emp e (insert into emp_history values e.empno, e.name, e.deptno)
  • 76. Functional Dependencies Functional Dependencies provide a formal mechanism to express Constraints between attributes. It is a mean of identifying how values of certain attributes are Determined by values of other attributes. A functional dependency (FD) generalizes the concept of a key. Book (acc_no, yr_pub, title) Acc_no is Primary Key Formal representation of Constraints acc_no acc_no yr_pub title surendersingh@rediffmail.com
  • 77. Formal Notation of FD In general if there are two attributes A and B and the FD A B Holds then, it means that there can be no two tuple which have The same value of attributes A and different values in attribute B. If  and  are two sets of attributes then the FD   holds on a Relation r(R), if –   ,   R, i.e.  ,  subset of R 2. for all tuples t1 and t2 in r, if t1 [ ] = t2 [ ] then t1 [ ] = t2 [ ] surendersingh@rediffmail.com
  • 78. Closure of a Set of Functional Dependencies surendersingh@rediffmail.com
  • 80. Closure of a Set of F+ surendersingh@rediffmail.com
  • 81. Closure of Attribute Sets surendersingh@rediffmail.com
  • 82. Canonical Cover surendersingh@rediffmail.com To minimize the number of functional dependencies that need to be Tested in case of an update we may restrict F to a canonical cover Fc. A canonical cover for F is a set of dependencies such that F logically Implies all dependencies in Fc. A canonical cover Fc of a set of FDs F is a minimal cover of F in the Sense that there is no subset of Fc which also covers F.
  • 83. Example of Cannonical Cover Consider a relation r ( X, Y, Z ) with the FDs F. 1. X 2. Y 3. X 4. XY Y Z Z Y Z Here 4 is redundant because (1) states that X Y and X Z holds. Thus (4) can be derived from (1). Also (3) is redundant because (1) contains (3). Deleting these two we get 1. X YZ 2. Y Z Which is a cover of F. Here again since X Y and Y Z holds, by Transitivity X Z holds. So it is redundant. Deleting this we get the FDs as X Y Y Z Which is a cannonical cover of F. surendersingh@rediffmail.com
  • 85. Database Decomposition – 1 Representation of Information surendersingh@rediffmail.com
  • 86. Database Decomposition – 2 surendersingh@rediffmail.com
  • 87. Database Decomposition – 3 surendersingh@rediffmail.com
  • 88. Database Decomposition – 4 surendersingh@rediffmail.com
  • 90. s_name s_addr Item Price A1 B1 C1 D1 A1 B1 C2 D1 A2 B2 C1 D2 A2 B2 C3 D3 A3 B1 C2 D2 surenderA3 singB1 h@C2 redD i1 ffmail.com S_name Item A1 C1 A1 C2 A2 C1 A2 C3 A3 C2 S_name S_addr Item Price A1 B1 C1 D1 A1 B2 C1 D2 A1 B1 C2 D1 A1 B1 C2 D2 A2 B1 C1 D1 A2 B2 C1 D2 A2 B2 C3 D3 A3 B1 C2 D1 S_addr Item price B1 C1 D1 B1 C2 D1 B2 C1 D2 B2 C3 D3 B1 C2 D2 Example of lossy decomposition S_by p1 p2 Natural Join of P1 and p2
  • 92. Normalization surendersingh@rediffmail.com Normalization is a process of removing redundancy using functional Dependencies. To reduce redundancy it is necessary to decompose a relation into a number of smaller relations. There are several normal Forms. -First Normal Form (1 NF) -Second Normal Form (2 NF) -Third Normal Form(3 NF) -Boyce-Codd Normal Form (BCNF)
  • 93. First Normal Form (1NF) Name F_name L_name This normal form says that all attributes are simple. An attribute is said to be simple if it does not contain any subparts. An attributes which contains subparts is called complex attributes. C_addr City State Zip surendersingh@rediffmail.com
  • 94. Second Normal Form (2NF) Consider a relation savings_deposit having the following structure:- Saving_deposit (name, addr, acc_no, amt ) With the following FDs : name name, acc_no addr amt A relation is said to be in 2NF if it is in 1NF and All non-prime attributes are fully functionally dependent on candidate key Here [name, acc_no ] is the candidate key and addr and amt are the non prime attributes. Among the non-prime attributes amt depends on [name, acc_no ] whereas addr depends on name only. Note that due to FD name addr every tuple with the same name will contain the same Address causing redundancy. This redundancy arises because a non-prime attribute like address is dependent on an attribute surendersingh@rediffmail.com Which is not a candidate key.
  • 95. Solution We can remove this redundancy by splitting the original relation into following two relations Sav_sch1 (name, addr) Sav_sch2(name, acc_no,amt) Both the relations are now 2NF. In the first relation name is Primary Key and the onlyNon-prime attribute is addr which is dependent on name In the second relation the only non-prime attribute amt depend on both name and Acc_no. that this decomposition is also lossless join and dependency preserving Courses ( Course_no, title, loc, time ) And FD’s are – Course_no Course_no, time title loc surendersingh@rediffmail.com
  • 96. Third Normal Form (3NF) A relation is said to be in 3NF and non-prime attributes are not dependent On each other. Consider the relation – s_by ( s_name, item, price, gift_item ) With FDs s_name, item price price gift_item Here all prime attributes are fully functional dependent on candidate keys, the Non-prime attribute gift-item is also fully functional dependent on the non-prime Attribute price. This create redundancy because every price value there is a fixed Gift item. We shall have to impose the additional restriction that no non-prime attribute can Be functionally dependent on another non-prime attributes. surendersingh@rediffmail.com
  • 97. Solution We decompose the relation s_by (s_name, item, price, gift_item ) Into s_by_1 (s_name, item, price ) s_by_2 (price, gift_item) Now we have a lossless join and dependency preserving decomposition. An alternative yet equivalent definition for 3NF is : For every FD   on R at least one of the following conditions hold – •    (trivial dependency) •  R ( is a super key ) surendersingh@rediffmail.com
  • 100. Comparison of BCNF and 3NF surendersingh@rediffmail.com
  • 106. Fourth Normal Form (4NF) surendersingh@rediffmail.com
  • 108. Normalization using Join Dependencies surendersingh@rediffmail.com Let R be a relation schema and R1, R2,….Rn be a decomposition of R. The join dependency *(R1, R2,….Rn) is used to restrict the set of legal relations to those for which R1, R2,….Rn is A lossless-join decomposition of R. Formally, if R = R1 R2  ……  Rn, we say that a relation r( R ) satisfies the join dependency.
  • 109. Fifth Normal Form (5NF) Project-Join Normal Form surendersingh@rediffmail.com Project-join normal form (PJNF) is defined in a manner similar to BCNF and 4NF, Except that join dependencies are used. A relation schema R is in PJNF with respect to a set D of functional multivalued and Join dependencies if, for all join depencdencies in D+ of the form *(R1, R2,…. Rn). Where each Ri  R and R = R1  R2 ……  Rn, at least one of the following holds: • *(R1, R2…..Rn) is a trival join dependency. • Every Ri is a superkey for R. It’s seems that every PJNF is also in 4NF Thus, in general, we may not be able to find a dependency-preserving decomposition Into PJNF for a given schema.
  • 110. Storage and File Structure Hierarchy of Storage surendersingh@rediffmail.com
  • 114. Fixed Length Record -1 surendersingh@rediffmail.com
  • 115. Fixed Length Record -2 surendersingh@rediffmail.com
  • 118. Organization of Records in files surendersingh@rediffmail.com
  • 120. Transactions surendersingh@rediffmail.com  Concurrent execution of user programs is essential for good DBMS performance.    Because disk accesses are frequent, and relatively slow, it is important to keep the cpu humming by working on several user programs concurrently. A user’s program may carry out many operations on the data retrieved from the database, but the DBMS is only concerned about what data is read/written from/to the database. A transaction is the DBMS’s abstract view of a user program: a sequence of reads and writes. A Tracnsaction is a unit of program execution That accesses and possibly updates various Data items. Collection of operations that form a single logical unit of work are called tracsactions. A database system must ensure proper execution of transaction despite failures. To ensure integrity of the data, database system must maintain the following properties of the transactions:
  • 122. Concurrency in a DBMS surendersingh@rediffmail.com  Users submit transactions, and can think of each transaction as executing by itself.   Concurrency is achieved by the DBMS, which interleaves actions (reads/writes of DB objects) of various transactions. Each transaction must leave the database in a consistent state if the DB is consistent when the transaction begins.    DBMS will enforce some ICs, depending on the ICs declared in CREATE TABLE statements. Beyond this, the DBMS does not really understand the semantics of the data. (e.g., it does not understand how the interest on a bank account is computed). Issues: Effect of interleaving transactions, and crashes.
  • 123. Example surendersingh@rediffmail.com  Consider two transactions (Xacts): T1: BEGIN A=A+100, B=B-100 END T2: BEGIN A=1.06*A, B=1.06*B END ❖ ❖ Intuitively, the first transaction is transferring $100 from B’s account to A’s account. The second is crediting both accounts with a 6% interest payment. There is no guarantee that T1 will execute before T2 or vice-versa, if both are submitted together. However, the net effect must be equivalent to these two transactions running serially in some order.
  • 124. Example (Contd.) Consider a possible interleaving (schedule): T1: A=A+100, B=B-100 T2: A=1.06*A, B=1.06*B B=B-100 ❖ This is OK. But what about: T1: A=A+100, T2: A=1.06*A, B=1.06*B ❖ The DBMS’s view of the second schedule: T1: R(A), W(A), R(B), W(B) T2: R(A), W(A), R(B), W(B) surendersingh@rediffmail.com
  • 125. Example (Contd.)  The DBMS must not allow schedules like this! R(B), W(B)T1: R(A), W(A), T2: R(A), W(A), R(B), W(B) A surendersingh@rediffmail.com ❖ ❖ T1 T2 Dependency graph B Dependency graph: One node per Xact; edge from Ti to Tj if Tj reads or writes an object last written by Ti. The cycle in the graph reveals the problem. The output of T1 depends on T2, and vice-versa.
  • 126. Scheduling Transactions surendersingh@rediffmail.com   Equivalent schedules: For any database state, the effect (on the set of objects in the database) of executing the first schedule is identical to the effect of executing the second schedule. Serializable schedule: A schedule that is equivalent to some serial execution of the transactions.   If the dependency graph of a schedule is acyclic, the schedule is called conflict serializable. Such a schedule is equivalent to a serial schedule. This is the condition that is typically enforced in a DBMS (although it is not necessary for serializability).
  • 127. Detection of Serializability surendersingh@rediffmail.com One of the techniques of concurrency control is to detect whether a schedule is valid or not Prior to execution. The task of understanding a schedule is simplified by considering only the sequence of read and write operation in a transaction T1 T2 Read(X) Read(X) Write(X) Write(X) Read(Y) Write(Y) Read(Y) Write(Y) Read-Write sequence of a non-serializable schedule
  • 128. surendersingh@ rediffmail.com Serializable Concurrency T1 T2 Read(X) Write(X) Read(X) Write(X) Read(Y) Write(Y) Read(Y) Write(Y) A serializable concurrent schedule Generalize the idea of conflict. Consider the four possibilities which can arise between two Consecutive instructions T1 and T2 in a schedule ( T1 and T2 belong to two different transactions) 1. T1 : Read(X) followed by T2 : Write(X) 2. T1 : Read(X) followed by T2 : Read(X) 3. T1 : Write(X) followed by T2 : Read(X) 4. T1 : Write(X) followed by T2 : Write(X) T1 and T2 are said to be conflict if they cannot be swapped without fear of loss of consistency. In above 3 cases all pairs except case 2 are said to be in confli ct.
  • 129. Deadlock Condition surendersingh@rediffmail.com T1 UPDATE account SET balance = balance * 0.1 WHERE acc_no = ‘FC821’ UPDATE account SET age = 30 WHERE acc_no = ‘FC523’ T2 UPDATE account SET balance = balance * 0.1 WHERE acc_no = ‘FC523’ UPDATE account SET age = 38 WHERE acc_no = ‘FC821’
  • 130. Lock-Based Techniques surendersingh@rediffmail.com In this technique the system does not participate in detection of inconsistency nor does it take any Corrective action. The DBMS however, provides the user with a set of operations which when used properly can ensure that concurrent execution will not violate consistency. In this techniques functions are provided to lock and unlock data items by transactions, In the simplest case a data item X can be locked by a transaction T1 in two modes : Shared Mode : if T1 locks X in shared mode then before T1 unlocks X, no other transaction T2 can write into X. But a transaction T2 can read the value of X even if T1 has locked locked X in shared mode. Exclusive Mode : If T1 locks X in exclusive mode then before T1 unlocks X, no other transaction T2 can read or write into X.
  • 132. Two-Phase locking surendersingh@rediffmail.com Phase I – Acquiring Phase : During this phase a transaction may lock a data item but not unlock any data item. Phase II – Releasing Phase : During this phase a transaction may unlock data items locked earlier but no new locks may be acquired. In two phase locking phase I must always precede phase II. This will ensure that all schedule are automatically conflict serialzable.
  • 133. Enforcing (Conflict) Serializability surendersingh@rediffmail.com  Two-phase Locking (2PL) Protocol:    Each Xact must obtain a S (shared) lock on object before reading, and an X (exclusive) lock on object before writing. Once an Xact releases any lock, it cannot obtain new locks. If an Xact holds an X lock on an object, no other Xact can get a lock (S or X) on that object.   2PL allows only conflict-serializable schedules. Potential problem of deadlocks: we could have a cycle of Xacts, T1, T2, ... , Tn, with each Ti waiting for its predecessor to release some lock that it needs.  Dealt with by killing one of them and releasing its locks.
  • 134. Atomicity of Transactions surendersingh@rediffmail.com   A transaction might commit after completing all its actions, or it could abort (or be aborted by the DBMS) after executing some actions. A very important property guaranteed by the DBMS for all transactions is that they are atomic. That is, a user can think of a Xact as always executing all its actions in one step, or not executing any actions at all.  DBMS logs all actions so that it can undo the actions of aborted transactions.  This ensures that if each Xact preserves consistency, every serializable schedule preserves consistency.
  • 135. Aborting a Transaction surendersingh@rediffmail.com   If a transaction Ti is aborted, all its actions have to be undone. Not only that, if Tj reads an object last written by Ti, Tj must be aborted as well! Most systems avoid such cascading aborts by releasing a transaction’s locks only at commit time.  If Ti writes an object, Tj can read this only after Ti commits.  In order to undo the actions of an aborted transaction, the DBMS maintains a log in which every write is recorded. This mechanism is also used to recover from system crashes: all active Xacts at the time of the crash are aborted when the system comes back up.
  • 136. The Log surendersingh@rediffmail.com  The following actions are recorded in the log:  Ti writes an object: the old value and the new value.  Log record must go to disk before the changed page!  Ti commits/aborts: a log record indicating this action.    Log records are chained together by Xact id, so it’s easy to undo a specific Xact. Log is often duplexed and archived on stable storage. All log related activities (and in fact, all activities such as lock/unlock, dealing with deadlocks etc.) are handled transparently by the DBMS.
  • 137. The Log - 2 surendersingh@rediffmail.com T: Read (X, xi) xi  xi – 500 Write (X,xi) Read ( Y, yi) yi  yi + 500 Write (Y, yi) <T starts> <T, X, 1000, 500> <T, Y, 2000, 2500> <T, commits> Log file e.g. X=1000, Y= 2000 Transaction Name Data item Name Old Value New Value
  • 138. Checkpoints surendersingh@rediffmail.com At the time of recovery the entire log needs to be searched to know which transaction need to Be redone and which transactions needs to be undone. The problem with this approach is: 1. It will take a reasonable amount of time. 2. Most of the transactions that need to be redone have already modified the database. To solve this problem the concept of checkpoint is used here at different points. Checkpoints are introduced to indicate that the data before this point has already been Updated to the database. Before writing checkpoints the following sequence of actions shuld to take place – - Output all log records currently residing in the main store to a stable storage - Output all modified buffer blocks to secondary storage. - Output a log record <checkpoint>
  • 139. Recovering From a Crash surendersingh@rediffmail.com  There are 3 phases in the Aries recovery algorithm:    Analysis: Scan the log forward (from the most recent checkpoint) to identify all Xacts that were active, and all dirty pages in the buffer pool at the time of the crash. Redo: Redoes all updates to dirty pages in the buffer pool, as needed, to ensure that all logged updates are in fact carried out and written to disk. Undo: The writes of all Xacts that were active at the crash are undone (by restoring the before value of the update, which is in the log record for the update), working backwards in the log. (Some care must be taken to handle the case of a crash occurring during the recovery process!) Data can be lost due to the failure of the nonvolatile storage like the disk. The scheme which is available To protect the data from disk failure is to periodically dump the entire contents of the database to any backup (or even stable) storage like a magnetic tape. When a failure occurs the most recent dump is used to restoring The datbase to a previous consistent state. Then the log is used to redo all the transactions that have committed Since the last dump occurred. The following steps are performed for this purpose : • Output all log records currently residing in the main memory onto stable store. • Output all buffer blocks onto the disk. • Copy the contents of the database to stable store. • Output a log record <dump>.
  • 140. Summary surendersingh@rediffmail.com   Concurrency control and recovery are among the most important functions provided by a DBMS. Users need not worry about concurrency.    System automatically inserts lock/unlock requests and schedules actions of different Xacts in such a way as to ensure that the resulting execution is equivalent to executing the Xacts one after the other in some order. Write-ahead logging (WAL) is used to undo the actions of aborted transactions and to restore the system to a consistent state after a crash. Consistent state: Only the effects of commited Xacts seen.
  • 142. Optimization using algebraic Manipulation Any algebraic manipulation approach to query optimization uses a set of rules, which may Be enumerated as follows. surendersingh@rediffmail.com Perform selection as early as possible, in order to reduce the number of tuples to be processed subsequently. Projections of projections should be combined, if possible, in order to avoid repeated scanning of tuples. Projection over indexed attributes should be done earlier and That over non-indexed attributes should be done later. Intermediate relations produced in separate processing sequences must be shared as as and when possible. If possible, attributes which are controlling a join operation should be sorted earlier. Rules
  • 147. Natural Join Operation - 2 surendersingh@rediffmail.com