4. •Two formal language for the relational model
(a)Relational Algebra
(b)Relational calculus
prepared by Visakh V,Assistant Professor,
LBSITW
5. • Basic set of operation for the relational model.
• These operation enable a user to specify basic
retrieval requests.
• The result of a retrieval is a new relation, which
can be further manipulated using operations of
same algebra.
prepared by Visakh V,Assistant Professor,
LBSITW
6. •it is important for several reasons:
provides formal foundation
for relational model
used as basis for
implementing and optimizing
queries in RDMS
Some of its concepts are
incorporated into SQL Standard
query language for RDMS
prepared by Visakh V,Assistant Professor,
LBSITW
7. No commercial RDBMS in use today
provides an interface for the relational
queries.
•Relational algebra operations can be divided into
UNION
INTERSECTION
SET DIFFERENCE
CARTESIAN PRODUCT
SELECT
PROJECT
JOIN etc.
prepared by Visakh V,Assistant Professor,
LBSITW
11. Syntax :
s <selection condition> (R)
<selection condition> is made up of number of clauses of the form
<attribute name > <comparison op> <attribute name>
OR
<attribute name > <comparison op> <constant value>
{ =,<,>,<=,>=,!= }
It select certain rows
prepared by Visakh V,Assistant Professor,
LBSITW
13. Ex : s(DNO=5 ) (EMPLOYEE)
Ex : s(SALARY>25000) (EMPLOYEE)
Lets try. . .
prepared by Visakh V,Assistant Professor,
LBSITW
14. Clauses can be connected by the
Boolean operators and, or ,not to from a
general selection condition.
s(DNO=4 AND SALARY>25000) OR (DNO=5 AND SALARY>30000) (EMPLOYEE)
prepared by Visakh V,Assistant Professor,
LBSITW
15. SELECT operation is commutative :
s <cond1> ( s <cond2> (R)) = s <cond2> ( s <cond1> (R))
Cascade of SELECT operation:
s<cond1> ( s <cond2> (… ( s <condn> (R)). . . ))
=
( s <cond1> AND <cond2> AND . . . AND <condn> (R)
prepared by Visakh V,Assistant Professor,
LBSITW
17. Syntax :
p <attribute list > (R)
It select certain columns
Duplicate elimination : it removes any duplicate
tuples , and we get a valid relation .
prepared by Visakh V,Assistant Professor,
LBSITW
22. We can write the operations as a single algebra
expression by nesting the operation
or
we can apply one operation at a time and create
intermediate result relations.
pFNAME, LNAME, SALARY(sDNO=5(EMPLOYEE))
Can replace with
DEPCS2 sDNO=5(EMPLOYEE)
RESULT pFNAME, LNAME, SALARY (DEPCS2)
prepared by Visakh V,Assistant Professor,
LBSITW
23. Renaming of attribute
TEMP sDNO=5(EMPLOYEE)
R(FIRSTNAME,LASTNAME,SALARY) pFNAME, LNAME, SALARY (TEMP)
prepared by Visakh V,Assistant Professor,
LBSITW
24. A formal RENAME r(rho) operations:
• rename either relation name, attribute name or both
r (B1,B2,…Bn) (R)
r s (R)
r s(B1,B2,…Bn) (R)
S: new table name;
Bn: new attribute name
prepared by Visakh V,Assistant Professor,
LBSITW
27. : R S
: Include all tuples
:Duplicates are eliminated
: R S
: include all tuples that are in both R & S
: R - S
: include all tuples that are in R but not in S
prepared by Visakh V,Assistant Professor,
LBSITW
32. Q. Retrieve the social security Number of
all employees who either work in
department 5 or directly supervise an
employee who works department 5.
prepared by Visakh V,Assistant Professor,
LBSITW
34. •UNION and INTERSECTION are
commutative but SET
DIFFERENCE is not.
R S =R S – (R-S )-(S-R)
prepared by Visakh V,Assistant Professor,
LBSITW
35. • Also known as CROSS PRODUCT or CROSS JOIN
• Denoted by X
• syntax :
• tab1 X tab2
• also binary set operations.
• if A has m tuples and B has n tuples then A X B has m * n
tuples .
• Cartesian product followed by SELECT is used to identify
and select related tuples from two relation.
prepared by Visakh V,Assistant Professor,
LBSITW
37. EMP_ID DESIGNATION SALARY
101 PROFESSOR 1,25000
102 ASSOCIATE PROF 90000
103 ASSISTANT PROF 40000
E_ID F_NAME M_NA
ME
L_NAME AGE
102 SURESH KUMAR S 43
103 SUMI M MOL 23
101 SHREELEKSHMI R S 40
TAB1
FIND salary ,name AND designation OF EACH EMPLOYEE?????
prepared by Visakh V,Assistant Professor,
LBSITW
38. DESIGNATIO
N
SALARY EMP_I
D
E_ID F_NAME M_NAME L_NAM
E
AGE
PROFESSOR 1,25000 101 102 SURESH KUMAR S 43
PROFESSOR 1,25000 101 103 SUMI M MOL 23
PROFESSOR 1.25000 101 101 SHREELEKSHMI R S 40
ASSOCIATE
PROF
90000 102 102 SURESH KUMAR S 43
ASSOCIATE
PROF
90000 102 103 SUMI M MOL 23
ASSOCIATE
PROF
90000 102 101 SHREELEKSHMI R S 40
ASSISTANT
PROF
40000 103 102 SURESH KUMAR S 43
ASSISTANT
PROF
40000 103 103 SUMI M MOL 23
ASSISTANT
PROF
40000 103 101 SHREELEKSHMI R S 40prepared by Visakh V,Assistant Professor,
LBSITW
39. DESIGNATI
ON
SALARY EMP_ID E_ID F_NAME M_NAME L_NAME AGE
PROFESSO
R
1.25000 101 101 SHREELEK
SHMI
R S 40
ASSOCIATE
PROF
90000 102 102 ANIL S GANESH 28
ASSISTANT
PROF
40000 103 103 SUMI M MOL 23
SALARY F_NAME M_NAME L_NAME DESIGNATION
1.25000 RAMESH R VINOD PROFESSOR
90000 ANIL S GANESH ASSOCIATE PROF
40000 SUNIL A NARAYAN ASSISTANT PROFprepared by Visakh V,Assistant Professor,
LBSITW
40. Write relational algebra expression
Retrieve a list of names of each
employee’s dependents.
prepared by Visakh V,Assistant Professor,
LBSITW
42. • Combine related tuples from two relation into single
tuples.
• denoted by
• R <JOIN CONDITION> S .
• Consider example
RESULT EMPLOYEE X DEPENDENT
FINAL sSSN= ESSN (RESULT)
The above can be replaced with
FINAL EMPLOYEE SSN=ESSN DEPENDENT .prepared by Visakh V,Assistant Professor,
LBSITW
43. Retrieve the name of manager of
each department
prepared by Visakh V,Assistant Professor,
LBSITW
45. • A general join condition is of the form
<condition>AND<condition>AND. . . AND <condition>
Each condition of the form
Ai Bi
ᶱ
Comparison operator {=,!=,<,>,<=,>=}
•A JOIN operation with such a
general join condition is
called a THETA JOIN
prepared by Visakh V,Assistant Professor,
LBSITW
47. • The JOIN where the only comparison operator
used is ‘ = ‘
• It requires that two JOIN attributes have the same
name in both relation .
• if this is not the case then renaming operation done
first.
• This is basically an EQUIJOIN followed by removal of
unnecessary attributes
•Ex: DEPT_LOCS DEPARTMENT * DEPT_LOCATIONS.
prepared by Visakh V,Assistant Professor,
LBSITW
49. •A JOIN operation used to combine
data from multiple relations so that
related information can be presented
in a single table. This operations are
also known as inner joins.
prepared by Visakh V,Assistant Professor,
LBSITW
50. • Used when we want to keep all the tuples in R
• three main variation are
• LEFT OUTER JOIN
• RIGHT OUTER JOIN
• FULL OUTER JOIN
prepared by Visakh V,Assistant Professor,
LBSITW
51. • Relation instructor1
• Relation teaches1
ID course_id
10101
12121
76766
CS-101
APL-101
BIO-101
Comp. Sci.
Applied
PED
ID dept_name
10101
12121
15151
name
Sreejith
Suresh
Sreeja
prepared by Visakh V,Assistant Professor,
LBSITW
52. • Join
instructor teaches
ID dept_name
10101
12121
Comp. Sci.
Applied
course_id
CS-101
APL-201
name
Sreejith
Suresh
prepared by Visakh V,Assistant Professor,
LBSITW
53. Left Outer Join
instructor teaches
ID dept_name
10101
12121
15151
Comp. Sci.
Applied
PED
course_id
CS-101
APL-201
null
name
Sreejith
Suresh
Sreeja
ID course_id
10101
12121
76766
CS-101
APL-101
BIO-101
Comp. Sci.
Applied
PED
ID dept_name
10101
12121
15151
name
Sreejith
Suresh
Sreeja
prepared by Visakh V,Assistant Professor,
LBSITW
54. Right Outer Join
instructor teaches
ID dept_name
10101
12121
76766
Comp. Sci.
Applied
null
course_id
CS-101
APL-201
BIO-101
name
Sreejith
Suresh
null
ID course_id
10101
12121
76766
CS-101
APL-101
BIO-101
Comp. Sci.
Applied
PED
ID dept_name
10101
12121
15151
name
Sreejith
Suresh
Sreeja
prepared by Visakh V,Assistant Professor,
LBSITW
55. Full Outer Join
instructor teaches
ID dept_name
10101
12121
15151
76766
Comp. Sci.
Applied
PED
null
course_id
CS-101
APL-201
null
BIO-101
name
Sreejith
Suresh
Sreeja
null
ID course_id
10101
12121
76766
CS-101
APL-101
BIO-101
Comp. Sci.
Applied
PED
ID dept_name
10101
12121
15151
name
Sreejith
Suresh
Sreeja
prepared by Visakh V,Assistant Professor,
LBSITW
56. Additional
• semi join
• left semi join.
• Right semi join:
Rno Name AGE
1 A 40
2 B 42
3 C 38
R_no Phone
1 9865321245
3 9764316598
5 9598946532
prepared by Visakh V,Assistant Professor,
LBSITW
57. •left semi join.
• Right semi join:
Rno Name AGE
1 Mahati 40
3 Meenu 38
R_no Phone
1 9865321245
3 9764316598
prepared by Visakh V,Assistant Professor,
LBSITW
64. • allowing functions of attributes to be
included in the projection
•EX:
•pSALARY-DEDUCTION, SALARY * 0.25(sDNO=5(EMPLOYEE))
prepared by Visakh V,Assistant Professor,
LBSITW
66. a. r R(DNO,NO_OF_EMPLOYEES,AVERAGE_SAL) (Dno COUNT ssn, AVERAGE salary(EMPLOYEE))
b. Dno COUNT ssn, AVERAGE salary(EMPLOYEE)
c. COUNT ssn, AVERAGE salary(EMPLOYEE)
prepared by Visakh V,Assistant Professor,
LBSITW
67. Precedence of relational operators:
1.[SELECT, PROJECT, RENAME]
(highest).
2.[PRODUCT, JOIN].
3.INTERSECTION.
4.[UNION, --]
prepared by Visakh V,Assistant Professor,
LBSITW