Assignment#2
MSIT 630 Database Systems
Total: 50 points
1. Write the following queries in relational algebra, using the university schema. (16 points, 4
points each)
a. Find the names of all students who have taken at least one Elec. Eng. course.
b. Find the IDs and names of all students who have taken any course offering in 2018.
c. For each department, find the average salary of instructors in that department. You
may assume that every department has at least one instructor.
d. Find the IDs and names of all students whose total credit hours are more than 50.
2. Construct an E-R diagram for a hospital with a set of patients and a set of medical doctors.
Associate with each patient a log of the various tests and examinations conducted by the doctors.
(6 points)
3. Explain the distinction between disjoint and overlapping constraints. Provide an example for
each constraint. (3 points)
4. Explain the distinction between total and partial constraints. Provide an example for each
constraint. (3 points)
5. Consider the following set F of functional dependencies on the relation schema
r(A,B,C,D,E,F): (9 points, 3 points each.)
A→BCD
BC→DE
B→D
D→A
a. Compute B+.
b. Compute D+.
c. Prove (using Armstrong’s axioms) that AF is a superkey.
6. What are the components of a data warehouse? What are the issues to be addressed in building
a warehouse? (4 points)
7. The large volume of data generated on the Internet such as social-media data requires a very
high degree of parallelism on both data storage and processing. Please explain the MapReduce
paradigm for parallel processing. (5 points)
8. What is an SQL injection attack? Explain how it works, and what precautions must be taken to
prevent SQL injection attacks. (4 points)