Assignment title: Information
The Business Problem
Our company does car rental business and has several locations with different
addresses (address consist of street or rural route with the number, city, state and zip
code). The cars are classified as subcompacts, compacts, sedans, or luxury. Each car has
a particular make, model, year made, and color. Each car has a unique identification
number and a unique license plate. The cars rented in a particular location may be
returned to a different location (so called drop off).
For every car we keep the odometer reading before it is rented and after it is
returned. Since we trust our customers, we do not record any defects when the car is
rented out and returned back. However, we rent the car with a full tank and record the
volume of gas in the tank when the car is returned, but we only indicate if the tank is
empty, quarter full, half full, three quarters full, or full.
We keep track of which day a car was rented, but not of the time, similarly for car
returns. If a customer requests a specific class (say sedan), we may rent the customer a
higher-class car if we do not have the requested class in the stock, but we will price it at
the level the customer requested (so-called upgrade). Each car class has its own pricing,
but all cars in the same class are priced the same. We have rental policies for 1 day, 1
week, 2 weeks, and 1 month. Thus, if a customer rents a car for 8 days, it will be priced
as 1 week + 1 day. The drop-off charge only depends on the class of the rented car, the
location it was rented from and the location it is returned to.
About our customers, we keep their names, addresses, all phone numbers, and the
number of the driver's license (we assume a unique license per person). About our
employees we keep the same information (we require that all our employees have a
driver's license). We have several categories of workers: drivers, cleaners, clerks, and
managers. Any of our employees can rent a car from our company for a 50% discount, if
the rental is less than 2 weeks. However, for any longer rental they must pay 90% of the
regular price. Every employee works in one location only. We have headquarters in
Hamilton. The people who work there are all classified as managers, one of them is the
president, two of them are the vice-presidents, one for operations, the other for
marketing).
For certain weeks we have promotional rentals that are usually 60% of the regular
price, but may be also of different percentage. They always affect only a single class of
cars – i.e. we may have a promotion for subcompacts, but during that week we do not
have any promotions for compacts, sedans or luxury cars. During some years we can
have many promotions, in some we have none. The promotions cannot be applied to
employee rentals.
Transactions to be Supported
1. Add a new car to our car inventory.
2. Add a new customer to our list of customers.
3. List the names of all customers who are currently renting a car from our company.
4. List the make, model, year, and classification (i.e. subcompact, compact, etc.) of
all cars currently rented out.
5. For each completed rental, list the rental price and the rental identification
number.
6. List the rental identification number, make, model, year, classification, and rental
duration for each of our locations for the month of October, 2015.
7. List the full names of all customers (all people who have rented a car at some
time, not just those with current rentals.
8. List the names of all employees who have also rented cars from us.
9. List the make, model, and color of all cars that have never been rented.
This document presents an example of the deliverable due for the Database
Design Project assignment. Most of the steps and sub-steps present an example of
what you should provide in your project deliverable. Some of the steps and sub-
steps (sub-step 1.4, for example) provide an explanation of what, if anything, you
need to develop. You can easily distinguish an example from an explanation;
explanations are written in itlaics.
Step 1: Create and check the E-R model
1.1 Identify entities
Entity Description
Actor All performers, as listed on the DVD package
DVD Information regarding the movie
Member Information regarding the club members
RentalDelivery Information that connects the Member information to the DVD being
Wish Information regarding DVDs that the member would like to rent in
DistributionCenter Information about the company location – can be either a storefront
DVDCopy Specific copy of a DVD – any DVD can exist in many copies in the
MembershipType List and description of the different types of membership available
Staff Information relevant to the club employees
rented
the future
or a warehouse
inventory
through the club
1.2 Identify relationships
1.3 Identify and associate attributes with entities, identifying attribute
domains and primary keys
**
**
** Primary key
1.4 Check that the model supports user transactions