Project questions 3.58 and 3.59
3.58 Consider the table:
STAFF_MEETING (EmployeeName, ProjectName, Date)
The rows of this table record the fact that an employee from a particular project
attended a meeting on a given date. Assume that a project meets at most once per day.
Also, assume that only one employee represents a given project, but that employees
can be assigned to multiple projects.
A. State the functional dependencies in STAFF_MEETING.
B. Transform this table into one or more tables in BCNF. State the primary keys,
candidate keys, foreign keys, and referential integrity constraints.
C. Is your design in part B an improvement over the original table? What advantages
and disadvantages does it have?
3.59 Consider the table:
STUDENT (StudentNumber, StudentName, Dorm, RoomType, DormCost, Club,
ClubCost, Sibling, Nickname)
Assume that students pay different dorm costs, depending on the type of room they
have, but that all members of a club pay the same cost. Assume that students can have
multiple nicknames.
A. State any multivalued dependencies in STUDENT.
B. State the functional dependencies in STUDENT.
C. Transform this table into two or more tables such that each table is in BCNF and in
4NF. State the primary keys, candidate keys, foreign keys, and referential integrity
constraints.