You are on page 1of 10

Advanced Database Systems Group Assignment Page 1 of

10

In this assignment you are required to:

Form yourselves into groups of 3.

Design, develop and implement a solution to a business problem.

Implement the solution in either MS SQL Server or Oracle.

Document the solution as set out in the assignment requirements.

Submit individual personal reflection report about your work. Apart from your
presentation and viva marks, personal reflection will be considered to measure
the individual performance from both group and individual components. The
personal reflection report should provide a comprehensive discussion of the
system. Students should be able to explain in detail the work that has been
done and needs to fully discuss their roles and efforts in the project. Students
should also highlight development of their own element of product which was
then integrated by the team to compile a finished product.

Include a workload matrix, providing details on the distribution of work


amongst group members. The workload matrix has to be agreed and signed
off by ALL group members.

Submit a CD/DVD containing the softcopy of both your documentation and


application.

Demonstrate your application in week 15. All group members must attend the
demonstration. Demonstration schedules will be published at a later date.

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 2 of
10

Case Study

TRAVEL SAFE INTERNATIONAL (TSI) is one of the leading companies in the


business of providing global distribution systems regarding selling tickets for multiple
airlines. Its head office is located at New York. Passengers can be booked in one of
four classes First, Business, Premium Economy and Economy. One-way, Round-trip
and Multi-city options are available for flight booking. Multiple types of meal options
are available for different flights. Duration of the flight decides about serving
refreshment, single meal or multi meal. Special services, such as child-care are
provided for children aged between 2 to 11 years by offering special meal. Fare would
be based on different age categories for passengers as mentioned below.
Infant (Ages: under 2)
Child (Ages: 2-11)
Youth (Ages: 12-17)
Adult (Ages: 18-64)
Senior (Ages: 65 or over)

Fare for an infant depends on whether the infant is in lap or in seat. In case of
travelling with an infant in lap, the airlines will charge between 10-15% of the adult
fare whereas travelling with an infant in seat, the airlines will charge the child fare.
Some airlines have a maximum of 4 travellers per booking. Most of the airlines
restrict that a child aged up to 17 cannot travel alone but some of the airlines offer
unaccompanied minor service for children from 5 to 17 years of age to ensure that
child is boarded onto the aircraft, introduced to the flight attendants, chaperoned
during connections and turned over to the appropriate person upon arrival at his or her
final destination. The service is mandatory for all unaccompanied children and subject
to extra cost. Unaccompanied minor service is not required for children ages 17 and
younger when they are travelling with a parent or with an adult 18 years of age or
older. Two or more children who are travelling together will be assessed a single fee
in each direction. Wheel chair service is also provided by some airlines. General
constraints and rules applicable for flight reservation are being followed including but
not limited to baggage limit. Cancellations and ticket changes may be done with some
additional charges subject to validity of ticket. Regarding ticket changes, if travel has
started then ticket must be reissued and all travel must be completed within one year
of the start date. If travel has not started then ticket must be reissued and travel must
begin within one year of the original date of issue. If a traveller cancels or changes its
itinerary less than four hours before its scheduled flight, it will lose the entire ticket
value.

You are required to design a database covering following areas.

Flight Reservations
Flight Cancellations & Rescheduling

You are not required to deal with any of the companys other operations and you can
assume there is no need to consider concurrency, legacy or network issues.

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 3 of
10

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 4 of
10

Requirements:

1 DESIGN
(a) Develop an ERM to support TSIs activities. The ERM must include an ERD
which shows entities, relationships and should be followed by logical design
& functional modeling. Identify primary and foreign keys, and show
cardinality and optionality. Data must be in 3NF or higher unless it has been
denormalised for performance reasons in which case an explanation must be
given.

Your model should support the business requirements and you will be
expected to use advanced modelling techniques.
(30 marks)

(b) Document and provide a written description and justification of your


optimization strategy. Each group member is required to produce one
optimization strategy.
(10 marks)

(c) Document all the constraints included in your system and justify and explain
the constraints used and the ways in which they support the business rules.
Provide a functional description of all the triggers. Each group member is
required to design one constraint and trigger.
(10 marks)

2 IMPLEMENTATION
(a) Implement your design and the optimisation strategy. You will be expected to
demonstrate tables, referential integrity, appropriate test data, appropriate
constraints and appropriate optimisation techniques. You will be expected to
justify any mapping or denormalisation issues.
(10 marks)

(b) Implement the triggers and constraints for which you developed functional
descriptions. You must be able to explain and justify the constraints and
triggers during the presentation. Triggers which function but which the group
cannot explain will receive zero marks. Some marks may be awarded for non-
functioning constraints and triggers where the group can identify the issues.
(10 marks)

(c) Each group member is required to create and use ONE PL/SQL or T-SQL
feature (choose from: procedure; or function or user defined type) to support a
business requirement or enhance usability. One good quality example is
sufficient but you must be able to explain why and how you would use this
feature and what benefits it offers compared to other possible implementation
approaches. Features which function but which the group cannot explain will
receive zero marks. Some marks may be awarded for features which do not
function fully but where the group can explain the issues.
(5 marks)

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 5 of
10

(d) Every group member is required to create, document, and explain test strategy.
(5 marks)

(e) Create the following queries this section is worth 20 marks in total. Groups
must be able to explain the queries and justify the approach taken. Marks will
be reduced where groups cannot explain how they have arrived at their
solutions.

Member 1

i. Create a query which shows direct flights only for given dates, source
& destination.
(2 marks)

ii. Create a query which shows aircraft code, class code, and expected
revenue for each class code, along with the total revenue of each
aircraft for a given airline in a single journey.
(2 marks)

iii. Create a query which shows all passenger numbers with their
corresponding descriptions of reservation status and query should also
show the descriptions of reservation status that have not been assigned
any passenger numbers.
(2 marks)

iv. Create a query which shows the name of airline that has been most
frequently travelled through by the passengers for specified source and
destination in given range of dates.
(2 marks)

v. Create a query which provides, for each age category of passengers,


the following information:

The total number of infants, children, youths, adults & seniors


travelling through specified flight in a single journey operated by a
specified airline in given date. Result should contain both detailed
breakup & summary for above mentioned categories along with overall
summary.

Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)

vi. Create a query which shows the airline name offering maximum
number of journey routes along with names of source and destination.
(2 marks)

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 6 of
10

vii. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)

Member 2

viii. Create a query which displays flight details, such as, the aircraft code,
regular fare, and discounted fare for the first class. A 25% discount is
being offered. Label the columns as Aircraft, Regular First Class fare,
and Discounted First Class fare.
(2 marks)

ix. Create a query which displays the sorted details of flights to given city
code with the least duration flight displayed first.
(2 marks)

x. Create a query which displays the types of non-vegetarian meals


offered on flights.
(2 marks)

xi. Create a query which shows the names of countries to which TSI
provides flight reservations. Ensure that duplicate country names are
eliminated from the list.
(2 marks)

xii. Create a query which provides, for each airline, the following
information:

The total number of flights scheduled in a given date. Result should


contain both detailed breakup & summary for flights for each airline
along with overall summary.

Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)

xiii. Create a query which shows the names of the meal options available on
the given airline.
(2 marks)

xiv. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 7 of
10

Member 3

xv. Create a query which shows the minimum, maximum, and average
journey hours for flights to given city code. Display column headings
as, Minimum duration, Maximum duration, and Average duration
respectively.
(2 marks)

xvi. Create a query which shows the journey date, number of booked seats,
and class name for given passenger.
(2 marks)

xvii. Create a query which shows the names of meals not requested by any
passenger.
(2 marks)

xviii. Create a query which shows the details of passengers booked through a
specified airline in a given date for multi-city flights.
(2 marks)

xix. Create a query which provides, for each airline, the following
information:

The total number of unaccompanied children travelling in a given date.


Result should contain both detailed breakup & summary for
unaccompanied children for each airline along with overall summary.

Hint: you may wish to use rollup or cube statements with a query.
Some marks will be awarded for the query structure, even if you
cannot generate the totals.
(7 marks)

xx. Create a query which shows the details of passengers who have availed
any extra services for a given flight on specified date.
(2 marks)

xxi. Develop one additional query of your own which provides information
that would be useful for the business. Marks will be awarded
depending on the technical skills shown and the relevance of the query.
(3 marks)

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 8 of
10

Marking Scheme

The breakdown of marks for this assignment is as defined below:

Group marks (70%)

The marks allocated for the various sections (design and implementation)
mentioned above will be factored down to 70% and assigned as group marks.

(Note: Individual contribution from the group effort would be measured from
enclosed Evaluation Form)

Individual marks (30%)

20% Problem analysis and understanding of database development

10% Personal Reflection Report

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 9 of
10

Assessment Criteria:

Note: A single table design will receive zero marks for all elements of the
assignment even if there is some functionality.

The following guidelines indicate the standard that will be expected for each grade.
Each demonstration will be assessed individually and weaknesses in some areas
maybe compensated by strengths in other areas.

All members of the group must participate in the demonstration. Group members may
be awarded different marks depending on the quality of the contribution to the
demonstration. Marks will also be adjusted to reflect peer assessment.

Grade A+
An almost professional solution with all issues addressed in full. Excellent design and
implementation and explanations demonstrate a thorough understanding of the
problem and the features used.

Grade A
Demonstrates an excellent understanding of the problem. The ERM model will be
implementable and any errors and/or omissions will be minor. The database will be
implemented to a high standard of functionality and will be appropriately normalised.
Advanced data modelling features will be used and there will be some use of PL/SQL.
Queries will have been attempted and all or most queries will function. Other
elements to a high standard. Documentation will be to a high standard. The group
will be able to discuss their implementation at demonstration and will be able to
explain to describe the way in which they have attempted the project.

Grade B+
Demonstrates a good understanding of the problem. The ERM model will be
implementable and errors and/or omissions will be minor. The database will function
and will be appropriately normalised although with some errors and/or omissions.
Advanced data modelling features will be used. PL/SQL will be used but with some
errors or omissions. Queries will have been attempted and most queries will function.
Other elements attempted and generally satisfactory. Documentation will be
satisfactory. The group will be able to discuss their implementation at demonstration
and will be able to explain to describe the way in which they have attempted the
project.

Grade B
Demonstrates satisfactory understanding of the problem. The ERM model will be
implementable although with some errors and/or omissions. The database will
function and will be appropriately normalised although with some errors and/or
omissions. Queries will have been attempted and the majority of queries will function.
Most other elements attempted although with errors and/or omissions are satisfactory.
Documentation will be adequate. The group will be able to discuss their
implementation at demonstration and will be able to explain to describe the way in
which they have attempted the project.

Level 3 Asia Pacific University of Technology & Innovation 2017


Advanced Database Systems Group Assignment Page 10 of
10

Grade C+
Demonstrates adequate understanding of the problem. The ERM model will be
implementable although with errors and/or omissions. The database will function
although with some errors and/or omissions. Most data will be in 3NF but there may
be some normalisation issues. Queries will have been attempted and some queries will
function. Most other elements attempted although with errors and/or omissions.
Documentation will be adequate but explanations may be limited.

Grade C
Demonstrates some understanding of the problem. The ERM model will be
implementable although with errors and/or omissions. The database will function
although with some errors and/or omissions. Most data will not be in 3NF and there
may be some normalisation issues. Queries will have been attempted and some
queries will not function. Most other elements attempted although with errors and/or
omissions. Documentation will be lacking in explanations.

Grade D
Demonstrates limited understanding of the problem. The ERM model will not cover
major aspects of the scenario. The database will function but will have major errors
and/or omissions. Queries may not have been attempted or limited queries have been
produced. Other elements may be limited or not satisfactory. Documentation may be
limited or not to a satisfactory standard. Explanations will be limited but sufficient to
demonstrate that the group understands the work that has been submitted.

Grade D- (Marginal Fail)


Demonstrates quite limited understanding of the problem. The ERM model will not
cover major aspects of the scenario. The database will function but will have major
errors and/or omissions. Queries may not have been attempted or very limited queries
have been produced. Other elements may be quite limited or not satisfactory.
Documentation may be limited or not to a suitable standard. Explanations will be
very limited but sufficient to demonstrate that the group understands the work that has
been submitted.

Grade F (Fail)
Demonstrates poor understanding of the problem. The ERM model will be not be
implementable. The database may have limited functionality with major errors and/or
omissions. Queries may not have been attempted or very limited queries. Other
elements not attempted or not satisfactory. Documentation very limited or not to an
acceptable standard. Explanations will be limited and not sufficient to demonstrate
that the group understands the work that has been submitted.

Zero marks will be awarded for non submission, single table implementation or
insufficient explanations to demonstrate that the group understands the work that has
been submitted.

Level 3 Asia Pacific University of Technology & Innovation 2017