You are designing an information system for your cousin who owns a video store.
The store stocks a large number of movies, some of which have the same title (often because of "remakes"). For each movie, you want to keep track of its name, the date it was first released, its primary language, and its category (such as "Comedy", "Action", "Documentary", etc.).
You stock movies in various formats, including Blu-Ray, DVD, and VHS; sometimes you stock multiple copies of the same movie in the same format (for very popular films or recent releases). Each copy is identified by a unique barcode number. For each copy, you keep track of the date you acquired it.
Each of your customers has a registration card with a unique account number.
For each customer, you want to keep first name, last name, address information,
and phone number. Suppose that you have access to a table giving the city
name and state for every zip code in the surrounding area.
Part 1. Initially, suppose we are not interested in tracking our customers' past rental history; we simply wish to know which videos are currently in the store, which ones are currently rented, when they were rented, and who has each rented video. Design a database using only one-to-many relationships.
Part 2. Suppose we change our minds and want to keep track of past history, including when videos were rented and when they were returned. We would like the database to be able to tell us all the past rentals on any movie copy, and all the past rentals of any customer. How would we change the design of the database?