Part A. Database implementation using MS Access (30 Marks)


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

2 Relational 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


? 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

Select 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:

Attribute Data type Integrity constraint


Error message

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 statements must reflect the correct business logic & SQL syntax.