Reference no: EM132629733
COIT20247 Database Design and Development - Central Queensland University
Part A. Database implementation using MS Access Introduction
The sample solution of assignment 1 will be released on the unit website approximately two
(2) weeks after the assignment 1 due date. You must use that sample solution of assignment 1 only for the following tasks:
Assessment task
1 Normalization
a) Map the ERD, from the sample solution, into a set of relations in at least Third Normal Form (3NF). You must ensure that your relations meet 3NF. There is no need to show your working.
b) Select any two of your relations from the previous step, 1a), and perform the following for each of those two relations:
• List all the functional dependencies exist in the relation.
• Demonstrate that the relation meets Third Normal Form (3NF).
For your help, an example for a Student relation's 3NF justification has been provided below: STUDENT (StudentID, Name, Address, DateOfBirth)
i. The primary key is StudentID which identifies a student. There will be one student name per Student ID because only one name is recorded for each student. Even though a student may have multiple addresses (e.g. a home address and a work address), the case study states that there is a need to record the home address only and hence there will be only one address for each student. There will be only one date of birth for each student. Thus, there are no repeating groups. Hence, this relation is in 1NF.
ii. The primary key is StudentID. This is the only candidate key since Name is not guaranteed to be unique (two different students may have the same name). Address is also not guaranteed to be unique. This means that Student ID functionally determines every other attribute in the table. There is a single valued simple candidate key
(StudentId) and therefore no partial dependencies are possible. Hence, the relation is in 2NF.
iii. Name cannot be used to functionally determine any other attribute in the table since two different students may have the same name; likewise for address and date of birth. Therefore there are no transitive dependencies in the table. Therefore it meets the requirements of first, second and third normal form.
2 Relational database implementation
In implementing the ER model provided, you must complete the following tasks:
• Create all the relations in a Microsoft Access database. Consider each attribute in every table and make appropriate choices regarding data types & sizes, indexes, required/not required and validation rules. Your choices should be appropriate for each attribute and should support data integrity. (Note: see the Data Integrity section below for specific data integrity requirements)
• Create relationships as appropriate. Enforce referential integrity for all appropriate relationships in the database. Apply cascade update and/or delete options wherever necessary.
• Review the default index created by Access for each table. You should ensure that the indexes follow the guidelines given in the unit textbook.
• Populate the database with sample data of your own. You must include sufficient sample data to test your queries and report.
Data integrity
You are required to implement integrity constraints within the database to enforce the following requirements:
• For the test table, the result of test only can take the value either ‘positive' or ‘negative'.
• For the hospital table, the number of respiratory machines must be in the range between 0 and 1000.
• The treatment description in the treatment table should not be blank.
• For the test table, the primary key testID must be consisted of a letter ‘T' (or ‘t') and following three digits.
Information requests
Create queries to answer the following information requests. Note: Do not use the Access query builder (QBE) to create your queries - you should type the queries manually using SQL view/editor.
The marking process of the queries for information requests may also consider the effectiveness of your SQL statements that have been used in the queries. It is important that your SQL statement must reflect the correct business logic & SQL syntax. (Note: Use enough sample data so that the output is produced by each and every query).
Question 1. List the full names, phones, and ages for these patients whose home addresses are either in Brisbane or Gold Coast, and their ages are greater than 60 years old. Order by their family names.
Question 2. There are many doctors in each hospital. But not every doctor participates in the treatment work due to their different specialties and other tasks. List the names and specialties of doctors, who are working at Princess Alexandra Hospital in Brisbane and have not participated in the treatment work of corona virus-infected patients.
Question 3. List details of the patients from Rockhampton and their closely contacted persons. These details include patient's full names and phones, closely contacted person's full names and phones, as well as the contact process or scenario descriptions.
Question 4. List the names, phones, and the number of virus tests for the patients who are from Brisbane.
Question 5. Which hospitals have the highest number of respiratory machines? Find out the names of the hospitals, their phones, and the number of respiratory machines.
Question 6. Which patients have been tested more than once on virus test? Show the patient names, phones, and the number of virus tests.
Report
Create a simple report object showing the details of patients under the treatments. The details should include the patient's full names, treatment descriptions, responsible doctor names, and the hospital names. You need to provide appropriate heading and format the report properly.
Implementation Report
You must also provide a short implementation report describing your experiences with this assignment. You may discuss any of the following:
1. Any two interesting things/procedures you learnt by doing this assignment.
2. Any one requirement of the assignment that was relatively difficult / complex to solve but successfully completed by you.
Use the implementation report to demonstrate that you have thought carefully about the issues that arise when implementing a relational database.
Part B. Database implementation using MySQL Server (Optional)
Consider a simplified version E-R model on the treatment activity, where you only deal with three relations Patient, Treatment and Doctor (ignore all other relations) based on the E-R model provided for assignment 1 sample solution. Using MySQL Workbench 6.3 CE to create a database with the above three relations, include specifying the primary keys, foreign keys and drawing an E-R diagram. Alternatively, you can complete the above task by using My SQL 5.7 Command Line Client to create the database and corresponding tables with sample data populated.
Due to COVID19, the face-to-face demonstration of creating database schema from students by using MySQL becomes unviable. Therefore, Part B is not required to implement. You don't need to submit a separate file on this part. In Week 11 or 12 tutorial session, your local tutor will show you the basic skills on how to create a database using MySQL Workbench.
Attachment:- Database Design and Development.rar