Improve efficiency in query evaluation, Database Management System

Assignment Help:

Question:

AirwaysCentre, an international airline booking company currently uses a relational database system for their operations, which includes the following relations:

PASSENGER(p_no, p_name, p_address, p_phone)
FLIGHT(flight_code, airline_name, from_airport, to_airport, depart_time, arrive_time)
BOOKING(booking_no, p_no, invoice_total, payment_made)
FLIGHT_BOOKING(booking_no, flight_code, flight_date, price)

The following assumptions are made:

  • The flight code is unique, which includes information on an airline and its flight number, for example „BA300?
  • For each flight code, there is only one associated flight on any particular day
  • A passenger may purchase tickets for several different flights under one booking number
  • However, a passenger may not purchase more than one ticket for the same flight under the same booking number
  • The PASSENGER relation contains 2000 records
  • The FLIGHT relation contains 500 records
  • The BOOKING relation contains 5000 records
  • The FLIGHT-BOOKING relation contains 10000 records
  • Each flight has a maximum of 200 bookable tickets (seats)

(a) Query optimization in database system aims to improve efficiency in query evaluation. One of the stages involved in the query optimization is to convert some internal form of the query representation into its equivalent but more efficient canonical form using the transformation rules.

Demonstrate, by using two query examples based on the given relations, how appropriate transformation rules can be applied to carry out such a conversion.

(b) Consider the following query based on the above relations and formulate it using correct SQL syntax:

"Find the names and numbers of all passenger who have booked the Air Mauritius flight MK356 for 2nd December 2010".

(c) Specify two possible options to evaluate the query in (b)above. Express each of these options firstly in relational algebra and secondly in a query tree. Clearly show all the steps required in the evaluation of the query.

(d) For each option identified above, calculate the size (number of records) for each of the immediate relations to be produced at each steps. Recommend the best option based on the results of your calculations.


Related Discussions:- Improve efficiency in query evaluation

Define view? how it is related to data independence, A View may be defi...

A View may be defined of as a virtual table, that is, a table that does not really exist in its own right but is instead inferred from one or more underlying base data table. T

Attributes, Attributes and its types explain?

Attributes and its types explain?

Can a stored procedure call itself, Can a stored procedure call itself or r...

Can a stored procedure call itself or recursive stored procedure? How much level SP nesting is possible? Yes. Because Transact-SQL supports recursion, you can write kept proced

Define blocks, Define blocks? The database system resides eternally on ...

Define blocks? The database system resides eternally on non-volatile storage, and is into fixed-length storage units known as blocks.

What are the causes of bucket overflow in a hash file, What are the causes ...

What are the causes of bucket overflow in a hash file organization? What can be done to reduce the occurrence of bucket overflow? When a record is inserted, the bucket to that

What is nested relational model, What is nested relational model? The n...

What is nested relational model? The nested relational model is an extension of relational model in which domains might be either atomic or relation valued.

Datawarehouse, Explain four causes for failures in data warehouse projects

Explain four causes for failures in data warehouse projects

Find the employee name, Example -Find the employee name, salary, department...

Example -Find the employee name, salary, department number and average salary of his/her department, for those employees whose salary is more than the average salary of that depart

Data manipulation language, Data Manipulation Language Data manipulatio...

Data Manipulation Language Data manipulation language (DML) describes a set of commands that are used to query and change data within existing schema objects. In this case comm

View serialiabilty-labelled precedence graph, how to construct labelled pre...

how to construct labelled precedence graph for view serialiability.please explain insteps with one solved examples

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd