COIT20247 Database Design and DevelopmentAssessment item 2—Assignment 2Due date11:45pm on Monday of Week 11 (May 25, 2020)Weighting35%LengthNot applicable
ObjectivesThis assessment item relates to the unit learning outcomes numbers 1, 2 and 3 as stated in the unit profile.
Part A. Database implementation using MS Access (30 Marks)
IntroductionThe 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
1Normalizationa)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. The candidate key, StudentId, is a simple and single valued attribute. 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.
2Relational database implementation
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 reason for recommending Microsoft Access is that your unit lecturer/tutor will be able to provide adequate support to you in the use of this tool. The remainder of this document in Part A assumes that you are using MS-Access.
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. Please note that the expected result of query questions may depend on the actual sample data populated.
Data integritySelect one table that contains at least three different data type attributes, such as date, text and currency value attributes. For that selected table, develop and implement suitable integrity constraints for its attributes. You need to provide those integrity constraints in the following tabular form:
AttributeData typeIntegrity constraint implementedError message
Information requestsCreate 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 statements must reflect the correct business logic & SQL syntax. Note: Use enough sample data so that the output is produced by each and every query.
1.Display the details of customers for whom the most repair works have been performed.
2.List the details of employees who have not done any installation as on date.
3.Display the details of the customers who have contributed the maximum total amount of charges for their installation(s) and repair works.
4.Display the number of repairs, if any, that have been carried out for each of the installation.
5.Display the details of customer(s) whose name contains the word “air”.
ReportCreate a simple report object showing the details of installations for which no repair works have been performed. You need to provide appropriate heading and format the report properly.
Hints:•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 ‘InstalledDate’ to ‘Installed Date’.•You can create the report object without using report wizard too.
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 have learnt by doing this assignment.2.Any one of the assignment tasks that was relatively difficult/complex to solve but has been 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.
What you should submitMicrosoft Access databases file containing:1.Tables with sample data2.Relationships3.Queries4.Integrity constraints5.Report (object).A Microsoft Word document containing:1.A set of relations mapped from E-R diagram (3NF)2.Two relations with functional dependencies and demonstration of normalization3.A table showing integrity constraints used in the selected table4.Implementation reportYour document should contain appropriate identification information (your student number, name, unit number, etc.) and should contain the relevant headings for each section.
Part B. Database implementation using MySQL Server (5 Marks)Assume that CQAC is performing only installations in the premises of customers and they do not perform any AC-repair works. Consider a simplified version E-R model for the CQAC, where you only deal with three relations Customer, Installation and Employee (ignore all other relations). Based on this simplified E-R model and using MySQL Workbench, create a database schema with the above three relations, including the primary keys, foreign keys and an E-R diagram. Please see the document titled – Appendix - Guidelines and the assessment task for Assignment 2 – Part B on Moodle unit website.
For on-campus students: Demonstrate your implementation as required above in Week 10 or Week 11 tutorial time to your local tutor during the scheduled tutorial session. In one of those weeks’ tutorial session, your local tutor will show you the basic skills on how to create a database using MySQL Workbench. You don’t need to submit a separate file on this part.
For distance students: Include the .mwb file of your implementation of the above (created using MySQL Workbench) in a zip file and email it to the Unit coordinator (
[email protected]) by the end of Week 11.
Important points•You must work individually on this assignment. Penalties related to late submission and plagiarism will be applied as per University policy.•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. Assessment criteria
COIT20247 Assignment 2 Marking Sheet
1Relational database implementation (12 marks)Available marksSet of relations correctly mapped from ERD3Functional dependencies correctly listed for two of the relations2Normalization correctly listed for two of the relations2Relationships set up correctly, referential integrity enforced, appropriate use of cascade update/delete2Data types & sizes selected appropriately2Indexes – Indexes are appropriate12Data integrity (2 marks)Data integrity specified and implemented correctly for the selected table23Queries (10 marks)Query 12Query 22Query 32Query 42Query 524Report (4 marks)Underlying query/queries has/have been created and are correct2.5Report layout and heading are appropriate1.55Implementation report (2 marks)Implementation report discusses appropriate issues26Part B (5 marks)5Sub-total before any possible deductions35Late penalty 5% per calendar day Plagiarism penalty Assignment 2 total/35