NIT1201 Introduction to Database Systems
Assignment Specification (30%)
Group work only- Group of four
Due date: week 11, trimester 1 2019
Submission via drop box on VU Collaborate only, no email submission will be accepted.
The objective of this assignment is for you to put into practice the many different skills that you are learning in this unit into a single cohesive database project.
You will be designing a database to meet a specific organizational need. To do this you will work through the various stages of database design, including identifying user requirements, developing an understanding of the entities required and the relationships between them, as well as identifying the business rules associated with the processes that are driving the need for the database. You will then develop appropriate data models and design and implement the database. You will demonstrate that your database implementation is viable through a series of queries and updates on the database.
VU University (VU)organizes table tennis match at university wide for both staff and students. This is an annual activity that has a history of 11 years. You are asked to design a small database for the organizer to record data for better management service in the future.
Every year, there are 20 teams participating in this table tennis match. The team can be formed by staff and students together. For each team, there is at least one staff to be the leader of the team, who will communicate with organizer and leaders from the other teams. A team needs 4 to 8 members, including the leader. A form was used to collect the member information of each team. The leader needs to submit this form to organizer two weeks before the first game. In the form, all members’ name, contact email address, role (leader, primary player, or substitute), staff/student ID are provided. One staff or student can only play for one team. Each team has a name for itself, which is also provided in the form.
The match lasts four weeks for four rounds. Games are all played at weekends. Four teams will be put in one group. Each team needs to play with all other three teams in its group. Each group has two top teams to enter the next round. In the second round, 10 teams will be put into two groups. Each team plays with other four teams, and the top two teams will enter into the semi-final games. Four teams in the semi-final games, and each team plays with other three teams, the top two teams will enter into the final game.
Each game has three sections. In each section, the team who firstly achieve 11 points wins. Out of three sections, the team who firstly wins two section wins the game. Both single and pair games are played. Each team only allow four members to play the single games. That is four single games will be played between two teams. For pair games, there are also four players allowed. Then two pair games will be played between two teams. Therefore, totally six games will be played between two teams. All the section scores need to be recorded together with team names, players and date of the game. Please be noticed that not all games play three sections. If one team wins the first two sections, then the game is over. By end of the match, all teams are ranked based on their total points achieved. This ranking list is recorded with the ranking numbers and team names in ascending order.
The tournament has 15 referees; a referee is assigned to a single match at the first round. The organizers keep
records for referee performance for each match (you can measure performance on a scale from 1 to 10). For the
second round, four referees with highest score will be selected. For the semi-final, two referees will be chosen, and
for the final the referee with highest score will be assigned.
You have been commissioned to develop a database system that is capable of keeping records for FU’s table tennis matches from now on.
The database needs to keep a record of:
• All team information, including players’ information
• All games, sections, the players involved and the scores
• The winner team of each game
• The teams play in each round
• The match winner team
• The ranking of the teams of each year’s match
• The referee assigned for each game and their performance score
Further, it should be possible to generate a report on:
• Game scores after each round, including section scores
• The total number of games that each team played in a match
• The total scores of each team after a match
• The ranking list of teams after a match
• The winner list of all recorded matches
• Referees ranking, referee with best performance at all matches
Steps you need to take to develop your database application
1. Complete the analysis and design of your database application
a. List the business rules for your system.
b. Identify the entities and relationships in your system.
c. Identify the characteristics of the entities in your system.
d. Develop an ER diagram to model your system.
e. Develop table structures from the ER model.
f. Conduct a dependency analysis of the table structures and normalize your tables where appropriate, to at least 3NF.
g. Create a data dictionary for your database.
2. Implement your project
a. Create a database that hosts your application data
b. Create tables in your database. These must be consistent with your design.
c. Populate all tables with sample data (at least 10 entries in each)
d. Create the required views, stored procedures etc. to meet the requirements of your system
3. to write SQL commands
1. SQL codes are provided for database and table creation
2. SQL codes are provided for data record insertion Reports by SQL:
3. to show the winner of each game in each round
4. to sort all teams according to their scores (ascending)
5. to provide a report for a referee with all the games he served
6. to provide a list of the loser teams
7. to provide a list of all players in all teams
8. Game scores after each round, including section scores
9. The total number of games that each team played in a match
10. The total scores of each team after a match
11. The winner list of all recorded matches
12. Referees ranking, referee with best performance at all matches
You need to be able to demonstrate that your database application meets the requirements detailed in the scenario as well as be consistent with the model you have developed. Submission Requirements
Your assignment should be composed of the following parts:
1. Project document which includes the following:
1.1. A list of the business rules;
1.2. ER Diagram(s) prepared using software such as MS Office Visio or any other ER diagram tool. These should include all necessary information about the entities, attributes and relationships. Please provide clear and easy-to-read screenshot of your ER Diagram(s). If you draw your diagram(s) in MS Visio, please submit the Visio file too;
1.3. Data dictionary in the format shown in the lecture notes;
1.4. Database design and table structures showing table names, as well as any related entity integrity and referential integrity constraints. Include in the table structures attribute data types, sizes, primary keys, foreign keys and any other relevant information;
1.5. Diagrams showing the dependency analysis for each of the tables. You need to demonstrate that all tables are in 3NF. Show the process of normalization including tables in 1NF, 2NF and 3NF respectively. Please refer to the examples in lecture notes;
1.6. The SQL code you used to:
1.6.1. Create and populate the database; 1.6.2. Create each of the reports identified in the assignment specification.
2. Database implementation in XAMPP
2.1. All the tables of your assignment must be implemented in XAMPP. Please provide screenshots as evidence of your implementation.
2.2. All the tables must be well defined with appropriate primary keys and foreign keys where applicable. Please provide screenshot of table structures.
2.3. All tables must be populated with sample data (at least 10 entity instances – rows – in each table). Please provide screenshots of table data records.
End of Assignment