Exercise: video rental

You are designing a database for a video rental store. To start, you need the part of the system that will allow a customer to check out a group of videos and receive an invoice that lists them along with the cost and the date they are due.

Assume that the word “video” means either a now-old-fashioned VHS tape or a DVD (or any other media), which you probably want to identify in the model. The physical video will be a copy of a movie, TV show, or other material, which you don’t have to model here.

Model the information provided by completing the following steps.

  1. Start by identifying and describing each class in English. Note, this is following a top-down design where you first model all the objects in the enterprise and then you determine how they interact.
  2. Continue by drawing the UML class diagram by drawing the classes, but avoid filling in the attributes for now, just name the classes. Include association classes if required.
  3. Next, determine what relationships exist between the classes you identified. Draw each association in the diagram including the multiplicity constraints and describe in English (both directions) to make sure you've correctly modeled the information given.
  4. Now complete each class by filling in the attributes and their corresponding data type.
  5. Map the UML class diagram to the relational model by drawing the relation scheme diagram. Be sure to model all constraints such as any non-null attributes, primary key, and foreign key.

The solution to this exercise may be discussed in class by your instructor or posted online at a later date.