•Two formal language for the relational model
• Basic set of operation for the relational model.
• These operation enable a user to specify basic retrieval requests.
• ...
No commercial RDBMS in use today
provides an interface for the relational
queries.
•Relational algebra operations can be d...
:Operate on a single relation
It select certain rows
Syntax :
<selection condition>

(R)

<selection condition> is made up of number of clauses of the f...
Lets try. . .
Ex :

(DNO=4 )

(EMPLOYEE)

Ex :

(SALARY>25000)

(EMPLOYEE)
Clauses can be connected by the
Boolean operators and, or ,not to from a
general selection condition.
(DNO=4 AND SALARY>25...
SELECT operation is commutative :
<cond1>

(

<cond2>

(R)) =

<cond2>

(

<cond1>

Cascade of SELECT operation:

<cond1>
...
It select certain columns
Syntax :
<attribute list >

(R)

Duplicate elimination : it removes any duplicate
tuples , and w...
What is the
resultant table ???

•
•

SEX, SALARY(EMPLOYEE)
,Lname,Fname,SALARY(EMPLOYEE)
Duplicate
elimination

I WANT ANSWERS. .
NOT QUESTIONS.
FNAME, LNAME, SALARY( DNO=5(EMPLOYEE))
We can write the operations as a single algebra
expression by nesting the operation
or
we can apply one operation at a tim...
Renaming of attribute
TEMP  DNO=5(EMPLOYEE)
R(FIRSTNAME,LASTNAME,SALARY)

FNAME, LNAME, SALARY

(TEMP)
A formal RENAME (rho) operations:
• rename either relation name, attribute name or both

s (R)
(B1,B2,…Bn)

S: new table n...
:R S
: Include all tuples
:Duplicates are eliminated
:R S
: include all tuples that are in both R & S

:R S
: include all ...
Example:

Union compatible
• same degree
• corresponding pair have same number
Q. Retrieve the social security Number of
all employees who either work in
department 5 or directly supervise an
employee ...
•UNION and INTERSECTION are
commutative but SET
DIFFERENCE is not.

R

S =R

S – (R-S )-(S-R)
• Also known as CROSS PRODUCT or CROSS JOIN
• Denoted by X
• syntax :
• tab1 X tab2
• also binary set operations.
• if A h...
EMP_ID

DESIGNATION

SALARY

101

PROFESSOR

1.25000

102

ASSOCIATE PROF

90000

103

ASSISTANT PROF

40000

TAB1

E_ID

...
DESIGNATION

SALAR
Y

EMP_ID

E_ID

F_NAME

M_NAME L_NAME

AGE

PROFESSOR

1.2500
0

101

102

SURESH

KUMAR

S

43

PROFE...
DESIGNATI SALARY
ON

EMP_ID

E_ID

F_NAME

PROFESSO
R

101

101

SHREELEK R
SHMI

S

40

ASSOCIATE 90000
PROF

102

102

A...
Write relational algebra expression
Retrieve a list of names of each
employee’s dependents.
• Combine related tuples from two relation into single
tuples.
• denoted by
•R
<JOIN CONDITION> S .
• Consider previous ex...
Retrieve the name of manager of
each department
•A

general join condition is of the form
<condition>AND<condition>AND. . . AND <condition>
Each condition of the form
Ai
...
• The JOIN where the only comparison operator
used is ‘ = ‘

• It requires that two JOIN attributes have the same
name in ...
Join attribute
•A JOIN operation used to combine
data from multiple relations so that
related information can be presented
in a single ta...
•Denoted by
R S
YEAR

TOUR_PART_EM_ID

2003

1001

2004

1001

2013

1001

2008

1004

2009

1003

2008

1003

2004

1004

2011

1004

200...
Retrieve the names of employees who work on all
the project that ‘John Smith’ works on
• allowing functions of attributes to be
included in the projection
•EX:
• SALARY-DEDUCTION, SALARY * 0.25( DNO=5(EMPLOYEE...
• SUM
•AVERAGE
•MAXIMUM
•MINIMUM
•COUNT

Calligraphic G

•Aggregate function operation using the symbol

<grouping attribu...
R(DNO,NO_OF_EMPLOYEES,AVERAGE_SAL)

COUNT ssn, AVERAGE salary(EMPLOYEE))

(EMPLOYEE)
COUNT ssn, AVERAGE salary(EMPLOYEE)

...
• Used when we want to keep all the tuples in R
• three main variation are
• LEFT OUTER JOIN
• RIGHT OUTER JOIN
• FULL OUT...
• Relation instructor1
name

ID

Sreejith
Suresh
Sreeja

10101
12121
15151

dept_name
Comp. Sci.
Applied
PED

• Relation t...
• Join
instructor
ID
10101
12121

teaches
name
Sreejith
Suresh

dept_name
Comp. Sci.
Applied

course_id
CS-101
APL-201
name

ID
10101
12121
15151

Sreejith
Suresh
Sreeja

dept_name
Comp. Sci.
Applied
PED

ID
10101
12121
76766

CS-101
APL-101...
name

ID
10101
12121
15151

Sreejith
Suresh
Sreeja

dept_name
Comp. Sci.
Applied
PED

ID
10101
12121
76766

course_id
CS-1...
name

ID

dept_name

Sreejith
Suresh
Sreeja

10101
12121
15151

Comp. Sci.
Applied
PED

ID

10101
12121
76766

CS-101
APL-...
Additional
• semi join
• left semi join.
• Right semi join:
Rno

Name

AGE

R_no

Phone

1

Mahati

40

1

9865321245

2

...
Rno

Name

AGE

1

Mahati

40

3

Meenu

38

•left semi join.
• Right semi join:
R_no

Phone

1

9865321245

3

9764316598
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Relational algebr
Upcoming SlideShare
Loading in …5
×

Relational algebr

559 views

Published on

It include the topic Relational algebra, which is very useful for the beginners.

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
559
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Relational algebr

  1. 1. •Two formal language for the relational model
  2. 2. • 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. •it is important for several reasons:  provides formal foundation for relational model  used as basis for implementing and optimizing queries in RDMS
  3. 3. 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.
  4. 4. :Operate on a single relation
  5. 5. It select certain rows Syntax : <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> { =,<,>,<=,>=,!= }
  6. 6. Lets try. . . Ex : (DNO=4 ) (EMPLOYEE) Ex : (SALARY>25000) (EMPLOYEE)
  7. 7. Clauses can be connected by the Boolean operators and, or ,not to from a general selection condition. (DNO=4 AND SALARY>25000) OR (DNO=5 AND SALARY>30000) Answer????? (EMPLOYEE)
  8. 8. SELECT operation is commutative : <cond1> ( <cond2> (R)) = <cond2> ( <cond1> Cascade of SELECT operation: <cond1> ( <cond2> (… ( <condn> (R)). . . )) = ( <cond1> AND <cond2> AND . . . AND <condn> (R) (R))
  9. 9. It select certain columns Syntax : <attribute list > (R) Duplicate elimination : it removes any duplicate tuples , and we get a valid relation .
  10. 10. What is the resultant table ??? • • SEX, SALARY(EMPLOYEE) ,Lname,Fname,SALARY(EMPLOYEE)
  11. 11. Duplicate elimination I WANT ANSWERS. . NOT QUESTIONS. FNAME, LNAME, SALARY( DNO=5(EMPLOYEE))
  12. 12. 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. FNAME, LNAME, SALARY( DNO=5(EMPLOYEE)) Can replace with DEPCS2  RESULT  DNO=5(EMPLOYEE) FNAME, LNAME, SALARY (DEPCS2)
  13. 13. Renaming of attribute TEMP  DNO=5(EMPLOYEE) R(FIRSTNAME,LASTNAME,SALARY) FNAME, LNAME, SALARY (TEMP)
  14. 14. A formal RENAME (rho) operations: • rename either relation name, attribute name or both s (R) (B1,B2,…Bn) S: new table name; Bn: new attribute name (R) s(B1,B2,…Bn) (R)
  15. 15. :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
  16. 16. Example: Union compatible • same degree • corresponding pair have same number
  17. 17. Q. Retrieve the social security Number of all employees who either work in department 5 or directly supervise an employee who works department 5.
  18. 18. •UNION and INTERSECTION are commutative but SET DIFFERENCE is not. R S =R S – (R-S )-(S-R)
  19. 19. • 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.
  20. 20. EMP_ID DESIGNATION SALARY 101 PROFESSOR 1.25000 102 ASSOCIATE PROF 90000 103 ASSISTANT PROF 40000 TAB1 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 FIND salary ,name AND designation OF EACH EMPLOYEE?????
  21. 21. DESIGNATION SALAR Y EMP_ID E_ID F_NAME M_NAME L_NAME AGE PROFESSOR 1.2500 0 101 102 SURESH KUMAR S 43 PROFESSOR 1.2500 0 101 103 SUMI M MOL 23 PROFESSOR 1.2500 0 101 101 SHREELEK R SHMI 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 SHREELEK R SHMI 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 SHREELEK R SHMI S 40
  22. 22. DESIGNATI SALARY ON EMP_ID E_ID F_NAME PROFESSO R 101 101 SHREELEK R SHMI S 40 ASSOCIATE 90000 PROF 102 102 ANIL S GANESH 28 ASSISTANT PROF 103 103 SUMI M MOL 23 1.25000 40000 M_NAME L_NAME AGE 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 PROF
  23. 23. Write relational algebra expression Retrieve a list of names of each employee’s dependents.
  24. 24. • Combine related tuples from two relation into single tuples. • denoted by •R <JOIN CONDITION> S . • Consider previous example RESULT EMPLOYEE X DEPENDENT FINAL  SSN= ESSN (RESULT) The above can be replaced with FINAL EMPLOYEE SSN=ESSN DEPENDENT .
  25. 25. Retrieve the name of manager of each department
  26. 26. •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
  27. 27. • 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.
  28. 28. Join attribute
  29. 29. •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.
  30. 30. •Denoted by
  31. 31. R S
  32. 32. YEAR TOUR_PART_EM_ID 2003 1001 2004 1001 2013 1001 2008 1004 2009 1003 2008 1003 2004 1004 2011 1004 2003 1004 2003 1002 EMP_id NAME ADDRESS 2004 1002 1001 SURESH AAAA 2011 1002 1002 LALAN BBBB 2013 1002 1003 JC CCCC 2012 1002 1004 ANVAR DDDD Retrieve the name & address of employees who participated in all tour that ‘Suresh ‘sir attended .
  33. 33. Retrieve the names of employees who work on all the project that ‘John Smith’ works on
  34. 34. • allowing functions of attributes to be included in the projection •EX: • SALARY-DEDUCTION, SALARY * 0.25( DNO=5(EMPLOYEE))
  35. 35. • SUM •AVERAGE •MAXIMUM •MINIMUM •COUNT Calligraphic G •Aggregate function operation using the symbol <grouping attribute> <function list> (R)
  36. 36. R(DNO,NO_OF_EMPLOYEES,AVERAGE_SAL) COUNT ssn, AVERAGE salary(EMPLOYEE)) (EMPLOYEE) COUNT ssn, AVERAGE salary(EMPLOYEE) b. Dno c. (Dno COUNT ssn, AVERAGE salary
  37. 37. • Used when we want to keep all the tuples in R • three main variation are • LEFT OUTER JOIN • RIGHT OUTER JOIN • FULL OUTER JOIN
  38. 38. • Relation instructor1 name ID Sreejith Suresh Sreeja 10101 12121 15151 dept_name Comp. Sci. Applied PED • Relation teaches1 ID 10101 12121 76766 course_id CS-101 APL-101 BIO-101
  39. 39. • Join instructor ID 10101 12121 teaches name Sreejith Suresh dept_name Comp. Sci. Applied course_id CS-101 APL-201
  40. 40. name ID 10101 12121 15151 Sreejith Suresh Sreeja dept_name Comp. Sci. Applied PED ID 10101 12121 76766 CS-101 APL-101 BIO-101  Left Outer Join instructor ID 10101 12121 15151 teaches name Sreejith Suresh Sreeja course_id dept_name course_id Comp. Sci. Applied PED CS-101 APL-201 null
  41. 41. name ID 10101 12121 15151 Sreejith Suresh Sreeja dept_name Comp. Sci. Applied PED ID 10101 12121 76766 course_id CS-101 APL-101 BIO-101  Right Outer Join instructor teaches ID 10101 12121 76766 name Sreejith Suresh null dept_name course_id Comp. Sci. Applied null CS-101 APL-201 BIO-101
  42. 42. name ID dept_name Sreejith Suresh Sreeja 10101 12121 15151 Comp. Sci. Applied PED ID 10101 12121 76766 CS-101 APL-101 BIO-101  Full Outer Join instructor teaches ID 10101 12121 15151 76766 name Sreejith Suresh Sreeja null course_id dept_name course_id Comp. Sci. Applied PED null CS-101 APL-201 null BIO-101
  43. 43. Additional • semi join • left semi join. • Right semi join: Rno Name AGE R_no Phone 1 Mahati 40 1 9865321245 2 Manjusha 42 3 9764316598 3 Meenu 38 5 9598946532
  44. 44. Rno Name AGE 1 Mahati 40 3 Meenu 38 •left semi join. • Right semi join: R_no Phone 1 9865321245 3 9764316598

×