Database Design & Development
Assessment
item 2—Assignment 2 Objectives
This 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 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
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, Date Of
Birth)
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
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. 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:
The weekly rental in the tables of Property and
Rental should be positive currency and expressed in 2 decimals only.
The contract end date must be later than the
contract start date in the table of Rental. The job description in the
Repair_Job table should not be blank.
For the table of Property, the possible value of
property type only takes either “apartment” or “house”.
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
properties have never been rented out? List the details that include the
property address, type, weekly rental as well as the name of the property
owner.
2. How
many properties have been managed by each manager? Show the manager’s name, the
number of properties managed. Order the list so that the manager who has
managed the most properties appears first.
3. List
the details of repair jobs performed by handymen in the last 6 months. The
details should include the job ID, job description, the completed date, charge
and the handyman’s name.
4. Which
properties have received more than one application in the last 6 months from
customers? Show the property ID, address, the weekly rental and the number of
applications.
5. Find
out the details of the rental activities that have the highest weekly rentals.
The details should include customer’s names, the address of the properties and
the weekly rentals.
Report
Create a simple report object showing the
details of each rental contract with the lease length greater than or equal 6
months. The details include the customer name, phone, contract start date,
contract end date, the property address, and the weekly rental. At the end of
report, display the average value of the weekly rental for these rental
activities.
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 ‘StartDate’
to ‘Start Date’.
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.
What you should submit
Microsoft Access databases file containing:
1.
Tables with sample data
2.
Relationships
3.
Queries
4.
Integrity constraints
5.
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 normalization
3.
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.
Part B. Database
implementation using MySQL Server (5 Marks)
Consider a simplified version E-R model on the
property rental activity, where you only deal with three relations Customer, Rental and Property
(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.
For on-campus students, demonstrate your
implementation as required above in Week 10, or Week 11 or Week 12 tutorial
time to your local tutor during the scheduled tutorial session. In one of these
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. Please see a document titled – Appendix - Guidelines and the
assessment task for Assignment 2 – Part B on moodle course website.
For distance students , include the file
(CQUPM.mwb, created by MySQL Workbench 6.3) in a zip file and email it to the
Unit coordinator (m.li@cqu.edu.au) by the end of Week 11.
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.
To get solution visit our website www.sourceessay.com
Comments
Post a Comment