DBMS Lecture 5
DBMS Lecture 5
[CSC260]
BSc CSIT Sem: IV
Er. Sital Prasad
Alyssa Mandal
Pittman
Mechi Campus
Bhadrapur, Jhapa, Nepal
https://dbms-ctal.blogspot.com
What are you goingto learn?
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Query Languages
A query language is a language in which a user requests information from a database.
These are typically higher-level than programming languages.
A complete query language also contains facilities to insert and delete tuples as well as
to modify parts of existing tuples.
Formal languages
relational algebra (procedural)
relational calculus (non-procedural)
o tuple relational calculus
o domain relational calculus
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Relational Algebra
Relational algebra refers to a procedural query language that takes relation
instances as input and returns relation instances as output.
It performs queries with the help of operators. A binary or unary operator can
be used.
• In mathematics, a unary operation is an operation with only one operand, i.e.
a single input. An example is the function f : A → A, where A is a set. The
function f is a unary operation on A.
• binary operations, which use two operands. A calculation that combines two
elements (called operands) to produce another element.
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
1. UNION
2. INTERSECTION
3. MINUS
4. CARTESIAN PRODUCT operations
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
1. Generalized projection,
2. aggregate functions,
3. NULL
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
The relational algebra is a procedural query language.
Six fundamental operations:
1. select (unary) (σ) Sigma
2. project (unary) ∏ pi
3. rename (unary) rho (ρ)
4. cartesian product (binary) X
5. union (binary) ∪
6. set-difference (binary) -
Several other operations, defined in terms of the fundamental
operations:
1. set-intersection ∩
2. natural join ⋈
3. Outer join
i. Left outer join (⟕)
ii. Right outer join (⟖)
iii. Full outer join (⟗)
Operations produce a new relation as a result.
https://dbms-ctal.blogspot.com
Selection (σ)
<, >, ≤ , ≥, = , ≠
AND: ∧
OR: ∧
NOT: ¬
R1 : = σc(R2) sigma
σ : predicate
R : relation name of table
selects tuples
c : condition
Selection (σ)
ρ (a/b)R
rename the attribute ‘b’ of relation by ‘a’.
The Relational Algebra and Relational Calculus Unit 5
1. UNION
2. INTERSECTION
3. MINUS
4. CARTESIAN PRODUCT operations
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
Natural join (⋈)
2. Natural Join
Natural join does not supports any condition such as
theta join and works only if, one attribute or more than
one attributes are common between the
joining/participating relations.
Syntax : R1(X1, X2,X3…Xn) ⋈ R2(Y1, Y2,Y3…Yn)
where, R1 and R2 are relations having (X1, X2,X3…Xn) and (Y1, Y2,Y3…Yn) as attributes
respectively.
For example : Consider the tables Student_Details and Student_Result. Now, if we
want to implement natural join on these relations, the result will look like:
Natural join (⋈)
Database Joins : The Outer Joins
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
1. Generalized projection,
2. aggregate functions,
3. NULL
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Generalized Projection
• It extends the projection operation by allowing
arithmetic functions to be used in the projection list.
• It allows us to write arithmetic operations containing
attribute names and constrants in Projection list.
Denoted by
П F1, F2, . . ., Fn(E)
Where,
E – relational-algebra expression
F1, F2, . . ., Fn – arithmetic expressions involving
constants and attributes in the schema of E
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Generalized Projection
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Aggregate Functions
In some case, we would like to apply aggregate function
not only to the single set of tuples but to several groups,
where each group is set of tuples. It can be done by
using an operation called Grouping.
Aggregate Functions
It take collection of values and return a single value as a
result.
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
NULL Values
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
Relational Calculus
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com
The Relational Algebra and Relational Calculus Unit 5
https://dbms-ctal.blogspot.com