The following attributes represent data about a movie copy at a video rental store. Each movie is identified by a movie number and has a title and information about the director and the studio that produced the movie. Each movie has one or several characters, and there is exactly one actor playing the role of each of the characters (but one actor can play multiple roles in each of the movies). A video store has multiple copies of the same movie, and the store differentiates copies with a movie copy number, which is unique within a single movie but not unique between different movies. Each movie copy has a rental status and return date; in addition, each copy has a type (VHS, DVD, or Bluray).
The rental price depends on the movie and the copy type, but the price is the same for all copies of the same type. The attributes are as follows:
Movie Nbr, Title, Director ID, Director Name, Studio
ID, Studio Name, Studio Location, Studio CEO,
Character, Actor ID, Name, Movie Copy Nbr, Movie
Copy Type, Movie Rental Price, Copy Rental Status,
Copy Return Date
A sample data set regarding a movie would be as follows
(the data in the curly brackets are character/actor data, in
this case for four different characters):
567, "It's a Wonderful Life", 25, "Frank Capra",
234, "Liberty Films", "Hollywood, CA", "Orson
Wells", {"George Bailey", 245, "James Stewart" |
"Mary Bailey", 236, "Donna Reed" | "Clarence
Oddbody", 765, "Henry Travers" | "Henry F.
Potter", 325, "Lionel Barrymore" }, 5434, "DVD",
2.95, "Rented", "12/15/2010"
Based on this information,
a. Identify the functional dependencies between the attributes.
b. Identify the reasons why this set of data items is not in 3NF and tell what normal form (if any) it is in.
c. Present the attributes organized into 3NF relations that have been named appropriately.