On successful completion of this module students will be able to
1.Understand fundamental concepts of database management systems such data independence, data models and database technologies
2.Be able to design and implement relational database systems
3.Be able to use manipulation and querying tools, including the use of Structured Query Language (SQL) for managing data held in a relational database management system (RDBMS)
4.Be able to test and document relational database systems
Jet Airline is an international airline company who is looking to develop an effective RDBMS to cater their needs for their growing business. As a junior developer, you have been asked to develop a database for New Jet 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.
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, like 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
Tasks / Deliverables of the Assignment 1:
Marks are awarded for producing a properly documented system that meets the requirements as specified below:
Task 1: Understanding of database [ 20%]
By relating your discussion to the above scenario where applicable,
1.Compare database systems to file based systems. Your discussion should include the advantages, disadvantages and limitations of each.
2.Discuss the characteristics of Hierarchical, network and relational database models and present practical applications where each one might be more appropriate to use.
3.Top-down and bottom-up are the two common approaches to a relational database design. Discuss the strengths and weaknesses of Top-down and bottom-up approaches and where each one might be appropriate to use. Comment on the approach you will use for this task and give your reasons.
Task 2: Conceptual Modelling [20%]
1.Identity all the possible entities that 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 New 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.
Task 3: Logical Modelling [25%]
1.Discuss the principles of normalization and demonstrate by 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. (There is no requirement here to go through the full list of attributes in the data model for the New 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.
Task 4: Physical Modelling [30%]
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 created with some data. The data should be meaningful but does not need to be extensive.
Although much of your report will contain existing body of knowledge, you must write your assignment with your own words to demonstrate your understanding of the subject. You are required to follow the Harvard referencing system when citing others' work. An accompanying list of references must also be provided as part of your report. Extensively referenced work reflects the level of research you conducted in the process of producing the document. It is also an acknowledgement of other people’s work. Correct referencing demonstrates your academic and professional skill. It also reflects your academic honesty and thus to some degree protects you from cases of plagiarism.
Preparation Guidelines for Assignment Report
1.All components of the assignment report must be word processed (hand written text or hand drawn diagrams are not acceptable), font size must be within the range of 12 point to 14 point including the headings, body text and any texts within diagrams.
2.Standard and commonly used fonts such as Times New Roman, Arial or Calibri should be used.
3.Your document must be aligned left or justified with line spacing of 1.5.
4.All figures, graphs and tables must be numbered and labelled.
5.Material from external sources must be properly refereed and cited within the text using the Harvard referencing system.
6.All components of the assignment (text, diagrams. Code etc.) must be submitted in one pdf file.