-
Consider a relation R(A,B,C,D) with multivalued dependency AC->->D
and functional dependency B->A.
- (a)
-
Find all 4NF violations. For any that you find, explain why each is a
violation, or explain why none are violations.
- (b)
-
Decompose the relations into a collection of relation schemas in 4NF.
- (c)
-
Consider the original relation R(A,B,C,D) with multivalued dependency AC
->->D
and functional dependency B->A.
Which of the following hold? For each, give reasons why it holds or at
least one counterexample
- i.
-
B ->-> CD
- ii.
-
A ->-> D
- iii.
-
AC -> D
-
This problem is based on the relations:
Customers(custID, name, email, shipAddr)
Orders(orderID, custID, itemID, date, status)
Items(itemID, description)
Write in relational algebra the following
queries.
You may write a sequence of steps with named
temporary relations if you like.
- (a)
-
Find the email of the customer(s) with name "Laura Lee."
- (b)
-
Find the names of the customers whose orders were placed on Jan. 1,
2000, and whose order status is "lost."
- (c)
-
Find the descriptions of the items ordered by "Laura Lee."
- (d)
-
Find the names of the customers who have two or more orders with status
"pending."
-
Consider the following relational database schema:
Student(ID, name, dept, status) // status = "grad" or "undergrad"
// ID is a key
RA(ID, advisor, dept) // (ID,advisor) together are a key
TA(ID, course, dept) // (ID,course) together are a key
Write the following in relational algebra:
- a)
-
Find the names of all graduate students who
are neither an RA nor a TA.
- b)
-
Find the names of all graduate
students who are an RA or a TA in a department other than their own.
-
You will be working with the following schema:
Employee(SSN, name, salary, DNo)
Department(DNo, DeptName, MgrSSN)
Project(PNo, location, ProjName)
HourLog(SSN, PNo, hours)
The Employee relation provides a list of employees with their SSN, name,
salary, and department number (DNo). The SSN is unique for each employee.
Each employee belongs to only one department. The Department relation
contains a list of the departments for the company. Its schema includes a
unique department number called DNo. It also includes the name of the
department (DeptName) and the social security number of the department's
manager (MgrSSN). Each department has a only one manager. The Project
relation includes a unique project number (PNo), location and the project
name (ProjName). An employee can be assigned to any number (including
zero) projects. Each project has at least one person assigned to it.
Finally, the HourLog relation lists for each project the number of hours
of work for each employee who is assigned to that project. The key of
this relation is SSN and PNo.
Write the following queries in Relational Algebra. You may use assignment
of intermediate results for long queries.
- a)
-
Find the name and the SSN of everyone who works more than 100 hours on
one particular project.
- b)
-
Find the name and SSN of everyone who works for department number 1
and also work on project number 2.
- c)
-
Find the name and the SSN of everyone who works on at least two
projects.
- d)
-
Find the SSN of everyone who is not working on any project.
- e)
-
(Extra Credit)
Find the name and the SSN of everyone who works on every project.
- f)
-
(Extra Credit)
Find employees and their managers who work the fewest hours
for each project. A tuple of (EmployeeSSN, EmployeeName, ManagerName, PNo)
should be listed for every project.