0% found this document useful (0 votes)
17 views

DB Lec 19

Uploaded by

IRSHAD EDITS
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

DB Lec 19

Uploaded by

IRSHAD EDITS
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

1

Database Systems

Relational Algebra
Database Management
Systems
2

Database Management S
ystems

Today’s agenda
• Example Database Application (COMPANY)
• Relational Algebra
▫ Unary Relational Operations
▫ Relational Algebra Operations From Set Theory
3

Database Management S
ystems

Database State for COMPANY


All examples discussed below refer to the COMPANY database shown here.
4

Database Management S
ystems

Relational Algebra
• The basic set of operations for the relational model is known
as the relational algebra. These operations enable a user to
specify basic retrieval requests.

• The result of a retrieval is a new relation, which may have


been formed from one or more relations. The algebra
operations thus produce new relations, which can be further
manipulated using operations of the same algebra.

• A sequence of relational algebra operations forms a


relational algebra expression, whose result will also be a
relation that represents the result of a database query (or
retrieval request).
5

Database Management S
ystems

Unary Relational Operations


• SELECT Operation

SELECT operation is used to select a subset of the tuples from a relation that
satisfy a selection condition. It is a filter that keeps only those tuples that
satisfy a qualifying condition – those satisfying the condition are selected
while others are discarded.
Example: To select the EMPLOYEE tuples whose department number is
four or those whose salary is greater than $30,000 the following notation is
used:
DNO = 4 (EMPLOYEE)
SALARY > 30,000 (EMPLOYEE)
In general, the select operation is denoted by  <selection condition>(R) where the
symbol  (sigma) is used to denote the select operator, and the selection
condition is a Boolean expression specified on the attributes of relation R
6

Database Management S
ystems

Unary Relational Operations (cont.)


• PROJECT Operation
This operation selects certain columns from the table and discards the other
columns. The PROJECT creates a vertical partitioning – one with the needed
columns (attributes) containing results of the operation and other containing
the discarded Columns.
Example: To list each employee’s first and last name and salary, the
following is used:
 LNAME, FNAME,SALARY (EMPLOYEE)

The general form of the project operation is <attribute list>(R) where 
(pi) is the symbol used to represent the project operation and <attribute list>
is the desired list of attributes from the attributes of relation R.
The project operation removes any duplicate tuples, so the result of the
project operation is a set of tuples and hence a valid relation.
7

Database Management S
ystems

FIGURE 6.1
Results of SELECT and PROJECT operations. (a) s(DNO=4 AND SALARY>25000) OR (DNO=5 AND
SLARY>30000)(EMPLOYEE). (b) pSEX, SALARY(EMPLOYEE).
8

Database Management S
ystems

Unary Relational Operations (cont.)


• Rename Operation
We may want to apply several relational algebra operations one after the other.
Either we can write the operations as a single relational algebra expression
by nesting the operations, or we can apply one operation at a time and create
intermediate result relations. In the latter case, we must give names to the
relations that hold the intermediate results.
Example: To retrieve the first name, last name, and salary of all employees
who work in department number 5, we must apply a select and a project
operation. We can write a single relational algebra expression as follows:

 FNAME, LNAME, SALARY ( DNO=5(EMPLOYEE))


OR We can explicitly show the sequence of operations, giving a name to each
intermediate relation:
DEP5_EMPS   DNO=5(EMPLOYEE)
RESULT   FNAME, LNAME, SALARY (DEP5_EMPS)
9

Database Management S
ystems

Unary Relational Operations (cont.)


• Rename Operation (cont.)
The rename operator is 

The general Rename operation can be expressed by any of the


following forms:

-  S (B1, B2, …, Bn ) ( R) is a renamed relation S based on R with column names B1, B2,

…..Bn.

-  S ( R) is a renamed relation S based on R (which does not specify column names).

-  (B1, B2, …, Bn ) ( R) is a renamed relation with column names B1, B2, …..Bn

which does not specify a new relation name.


10

Database Management S
ystems

FIGURE 6.2
Results of a sequence of operations. (a) pFNAME, LNAME, SALARY
(sDNO=5(EMPLOYEE)). (b) Using intermediate relations and
renaming of attributes.
11

Database Management S
ystems

Relational Algebra Operations From


Set Theory

• UNION Operation
The result of this operation, denoted by R  S, is a relation that includes all
tuples that are either in R or in S or in both R and S. Duplicate tuples are
eliminated.
Example: To retrieve the social security numbers of all employees who either
work in department 5 or directly supervise an employee who works in
department 5, we can use the union operation as follows:
DEP5_EMPS  DNO=5 (EMPLOYEE)
RESULT1   SSN(DEP5_EMPS)
RESULT2(SSN)   SUPERSSN(DEP5_EMPS)
RESULT  RESULT1  RESULT2
The union operation produces the tuples that are in either RESULT1 or
RESULT2 or both. The two operands must be “type compatible”.
12

Database Management S
ystems

Relational Algebra Operations From


Set Theory
• Type Compatibility
▫ The operand relations R1(A1, A2, ..., An) and R2(B1, B2, ...,
Bn) must have the same number of attributes, and the
domains of corresponding attributes must be
compatible; that is, dom(Ai)=dom(Bi) for i=1, 2, ..., n.

▫ The resulting relation for R1R2,R1  R2, or R1-R2 has the


same attribute names as the first operand relation R1
(by convention).
13

Database Management S
ystems

Relational Algebra Operations From


Set Theory
• UNION Example

STUDENTINSTRUCTOR
14

Database Management S
ystems

Relational Algebra Operations From Set Theory (cont.)


• INTERSECTION OPERATION

The result of this operation, denoted by R  S, is a relation that includes all


tuples that are in both R and S. The two operands must be "type compatible"

Example: The result of the intersection operation (figure below) includes


only those who are both students and instructors.

STUDENT  INSTRUCTOR
15

Database Management S
ystems

Relational Algebra Operations From Set Theory (cont.)


• Set Difference (or MINUS) Operation
The result of this operation, denoted by R - S, is a relation that includes all
tuples that are in R but not in S. The two operands must be "type compatible”.

Example: The figure shows the names of students who are not instructors,
and the names of instructors who are not students.

STUDENT-INSTRUCTOR

INSTRUCTOR-
STUDENT
16

Database Management S
ystems

Relational Algebra Operations From Set Theory (cont.)

• CARTESIAN (or cross product) Operation


▫ This operation is used to combine tuples from two relations in a
combinatorial fashion. In general, the result of R(A1, A2, . . ., An) x
S(B1, B2, . . ., Bm) is a relation Q with degree n + m attributes Q(A1, A2,
. . ., An, B1, B2, . . ., Bm), in that order. The resulting relation Q has one
tuple for each combination of tuples—one from R and one from S.
▫ Hence, if R has nR tuples (denoted as |R| = nR ), and S has nS tuples,
then
| R x S | will have nR * nS tuples.
▫ The two operands do NOT have to be "type compatible”
Example:
FEMALE_EMPS   SEX=’F’(EMPLOYEE)
EMPNAMES   FNAME, LNAME, SSN (FEMALE_EMPS)

EMP_DEPENDENTS  EMPNAMES x DEPENDENT


17

Database Management S
ystems

FIGURE≈6.5a
The CARTESIAN PRODUCT (CROSS PRODUCT) operation.
18

Database Management S
ystems

FIGURE≈6.5b
The CARTESIAN PRODUCT (CROSS PRODUCT) operation.
19

Database Management S
ystems

FIGURE≈6.5c
The CARTESIAN PRODUCT (CROSS PRODUCT) operation.

You might also like