top of page
realcode4you

Database Design Project Help | Advance Database Concepts Project Help | Realcode4you

This database design task will measure your ability to:

  • Analyse the requirements outlined in the problem description

  • Develop a conceptual model for the design of a database backend required for the system

  • Use an industry-standard ER modelling tool to draw the ER model

  • Use 7-step mapping process to create relational database schema

  • Use normalisation process to evaluate the schema and make sure that all the relations are at least 3NF

  • Create tables on SQLite Studio and populate them with data available from the specified sources.

  • Write SQL statements required for CRUD (create, read, update and delete) operations on the database you built

  • Develop your knowledge further to represent data in a meaningful way using data visualisation.


Part A: Understanding the Data

In this assignment, we are working with the publicly available dataset: A Global Database of COVID-19 Vaccinations. Further details about this dataset are available in the article available through the following URL:


https://www.nature.com/articles/s41562-021-01122-8. The abstract of the article is as follows.


An effective rollout of vaccinations against COVID-19 offers the most promising prospect of bringing the pandemic to an end. We present the Our World in Data COVID-19 vaccination dataset, a global public dataset that tracks the scale and rate of the vaccine rollout across the world. This dataset is updated regularly and includes data on the total number of vaccinations administered, first and second doses administered, daily vaccination rates and population-adjusted coverage for all countries for which data are available (169 countries as of 7 April 2021). It will be maintained as the global vaccination campaign continues to progress. This resource aids policymakers and researchers in understanding the rate of current and potential vaccine rollout; the interactions with non-vaccination policy responses; the potential impact of vaccinations on pandemic outcomes such as transmission, morbidity and mortality; and global inequalities in vaccine access.


A live version of the vaccination dataset and documentation are available in a public GitHub repository at

https://github.com/owid/covid-19-data/tree/master/public/data/vaccinations.

These data can be downloaded in CSV and JSON formats.


For the purposes of completing this assignment, we are only using the following files. You are required to review and analyse the dataset available in these files. You will find that reviewing the rest of the files, even if not listed below, will help you to form a better understanding about the big picture.


To complete the tasks in the following sections, you are required to review and analyse the dataset that is available in the named files.


Part B: Designing the Database (10%)

Task B.1 Produce an ER diagram for a relational database that will be able to store the given dataset.


It is important to note that the given CSV files are not necessarily representing a good design for a relational database. It is your task to design a database that will adhere to good design principles that were taught throughout the course. This means your database schema will not match the structure of the CSV files and, therefore, you will require to manipulate the structure of the dataset (and not the data itself) to import it into your database. Importing the data is required to complete Task C.2.


The ER diagram must be produced by Lucidchart similar to the exercises that were completed in in the course. UML notation is expected and using other notations will not be acceptable. Including a high-quality image representing your model is important, which can be achieved using Export function of Lucidchart.


You are also required to transform the ER diagram into a database schema that will be used in the next part of the assignment.


Creating a good database design typically involves some database normalisation activities. You should document your normalisation activities and support them with good reasoning. This typically involves explaining what the initial design was, what the problem was, and what changes have been made to rectify the issue.


The expected outcome of completing this task is one PDF file named model.pdf containing the following sections.

  1. Database ER diagram and, if needed, a reasonable set of assumptions.

  2. Explanation of normalisation challenges and the resulting changes.

  3. Database schema.


Part C: Creating the Database and Importing Data (10%)

Task C.1 Produce one SQL script file named database.sql. This script file requires all the SQL statements necessary to create all the database relations and their corresponding integrity constraints as per your proposed design in Part B. The script file must run without any errors in SQLite Studio and contain necessary commenting to separate various relations. Note that this script is not supposed to store any data into the relations.


The expected outcome of completing this task is one script file with the specific name of database.sql.


Task C.2 Create a database file named Vaccinations.db. Import the given dataset into your database.


To complete this task, you may need to change the format of the CSV files to match the attributes of your designed database. You can use a spreadsheet editor such as Microsoft Excel.


The next step is to import the spreadsheets into the database you create in SQLite Studio. To complete this task, use the menu option Tools – Import in SQLite.


The expected outcome of completing this task is one database file named Vaccinations.db, which must contain all the data that is stored in the CSV files named in Table 1.


Part D: Data Retrieval and Visualisation (15%)

Now that you have created and populated a database, it is time to create some queries to investigate the data in various ways. In addition to writing the required queries, you are also asked to produce data visualisation for the results of your queries.


The tasks in this section represent the queries that must be supported. Each query must consist of one SQL statement. It would be acceptable to use several nested queries, combine several SELECT statements with various operators etc. However, it would not be acceptable to have multiple and separated queries for each task.


After you have written each query, you are expected to produce a data visualisation for each result set. You have the freedom to choose the tool for creating your visuals (e.g., Excel, Google Charts, Tableau) as well as the visualisation techniques (e.g., charts, plots, diagrams, maps). Completing this portion of the work will require that you understand the nature of the results of each query, undertake research to choose a visualisation tool you are comfortable with, decide about the best technique to visually represent each result set, and produce the visualisation. Answers to tasks in Part D that are not supported by a visualisation can achieve up to 80% of the grade associated with each task.


The expected outcome of completing this task is as follows.


  1. One SQL script file named Queries.sql containing all the queries developed for the tasks in this section. It is important that you add comment lines to separate the queries and indicate which task they belong to. Note that valid SQL comments must not generate errors in SQLite Studio. The marker of your work will use this file to execute and test your queries.

  2. A PDF file named QuerieResults.pdf containing the following elements for each task.

a. The SQL query

b. a snapshot of the first 10 results of your query. The snapshot must also show the total number of results retrieved by the query. A sample snapshot is provided below for your reference.



c. Data visualisation. This must be represented as a graph or chart that presents the results in a meaningful and easy to understand manner.


Task D.1 List the running total of the number of people who have taken the vaccine so far for each observation day recorded in the dataset for each of all countries - this isn’t the number of vaccines each day. DN should be the day number relative to the first day of vaccinations for each country (starting from day 0).


Each row in the result set must have the following structure.


Task D.2 Find the countries with the biggest cumulative numbers of COVID-19 doses administered by each country (Note: the result may include multiple countries or a single country). Produces a result set containing the name of each country and the cumulative number of doses administered in that country.


Each row in the result set must have the following structure.


Task D.3 Produce a list of vaccine types with the countries taking each vaccine type. For a vaccine type that has been taken in multiple countries, the result set is required to show several tuples reporting each country in a separate tuple.


Each row in the result set must have the following structure.



Task D.4 There are different data sources used to produce the dataset. Produce a report showing the largest total number of vaccines administered according to each data source (i.e., each unique URL). Order the result set by source name (URL).


Each row in the result set must have the following structure.


Task D.5 How does various countries compare in the speed of their vaccine administration? Produce a report that lists all the observation months in 2022 and, for each month, list the total number of people fully vaccinated in each one of the 4 countries used in this assignment.


Each row in the result set must have the following structure.


Comments


bottom of page