Create Relationships as Appropriate

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 integrity


You are required to implement integrity constraints within the database to enforce the following requirements:

  • Part cost and labor cost should be positive currency and expressed in 2 decimals only.
  • The service date and the lodged date of a complaint can’t be future-dated.
  • Name of client/employee should not be null.
  • State values in the address attribute should be limited to Australian States/Territories only. (Note: The address attribute is a composite attribute which contains street, city, state and postal code.)
  • Registration number of a car must contain six characters. The first three characters have to be alphabets and the last characters have to be numerical only.
  • Total cost of a service job should be positive and cannot exceed $5000.


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. (Use enough sample data so that the output is produced by each and every query).


  1. Which services didn’t require the replacement of any parts? List those service details that include job number, job description, service date, total cost and the corresponding car’s registration number, make, model and produced year.
  1. Which mechanics have worked on any service job with charging labor cost more than

$300? List the mechanics name and phone number as well as the labor cost. Order the result by the labor cost in ascending.

  1. Find the service(s) that has/have the most expensive total cost. This includes the client name and car registration number, make, model, year, service date and the total cost.
  1. How many complaints were made by each client? Show the client’s name, phone, and the number of complaints. Order the list so that the client with the most complaints appears first.
  1. List details of clients who own more than one Ford vehicle. That is, list details of clients who have more than one car with the make of “Ford”. The output should include the Client’s ID, name and the number of Ford cars that they own. Order the result by client last name.
  1. Show details of services that have been done during the last 3 months. Be sure that upcoming services do not appear in your output but the current day’s service are included. You should show the registration number, make and model of the car involved, as well as the date of service and the total cost. Order the output by the date of service.


Create a simple report object showing the details of the each service job performed after 1st May 2017. The details include the job number, job description, service date, total cost and the registration number. At the end of report, display the average value of total cost for these service jobs.



  • 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 ‘ServiceDate’ to ‘Service Date’.

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.
  1. 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.

What you should submit


Microsoft Access databases file containing:

  1. Tables with sample data
  1. Relationships
  1. Queries
  1. Integrity constraints
  1. Report (object).

A Microsoft Word document containing:

  1. A set of relations mapped from E-R diagram (3NF)
  1. Two relations with functional dependencies and demonstration of normalization
  1. Implementation report

Your document should contain appropriate identification information (your student number, name, unit number, etc.) and should contain the relevant headings for each section.

Important points


  • 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.

Assessment criteria

COIT20247 Assignment 2 Marking Sheet



Relational database implementation (12 marks)

Available marks



Set of relations correctly mapped from ERD








Functional dependencies correctly listed for two of the










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)




Query 1




Query 2




Query 3




Query 4




Query 5




Query 6




Report (4 marks)




Underlying query/queries has/have been created and




are correct






Report layout and heading 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)




Plagiarism penalty (enter the negative marks)




Assignment 2 total