Ask Question, Ask an Expert


Ask DBMS Expert

Home >> DBMS

In this assignment, you will use the CAR HIRE database. The CAR HIRE database including appropriate data will be made available on the USQ Oracle server. You can query these tables as if they are in your own schema but you are not permitted to insert or update data in these tables. The specification for the CAR HIRE database is as follows:

The table descriptions appear below, including the column names, datatypes and the meanings for values in the columns. Familiarise yourself with the tables and the data.


511_I_car group.jpg



2100_I customer.jpg

problem 1:

prepare a stored procedure that accepts the post code in which the customer resides as the input parameter. The procedure should then use an explicit cursor to display comprehensive details about each customer, the number of bookings that customer has made and the total cost of all completed rentals for that customer.


A) Use a fully declared explicit cursor to find and display comprehensive details for each customer.
B) Use an implicit cursor and a SQL function to find out the number of bookings the customer has made. Display the number of bookings.
C) find out the total cost. In order to find out the total cost, you may not use any SQL functions (e.g. SUM) and you must find a way of using local variables to do the arithmetic. Only completed rentals are used in this calculation. When miles_in has a value, the rental is complete. Display the total cost when the computation is complete.

Submit the code and a screen dump of the output when the program is run.

problem 2:

prepare a function that find outs the average miles travelled for a particular car (registration) for all completed bookings made for that car.

prepare a second function that displays the maximum amount paid (amount due) for a particular car (registration) for all completed bookings made for that car.

prepare ONE SQL statement that displays the registration, model_name and date bought for each car and calls the two functions to display the average miles travelled and the maximum amount paid for that car.

Display the output of the SQL statement.

Submit the code and a screen dump of the output.

problem 3:

The company is concerned about hackers making changes to financial details for bookings, in particular the paid flag and the amount due. You will create a database trigger to monitor changes.

Create a copy of the I_BOOKING table in your own schema by using the following command: CREATE TABLE GBOOKING AS SELECT * FROM I_BOOKING. Now, create a database trigger on the GBOOKING table that fires after an UPDATE. The trigger should fire for each row. The trigger should fire if there is any change to  amount_due or paid and should insert the booking number, and the OLD and NEW values of each of these columns into a the table BOOKING_CHANGE. This table may be created using the command: CREATE TABLE BOOKING_CHANGE AS SELECT BOOKING_NO, AMOUNT_DUE, PAID FROM I_BOOKING WHERE BOOKING_NO = 0;

problem 4:

prepare a anonymous block that finds the car that has generated the most revenue (use amount_due here). Only include rentals that are complete. A completed rental involves a situation where the car has been returned and payment may (or may not) have been made. Note that the top car in terms of revenue may not be the same as the top car in terms of rental volume. Also note that, depending upon the date range selected, no car may be selected. Therefore, test with the date range 1 to 31 October, 2012 or a date range of several years. Exclude from your calculations any booking when the miles travelled is less than 100, the rental period is less than two days or the registration begins with a G.  This exclusion should not be done in the select statement i.e. it should be done after the BEGIN using IF.
The anonymous block should display the following: registration and revenue generated.

You may not use any function in this program, for ex SUM, COUNT, AVG, MIN, MAX. Therefore, you will need to use local variables to hold values and perhaps re-use explicit cursors.

Run the anonymous block from ISQLPLUS and include a screen dump of the output.

problem 5:

The table CUSTOMER_MASTER is a mirror of I_CUSTOMER,  BOOKING_MASTER is a mirror of I_BOOKING and CAR_MASTER is a mirror of I_CAR.  None of these tables belong to you but you have read and prepare access to them. prepare PL/SQL stored procedures that insert two rows into the tables CUSTOMER_MASTER AND BOOKING_MASTER and two rows into the table CAR_MASTER. Also, prepare an anonymous block that calls the procedures.

Examine the tables I_CUSTOMER, I_CAR and I_BOOKING carefully first, paying particular attention to the data. Your procedures and anonymous block should meet the following criteria:

A) The anonymous block should display the number of rows currently in each the three tables CUSTOMER_MASTER, CAR_MASTER AND BOOKING_MASTER. Then, the anonymous block should call the procedures and pass all the data to be entered into the tables to the procedures. It is assumed that three procedures will be required (i.e. one per table) but, if you are able to prepare a hybrid procedure to accomplish all the tasks, that is acceptable. Next, the anonymous block should display the total number of rows that the procedures have inserted into the database. Finally, the number of rows in each of the three tables CUSTOMER_MASTER, CAR_MASTER AND BOOKING_MASTER after the inserts should be displayed.

B) The procedures should use parameters to process the data passed from the anonymous block and insert the data into the appropriate table. The procedures should keep a count of each row inserted and pass the count back to the calling anonymous block.

C) For the CAR_MASTER table, you should create a primary key using your own initiative but, for the other two tables, your procedure should find the current highest value of the primary key and allocate the next value.

D) It is expected that you do your best to create data at least of the same standard as the data in the base tables. You will be penalised if you create poor quality data.

E) For the CUSTOMER_MASTER table, your new customers should use one of the town, county and post code combinations used by an existing customer.

F) For the CAR_MASTER table, make sure that the model_name and car_group_name match primary key values in the appropriate tables and that the statistical information (e.g. date bought) is consistent. One car should reflect a date bought somewhere in 2011, the other 2012.

G) For the BOOKING_MASTER table, use the two cars you have created. This will be the most complex insert. Make sure that registration number and model name match rows that already exist in the applicable tables. The person who does the reservation should reflect a name already in the table. The miles in/out columns should be consistent with the mileage values in the CAR_MASTER table and the amount due should be find outd using the rates in the CAR_MASTER table. One row should reflect a completed booking while the other should reflect a booking that is still in progress, i.e. the car has not yet been returned.

H) OUTPUT: Provide a screen dump of your anonymous block and the output created when this is run.

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M91252

Have any Question? 

Related Questions in DBMS

Hospital database determining keysdevelop a microsoft

Hospital Database: Determining Keys Develop a Microsoft Access database based upon the following business scenario. Be sure to include tables, fields, keys, relationships, and test data in your database. Your final submi ...

Discussion questionsdatabase programs are used to store and

Discussion Questions Database programs are used to store and to retain data for a variety of applications, and are often used in conjunction with Web content to deliver dynamic Web pages. Please respond to all of the fol ...

Homeworkgiven the relations below answer the following

HOMEWORK Given the relations below, answer the following queries using SQL. Note that the tables contain sample records only and do not represent all the possible records that could be stored in these tables. MEMB ERS ME ...

1 how are qbe tools and sql similar2 how are they

1. How are QBE tools and SQL similar? 2. How are they different? 3. What is a data warehouse? 4. How does it differ from a database?

Prepare a brief report that describes how data warehouses

Prepare a brief report that describes how data warehouses and online transaction processing complement each other. In your report make sure to include the following: • Why do companies use data warehouses? • What are the ...

Objective this is an individual assignment aimed to give

Objective: This is an individual assignment aimed to give the student exposure in understanding, designing, building and analyzing database systems for a given real-time based scenario and be able to conduct optimal stra ...

1 what is the most popular database model2 how are primary

1. What is the most popular database model? 2. How are primary and foreign keys different? 3. What are the five important software components of a database management system? 4 What are the four major types of data-minin ...

Assignment business rules for sam symthes

Assignment: Business Rules for Sam Symthe's Database Overview Sam Smyth is an expert puppy trainer. His specialty is training troubled puppies to behave for their owners. The name of his business is Sam Smythe's Kennel f ...

Suppose that you are the database developer for a local

Suppose that you are the database developer for a local college. The Chief Information Officer (CIO) has asked you to provide a summary of normalizing database tables that the IT staff will use in the upcoming training s ...

Question 1use the tables below to answer the following

Question 1: Use the tables below to answer the following questions: customerid customerid firstname lastname city state 10101 John Gray Lynden Washington 10298 Leroy Brown Pinetop Arizona 10299 Elroy Keller Snoqualmie Wa ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

WalMart Identification of theory and critical discussion

Drawing on the prescribed text and/or relevant academic literature, produce a paper which discusses the nature of group

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro