COIT20247 Database Design and Development (T12017) Assessment item 2—Assignment
This assessment item relates to the unit learning outcomes numbers 1, 2 and 3 as stated in the unitprofile.
Thesample solution of assignment 1 will be released on the unit website approximately two (2) weeks after the assignment1 duedate. 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 relationsin at least Third Normal Form (3NF). You must ensurethat your relations meet 3NF. There is no need to show yourworking.
b) Select any two (2) of your relations from the previous step, 1a), and perform the following for each ofthose two relations:
· List all the functional dependenciesexist in therelation.
· Demonstrate that the relation meets Third Normal Form (3NF).
For your help, anexample 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 becauseonly one nameis recorded for each student. Even though astudent may have multiple addresses (e.g. a home address and a work address), the case studystates 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 birthfor 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 guaranteedto be unique (two different students may have the same name). Address is also notguaranteed to be unique.This means that Student ID functionally determines every other attribute inthe table. There is a single valued simple candidatekey (StudentId) and therefore no partial dependencies are possible. Hence, the relation is in 2NF.
iii. Name cannot be used tofunctionally determine any other attribute in the table since two different students may have thesame name; likewise for address and date of birth. Therefore there are no transitive dependenciesin the table. Therefore it meets the requirements of first, second and third normalform.
2 Relational databaseimplementation
Note: Use the relations that you created in the above step 1-Normalization to create a database. The recommended tool for this work is Microsoft Access, version 2010 or later. One reasonfor recommending Microsoft Access is that your unit lecturer/tutor will be able to provide adequate support to you in the use of this tool.IfyouchoosetouseadifferentDBMS,thenthereisnoguaranteethatyourlecturer/tutorwillbeableto provide enough support to you. The remainder of this document assumes that you are using MS-Access.
In implementing the ER model provided, you must complete the followingtasks:
· Create all the relations in a Microsoft Access database. Consider each attribute in every tableand make appropriate choices regarding data types & sizes, indexes, required/not requiredandvalidation rules. Your choices should be appropriate for each attribute and should supportdata integrity. (Note: see the Data Integrity section below for specific data integrityrequirements)
· Create relationshipsas appropriate. Enforce referential integrityfor all appropriaterelationships in the database. Apply cascade updateand/or delete options wherever necessary.
· Review the default indexcreated by Access for each table. You should ensure that theindexes follow the guidelines given in the unittextbook.
· Populate the database with sample data of your own. You must include sufficient sample data to testyour queries and report. Please note thatthe expected result of query questions may depend on the actual sample datapopulated.
You are required to implement integrity constraints within the database to enforce thefollowing requirements:
· Fees/Charges should be positive currency and expressed in 2 decimals only.
· Date values should not be predated.
· Name of patients/medical specialists should not be null.
· State values should be limited to Australian States/Territories only.
· Skills and experience values should not be null.
· Discount amount should be positive and cannot exceed $50.
Create queries to answer the following information requests. Note: Do not use the Access querybuilder (QBE) to create your queries – you should type the queries manually using SQLview/editor.
Themarking process of the queries for information requests may also consider the effectivenessofyour SQL statements that have been used in thequeries.ItisimportantthatyourSQLstatementmustreflectthecorrect business logic & SQLsyntax. (Use enoughsampledata so that the output is produced by each and every query).
1. Display the details of medical specialist(s) who has/have never performed/completed any appointment.
2. Display the details of appointment, name of the patient and medical specialist involved in the most expensive appointment.
3. For each of the medical specialists, display his/her name and the number of appointments completed so far.
4. For each of theappointment completed, display the date, (start) time, name of the patient and total fees/charges of theappointment, discount amount and final amount payable. (Final amount payable = total appointment charges – discount amount )
5. Which patients have consulted more than one specialist? Display the details of such patients only.
6. Display the details of the patient(s) whose name contains the word “more”. Show the results in ascending order of the name.
Note: The word ‘name’ is a reserved word in MS Access. Wherever you use it for SQL query, youneed to put a bracket like [name]. Follow the same technique for other reserved words too.
Createasimplereport objectshowingthedetailsofskills and experience of the each of the medical specialists. The details have to be presented in ascending order of the (first) name of the medical specialist.
· Create a query that lists all details needed for a report. If you are unable to formulate this query, then create a report that is based directly on the table(s). [Note: you will not be able to obtain full marks for the report creation if you base your report directly on the table(s) and some criteria are not met in your reports.]
· Use the report wizard to generate a basic report based upon your query [or the table(s) if you were unable to formulate the query].
· Once the report wizard finishes, switch to design view and rename the labels appropriately; for example, change the label ‘ConsultationDate’ to ‘Consultation Date’.
You must also provide a short implementationreport describing your experiences with thisassignment. You may discuss any of thefollowing:
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 thatarise when implementing a relationaldatabase.
What you shouldsubmit
Microsoft Access databases filecontaining:
1. Tables with sampledata
5. Report (object).
A Microsoft Word documentcontaining:
1. Two relations with functional dependencies and demonstration ofnormalization
Your document should contain appropriate identification information (your student number, name,unit number, etc.) and should contain the relevant headings for eachsection.
· You must work individually on this assignment.
· The model solution to this assignment will be released approximately two (2) weeks after the due date.
· Assignments that are submitted after the release of the model solution will receive zero marks.
· You must state in your word document the details of all materials and sources that you used to complete this assignment. This may be as simple as 'This assignment was completed using only the COIT 20247 unit materials'.
· Extension requests (by filling in an online form) should be submitted before the assignment due date.
· Before submitting your assignment, review the marking criteria provided on the last page of this document. Ensure that all the criteria are addressed in your submission.
· Penalties related to late submission and plagiarism will be applied as per University policy.
Assessmentcriteria COIT20247 Assignment 2 Marking Sheet
Relational database implementation (12 marks)
Set of relations correctly mapped from ERD
Functional dependencies correctly listed for two of the relations
Normalization correctly listed for two of the relations
Relationships set up correctly, referential integrity enforced, appropriate use of cascade update/delete
Data types & sizes selected appropriately
Indexes – Indexes are appropriate
Data integrity (3 marks)
Data integrity correctly implemented
Queries (12 marks)
Report (4 marks)
Underlying query/queries has/have been created and are correct
Report layout and heading are appropriate; grouping and sorting are appropriate
Implementation report (4 marks)
Implementation report discusses appropriate issues
Sub-total before any possible deductions
Late penalty (enter as the number of days late)
Assignment 2 total