Lec 12
Lec 12
Lecture 12
Relational Query Languages
2
Relational Algebra
Intermediate language used within DBMS
Procedural
Relational Algebra Operations
3
Unary Operations
Selection (sigma))
Projection (pi))
Rename (rho))
Binary Operations
Union
Intersection
Setdifference
–
Cartesian product
x
Select Operator
4
NOT(Hobby=‘hiking’) (Person)
Hobby‘hiking’ (Person)
STUDENT
ST-ID Name Address Major GPA
6
123 Ali Dokki EE 3.2
456 Maha Nasr City CE 1.9
789 Ahmad Haram Arch 2.7
341 Noha Dokki EE 1.0
SELECT is commutative:
11
STUDENT
ST-ID Name Address Major GPA
123 Ali Dokki EE 3.2
456 Maha Nasr City CE 1.9
789 Ahmad Haram Arch 2.7
341 Noha Dokki EE 1.0
Name, GPA ( (Major = “EE” or Major = “CE”) and GPA < 2.0 (STUDENT))
Name GPA
Ali 1.2
Maha 1.9
Noha 1.0
Single expression versus sequence of relational
operations (Example)
14
Retrieve the first name, last name, and salary of all employees
who work in department number 5.
DEP5_EMPS DNO=5(EMPLOYEE)
STUDENT X PROF
ST-ID Name Address Major GPA P-ID PName ADD WorksIn Rank
123 Ali Dokki EE 3.2 P71 Ali Shobra Comm Full
123 Ali Dokki EE 3.2 P08 Karem Dokki NULL Full
123 Ali Dokki EE 3.2 P11 Magda Agoza CE Assoc
123 Ali Dokki EE 3.2 P91 Nagy Dokki EE Full
456 Maha Nasr City CE 1.9 P71 Ali Shobra Comm Full
456 Maha Nasr City CE 1.9 P08 Karem Dokki NULL Full
456 Maha Nasr City CE 1.9 P11 Magda Agoza CE Assoc
456 Maha Nasr City CE 1.9 P91 Nagy Dokki EE Full
789 Reda Dokki Arch 2.7 P71 Ali Shobra Comm Full
789 Reda Dokki Arch 2.7 P08 Karem Dokki NULL Full
789 Reda Dokki Arch 2.7 P11 Magda Agoza CE Assoc
789 Reda Dokki Arch 2.7 P91 Nagy Dokki EE Full
341 Noha Dokki EE 1.0 P71 Ali Shobra Comm Full
341 Noha Dokki EE 1.0 P08 Karem Dokki NULL Full
341 Noha Dokki EE 1.0 P11 Magda Agoza CE Assoc
341 Noha Dokki EE Slide
1.06- 15P91 Nagy Dokki EE Full
Relational Algebra Operations from Set Theory:
CARTESIAN PRODUCT (cont.)
16
ST-ID Name Address Major GPA P-ID PName ADD WorksIn Rank
17 123 Ali Dokki EE 3.2 P71 Ali Shobra Comm Full
123 Ali Dokki EE 3.2 P08 Karem Dokki NULL Full
123 Ali Dokki EE 3.2 P11 Magda Agoza CE Assoc
123 Ali Dokki EE 3.2 P91 Nagy Dokki EE Full
456 Maha Nasr City CE 1.9 P71 Ali Shobra Comm Full
456 Maha Nasr City CE 1.9 P08 Karem Dokki NULL Full
456 Maha Nasr City CE 1.9 P11 Magda Agoza CE Assoc
456 Maha Nasr City CE 1.9 P91 Nagy Dokki EE Full
789 Reda Dokki Arch 2.7 P71 Ali Shobra Comm Full
789 Reda Dokki Arch 2.7 P08 Karem Dokki NULL Full
789 Reda Dokki Arch 2.7 P11 Magda Agoza CE Assoc
789 Reda Dokki Arch 2.7 P91 Nagy Dokki EE Full
341 Noha Dokki EE 1.0 P71 Ali Shobra Comm Full
341 Noha Dokki EE 1.0 P08 Karem Dokki NULL Full
341 Noha Dokki EE 1.0 P11 Magda Agoza CE Assoc
341 Noha Dokki EE 1.0 P91 Nagy Dokki EE Full
JOIN Operation
18
X.a = Y.a (X x Y)
Y X
X.a = Y.a
JOIN Operation
◼ Q1: Retrieve the name and address of all employees who work for the
‘Research’ department.
◼ Employee(Eid,Fname,Lname,address,salary,Dno)
◼ Department(Dnumber,Dname)
RESEARCH_DEPT DNAME=’Research’ (DEPARTMENT)
RESEARCH_EMPS (RESEARCH_DEPT DNUMBER= DNOEMPLOYEE)
RESULT FNAME, LNAME, ADDRESS (RESEARCH_EMPS)
How to transform from SQL to RA
20
Select name, age
From student
Where depno=1