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