Assignment -
Case Study: Developing a database for ICON Summer Games
ICON College holds an amusement competition in the late spring comprising of numerous activities ranging from table/card games such as monopoly to hard physical field games such as basketball. Students will be able to show interest and participate in any activity of their choice.
Records will be kept for each registered player, participating events/activities, their achievements in such events and awards given. Records will also be kept for each event, participating registered players, past records/goals to beat, participants' scores/activities to identify winners and present awards, and criteria/rules for participation.
Each match will be refereed to guarantee that reasonable play is observed and to pass judgment on the possible winners.
The summer game requires a design of a database with the above specifications indicating necessary keys and relationships. An Entity Relationship Diagram needs to be drawn for the entities along with their attributes such that the database is in the third normal form (Apply 1NF, 2NF and 3NF).
Summary: Design a relational database that is capable of maintaining Events, Participants/Players, Matches, Results and overall tournament standing.
LO1: Use an appropriate design tool to design a relational database system for a substantial problem
It is important to show the different components of the case study data that illustrates the logical structure of the tables that makes up the database. In this view, you are required to illustrate the data structures and relationship of the tables extracted by designing the Entity Relational Diagram. Your implementation should illustrate at least four (4) inter-related tables resolving "many to many" relationships if there are any. It is necessary to explain any assumptions made for the user and system requirements.
From the tables extracted, ensure to list all the attributes. The aim of normalization is to reduce duplications. You are to produce a well normalized database up the third Normal Form following your listing specifically identifying the primary and foreign keys. The effectiveness of database design is usually assessed through testing. Assess your database design in relation to the user and system requirements.
LO2: Develop a fully functional relational database system, based on an existing system design
After a successful database design, the next step is to develop the database using the structured query language. Using your design as a guide, develop your database by all the tables using Structured Query Language with necessary attributes and declare primary and foreign keys where necessary. Ensure your implementation is justified to meet user requirements. The tables created must be populated with records of at least five (5) entries for each table to enhance querying your database.
There are different tools or applications or platforms that helps in developing and querying the database e.g. Ms SQL Server. You are required to use a visual tool to demonstrate the extraction of meaningful data through the implementation of query languages. To justify the use of SQL, it is important to include screenshots of the SQL and the query outcome. To enhance your understanding, ensure to evaluate each of the queries in answering the transactions. These transactions are itemized as below:
a) List all the available events in the tournament.
b) List all the players' names, addresses, phone numbers and email addresses.
c) List all the events that participant John Smith is registered for in ascending order by date.
d) List participants' names who won more than 3 matches
e) List all the participant IDs, names, match-date, event ID and event name played in August 2017.
f) Update a participant's address from a city to London
g) Count all matches in October 2018.
Note that it is mandatory to provide the SQL statement and show the output from the query in the form of screenshots.
Due to the data-specific nature of databases, it is important that they are secured and maintained. To reflect your understanding of database security and maintenance, you are required to assess how these are ensured in your implementation of the fully functional database system in accordance with users and system's requirements. Suggest how to better write or structure the languages in future use.
LO3: Test the system against user and system requirements.
It is necessary to test database and in the process of successfully carrying out testing, a test plan suffice. In your report, outline how the system has been tested against users and system's requirements. This test plan preferably to be in a table format illustrating at least six (6) records tested. Ensure to have "Test Description", "Expected Outcome", "Actual Outcome" as headings. The "Actual Outcome" heading should include a visual representation such as screenshots of results and annotations.
From the test plan created, you are to explain the different database testing techniques and assess with evidence, one of the testing techniques implemented on your database development. You are required to implement and test the verification and validation process with above query transaction from the database illustrating the understanding of the various features of SQL (update, sorting, joining tables, conditions using the where clause, grouping, set functions, sub-queries etc.). In your report, include recommendations on how you can improve your database development.
LO4: Produce technical and user documentation
Documentation helps in understanding the concept of database development. To reflect your understanding of technical and user documentation, you are required to produce a fully technical and user documentation for your designed database for the college. Your documentation should include diagrams showing movement of data through the system, and flowcharts describing how the system works.
Enhancing database development is paramount in completing the development cycle. You are required to assess any future improvements that may be required to ensure the continued effectiveness of the database system.