Task 2 (3.0 marks): Analysis of Relational Schemas and Normalization
Consider the following conceptual schema of a sample database domain that contains information about customers' booking of KTV studio:
book +
has
CUSTOMER (custPhone, ID, name, preferences[0..*])
KTVSTUDIO (studioName, ID, location, equipmentList[0..*])
RATE (rateType, startDateTime)
BOOKING (duration, specialRequest[0..*])
A database designer applied a process of logical design and transformed the conceptual schema into the following collection of relational schemas:
CUSTOMER (custPhone, name, preferences)
KTVSTUDIO (studioName, location, equipmentList, rateType)
BOOKING (custPhone, studioName, startDateTime, duration, specialRequest)
RATE (rateType, untPrice)
(!)
Find all functional and multivalued dependencies in the relational schemas CUSTOMER, KTVSTUDIO, BOOKING, and RATE. Find all minimal keys in the relational schemas CUSTOMER, KTVSTUDIO, BOOKING, and RATE. List the derivations of all minimal keys. For each one of the relational schemas, find the highest normal form a schema is in. List the justifications for each highest normal form found. Decompose all relational schemas that are not in 4NF into 4NF. List all relational schemas obtained from the decompositions. Remember to indicate the primary key and foreign keys (if any).
(ii)
(iii)
(iv)