During regular operating hours, remote ITA agents can send a request to head office to try to obtain a refund for customers in lieu of significantly delayed flights, missed connections, and flight cancellations. This process requires agents to submit a considerable amount of information described below. It also allows head office to generate a multitude of reports about approved and denied refund requests. This document describes both the information agents submit and the types of possible reports head office may ask for.
All refund requests are assigned to multiple ITA agents (called Refund Reviewers) for review prior to being accepted. This is done to prevent fraudulent requests from being approved and processed.
1. Types of User Accounts and Permissions
The system must provide for the following types of user accounts:
ACCOUNT TYPE NAME PERMISSIONS
2. System Features
2.1 User Accounts Management Feature
The user must first create a unique ID and password and choose one the following three possible roles to enter the system: agent, refund officer, and administrator. A user trying to register as a refund officer or new administrator needs to have her account approved by one of the existing administrators. A refund reviewer role can only be assigned to an agent. All new accounts require the following data to be submitted upon registration:
User Profile
Please note that in order to be eligible as a refund reviewer, one must be a current agent of the ITA organization that hasnt submitted a refund request in the last week.
2.2 Enter/Update/Delete/Save/Submit/View Refund Request (by an Agent)
Features
Upon logging in, an agent is asked to supply the following information as part of his/her application:
1) Agent Profile
2) Booking Information
3) Refund Request
Once all required fields have been verified (e.g., not empty and with the correct type of data), the agent can choose to save or submit his/her refund request. Once a verified refund request is submitted, the agent will receive a confirmation from the refund request system. An agent can no longer update nor delete his/her refund request once submitted. An agent can view his/her request at any time.
2.3 Check Status Feature
After submitting a refund request, an agent will be able to check the status (approved or rejected) of his/her refund request.
2.4 Reports Management Feature
Here are some examples of the statistical analysis this system supports and that an administrator or a refund officer may choose to generate and view:
2.5 Search Agents/Refund Requests Feature
A refund officer or a refund reviewer can look up a refund request by using one or a combination (using ANDs and/or ORs) of the following criteria: customers first name, family name, passport number, agent ID, flight date and/or flight code. A successful search will result in all of the refund request information (i.e., all of the data described in section 2.2) being displayed.
2.6 Search Refund Reviewers Feature
A refund officer can look up a refund reviewer by using one or a combination of the following criteria: agents first name, family name, office location, and/or the ID of the reviewing agent. A successful search will result in all of the parts of the agents profile being displayed (i.e., all of the data described in section 2.1).
2.7 Assign Refund Reviewer Feature
A refund officer must assign 4 reviewers each time a refund request is submitted. These reviewers must not be submitting a refund request in the current week. For this project, however, you can randomly assign these reviewers (as long as none of them is the refund requester!). Once assigned to a refund request, a refund reviewer can access and assess a refund request assigned to her.
2.8 Refund Approval Feature
A refund officer verifies and then approves or rejects a submitted refund request.
For this project, you can randomly choose to approve or reject a refund request.
2.9 Refund Reviewer Search and View Assigned Refund Request and Enter Review Report Feature
A refund reviewer can look up a specific assigned refund request using one or a combination of the following criteria: refund request ID, date applied, refund type, agent ID. A successful search will result in all of the refund request information (i.e., all of the data described in section 2.2) being displayed. The refund reviewer may then input a link to a file containing her assessment of the request
1.Purpose:
In class, you learned how to decompose a relational database schema into a schema that satisfies different normal forms (NFs).
In this assignment, you need to practice designing a database for a given system using a mathematical way that guarantees the designed database satisfies the required normal forms that have neither redundancy nor anomalies.
2.DeliverablesandEvaluationMethod:
The detailed specification of the ITA system requirements can be found in DB - ITA_System_spec(v3).pdf.
Relation1{userID, userFirstame, sserLastname, middleInitials, emailAddress, officeLocation,
officeAddress, Position, daytimePhonenumber, language, authenticationQuestions, answerPair, agentID,
datelastrequestApplication, timelastrequestApplication, adminID, officerID, custmorFirstname,
customerLastname, customerMiddleinitials, dob, gender, currentAddress, daytimePhonenumber,
passportNumber, foodPreference, bookingCode, bookingAgentID, originAprilport, destinationAirport,
flightCode, airportCode, arrivalDate, arrivalTime, departureDate, departureTime, bagairportcode,
bagarrivalDate, bagarrivalTime, bagdepartureDate, bagdepatureTime, recentlyVisitedcounty,
countryArrivalDate, visitDuration, ticketPrice, flightDate}
Relation2{request ID, applicationDate, refundType, flightCode, flightDate, flightOrigin, Destination,
agentID1, agentID2, agentID3, agentID4, decisionDate}
For this assignment, the individual submission of each student must include:
Part I: Relational Database Design by Decomposition
1. 3.1 First, write down a primary key and all functional dependences for each of the two given giant tables Relation1 and Relation2 after analyzing the system requirements.
3.2 Then create a new database schema resulting from the decomposition of the schema of step 3.1 so that all relations end up in BCNF. You must show the steps of your decomposition process from the two given tables to the final set of tables that are in BCNF.
Part I: Comparing the Two Design Solutions
2. A detailed comparison of the database schema of step 1 with the database schema for Relation1 and Relation2: you must describe the pros and cons of each of these two schema designs using at least 3 real examples. For example, in order to produce a certain report (described in DB - ITA_System_spec(v3).pdf), what kind of join need to be performed and which two designs is the preferred design in that specific situation? Detailed analysis is required for each example.
Bonus: Beyond the above-mentioned deliverables, you must perform at least one of the following two tasks:
a. further decompose your schema to satisfy 4NF (with decomposition details), then compare it with the schema that you got for this assignment and the one specified in table 1. OR
b. provide detailed proofs illustrating that your result is already satisfying 4NF