Mars Airline is an international airline company who is looking to develop an effective RDBMS to cater for their growing business needs. Develop a database for Mars Airline which will satisfy all their requirements.
The database should contain information about passengers, flights, departure, employees of the airline and aircrafts.
• For passengers- name, address, phone number and related information to store.
• For employees- the company wants to record the name, address, salary, identification number and flight information.
Not all employees can fly aircrafts, just the pilots.
For all these employees, it is required to record the qualification i.e. what kind of plane they can fly.
• For planes- it is required to record the model and manufacturers of the plane. The airline has many aircrafts of certain type.
• For flights- the airline needs to keep the information, such as flight number, origin, destination, departure time and arrival time. For the same source-destination, there can be many flights per week.
Relevant assumptions (if required) can be made.
Database should be able to get the following information from the developed database:
1. Statistics of the payments, passengers, flights and employees
2. Number of bookings and cancellations for a specific day for specific journey
3. Number of flights for specific journey in a week.
4. Average number of passengers for specific source – destination
Introduction
1. Discuss the characteristics of Hierarchical, network and relational database models and present practical applications where each one might be more appropriate to use.
2. Compare the SQL databases and NoSQL databases. Your discussion should include the advantages, disadvantages, and limitations of each.
Modelling (conceptual)
1. Identity all the possible entities you can find in the problem scenario and list them in alphabetical order.
2. Using Crow’s foot notation, design a conceptual data model for the Mars Airline database in a modelling tool of your choice. All entity types and the relationships between them must be clearly shown. Your design should show all cardinality and participation constraints accurately. Any enhanced features used (e.g. generalization/specialization) must be indicated.
Modelling (logical)
1. Discuss the principles of normalization and demonstrate using examples the steps you followed to achieve normal forms in relation to the given scenario. Your demonstration must show the full process with explanations, starting from UNF, 1NF, 2NF to 3NF (Note: There is no requirement here to go through the full list of attributes in the data model for the Mars Airline).
2. Produce an ERD with all the normalized entities containing the relevant attributes. State any de-normalization, if any, in all your relations and clearly state the reasons for de-normalizing relations in your implemented solution.
3. Map an ER model devised above into a set of logical relations in the relational data model.
Modelling (physical)
1. Produce a script using appropriate SQL commands (DDL) to create a set of database tables using MySQL relational database. Your tables should also show all constraints applied at either the column or the table level. You are expected to implement the database so that it meets the requirements described in the scenario.
2. By using appropriate SQL statements, populate all the tables in the database you have created with some data. Note: the data should be meaningful but does not need to be extensive