Specify the following queries on the COMPANY relational database schema shown in Figure 3.5, using the relational operators discussed in this chapter. Also show the result of each query as it would apply to the database state of Figure 3.6.

(a) Retrieve the names of employees in department 5 who work more than 10 hours per week on the 'ProductX' project.

(b) List the names of employees who have a dependent with the same first name as themselves.

(c) Find the names of employees that are directly supervised by 'Franklin Wong'.

(d) For each project, list the project name and the total hours per week (by all employees) spent on that project.

(e) Retrieve the names of employees who work on every project.

(f) Retrieve the names of employees who do not work on any project.

(g) For each department, retrieve the department name, and the average salary of employees working in that department.

(h) Retrieve the average salary of all female employees.

(i) Find the names and addresses of employees who work on at least one project located in Houston but whose department has no location in Houston.

(j) List the last names of department managers who have no dependents.


In the relational algebra, as in other languages, it is possible to specify the same query in multiple ways. We give one possible solution for each query. We use the symbol s for SELECT, P for PROJECT, J for EQUIJOIN, * for NATURAL JOIN, and f for FUNCTION.

(a) EMP_W_X <-- ( s PNAME='ProductX' (PROJECT)) J (PNUMBER),(PNO)
(WORKS_ON)
EMP_WORK_10 <-- (EMPLOYEE) J (SSN),(ESSN) ( s HOURS>10 (EMP_W_X))
RESULT <-- P LNAME,FNAME ( s DNO=5 (EMP_WORK_10))

Result:
LNAME FNAME
Smith John
English Joyce

(b) E <-- (EMPLOYEE) J (SSN,FNAME),(ESSN,DEPENDENT_NAME) (DEPENDENT)
R <-- P LNAME,FNAME (E)

Result (empty):
LNAME FNAME

(c) WONG_SSN <-- P SSN ( s FNAME='Franklin' AND
LNAME='Wong' (EMPLOYEE))
WONG_EMPS <-- (EMPLOYEE) J (SUPERSSN),(SSN) (WONG_SSN)
RESULT <-- P LNAME,FNAME (WONG_EMPS)

Result:
LNAME FNAME
Smith John
Narayan Ramesh
English Joyce

(d) PROJ_HOURS(PNO,TOT_HRS) <-- PNO f SUM HOURS (WORKS_ON)
RESULT <-- P PNAME,TOT_HRS ( (PROJ_HOURS) J (PNO),(PNUMBER)
(PROJECT) )

Result:
PNAME TOT_HRS
ProductX 52.5
ProductY 37.5
ProductZ 50.0
Computerization 55.0
Reorganization 25.0
Newbenefits 55.0

(e) PROJ_EMPS(PNO,SSN) <-- P PNO,ESSN (WORKS_ON)
ALL_PROJS(PNO) <-- P PNUMBER (PROJECT)
EMPS_ALL_PROJS <-- PROJ_EMPS -:- ALLPROJS (* DIVISION operation *)
RESULT <-- P LNAME,FNAME (EMPLOYEE * EMP_ALL_PROJS)

Result (empty):
LNAME FNAME

(f) ALL_EMPS <-- P SSN (EMPLOYEE)
WORKING_EMPS(SSN) <-- P ESSN (WORKS_ON)
NON_WORKING_EMPS <-- ALL_EMPS - WORKING_EMPS (* DIFFERENCE
*)
RESULT <-- P LNAME,FNAME (EMPLOYEE * NON_WORKING_EMPS)
Result (empty):
LNAME FNAME

(g) DEPT_AVG_SALS(DNUMBER,AVG_SAL) <-- DNO f AVG SALARY
(EMPLOYEE)
RESULT <-- P DNUMBER,AVG_SAL ( DEPT_AVG_SALS * DEPARTMENT )
Result:
DNUMBER AVG_SAL
Research 33250
Administration 31000
Headquarters 55000

(h) RESULT(AVG_F_SAL) <-- f AVG SALARY ( s SEX='F' (EMPLOYEE) )

Result:
AVG_F_SAL
31000

(i) E_P_HOU(SSN) <--
P ESSN (WORKS_ON J(PNO),(PNUMBER) ( s PLOCATION='Houston' (PROJECT)))
D_NO_HOU <--
P DNUMBER (DEPARTMENT) - P DNUMBER ( s
DLOCATION='Houston' (DEPARTMENT))
E_D_NO_HOU <-- P SSN (EMPLOYEE J(PNO),(DNUMBER) (D_NO_HOU))
RESULT_EMPS <-- E_P_HOU - E_D_NO_HOU (* this is set DIFFERENCE *)
RESULT <-- P LNAME,FNAME,ADDRESS (EMPLOYEE * RESULT_EMPS)

Result:
LNAME FNAME ADDRESS
Wallace Jennifer 291 Berry, Bellaire, TX

(j) DEPT_MANAGERS(SSN)<-- P MGRSSN (DEPARTMENT)
EMPS_WITH_DEPENDENTS(SSN) <-- P ESSN (DEPENDENT)
RESULT_EMPS <-- DEPT_MANAGERS - EMPS_WITH_DEPENDENTS
RESULT <-- P LNAME,FNAME (EMPLOYEE * RESULT_EMPS)

Result:
LNAME FNAME
Borg James

Computer Science & Information Technology

You might also like to view...

If the cell references should not be modified when moved to a new location, you should use a(n) relative reference.

Answer the following statement true (T) or false (F)

Computer Science & Information Technology

Ultraportable computers will often use ________ technology exclusively, even though their storage capacity is only a fraction of what a traditional hard drive offers.

A. micro SD B. SSD C. Blu-ray D. ROM

Computer Science & Information Technology

Which of the following technologies has the SHORTEST wireless range for printing?

A. 802.11g B. 802.11a C. Bluetooth D. Infrared

Computer Science & Information Technology

When you visit a secure website in Internet Explorer, a padlock icon displays in the notification bar indicating that a digital certificate identifies the site

Indicate whether the statement is true or false

Computer Science & Information Technology