COMU114 - Introduction to Database Development



Announcements:

Announcements for this module will be posted on Blackboard.

NEW - See Hints and Frequently Asked Questions about the coursework, updated Monday 8th.

Module Descriptor:

COMU114 Module Descriptor

This module provides an introduction to Database technologies. These technologies include basic Relational Data Modelling concepts and practice, and simple data querying. Students will develop and query a simple database which provides a specific functional element of an information system.

database people

Lecture Notes:

Click on a title to see the list of topics in that chapter. Use the download links to get full notes or lecture slides in PDF format.

1. Databases and database design

Download - notes | slides

Contents
What is a database?
Databases vs. Database Management Systems
Relational and other database systems
Databases and enterprise information systems
The language of relational databases – SQL
Popular relational database systems
Designing a database
The  data model
From data model to relational database

2. Creating a database

Download - notes | slides

Contents
Designing the database schema
Representing Classes and Attributes
Data types
Additional constraints
Choosing the right fields
Implementing a table in SQL
Inserting data into a table
Primary keys
Representing relationships
Altering a table

3. Getting data out: database queries

Download - notes | slides

Contents
Querying
Queries and use cases
The GCUTours database tables
Queries in Access
Project operations
Select operations
Aggregates
Grouping
Subqueries

4. Improving the database design

Download - notes | slides

Contents
Database normalisation
Problems with un-normalised data
Functional dependencies
Normalisation and normal forms
First normal form (or 1NF)
Second Normal Form (2NF)
Third normal form (3NF)
Summing up the first three normal forms
Higher normal forms
When to use normalisation

5. Doing more with queries

Download - notes | slides

Contents
Improving query performance with indexes
Joining tables
Different kinds of join
Joining tables with the Access query builder
Data definition queries
Insert queries
Update queries
Delete queries
Parameter queries

6. Database applications

Download - notes | slides

Contents
Databases and applications
Types of application
Forms
Master-detail forms
User interaction in forms
Reports
Connecting to a database

Some notes are in PDF format - you may need Adobe Reader to view and print them. You can download it using the link below:

Get Adobe Reader

Tutorials:

Note that tutorial sheets will be available before the relevant tutorials, and solutions will be available when all groups have completed the tutorial.

Tutorial 1 | solution
Tutorial 2 | solution
Tutorial 3 | solution
Tutorial 4 | solution
Tutorial 5 | solution

Labs:

Note that lab sheets will be available before the relevant labs, and solutions will be available when all groups have completed the lab.

Lab 1
Lab 2  |  solutions | completed database
Lab 3  |  gcutours.mdb | solutions
Lab 4  |  gcutours_app.mdb | Booking.java | BookingDAO.java | Package.java | PackageDAO.java | Tour.java | TourDAO.java | User.java | UserDAO.java | solutions
*note that Lab 4 uses the SEC-XPSP3-JavaApps {2008}{v2.1} virtual machine
Lab 5  |  gcutours.mdb | gcucars.mdb | normalisation_demo.mdb | solutions

Assessment:

August 2009 resit assessment information:

If you have not achieved an overall pass mark in your coursework you have the following re-assessment opportunities:

Class Test,week beginning 17th August, exact time and location to be announced. This will be a multiple choice test on Blackboard. The test will be open-book, and questions will cover a range of the topic areas in your notes. This test is worth 20% of the overall module mark.

Hand-in Assignment, due August 18th. This is a resubmission of the assigment issued previously. Specification and other details are listed below. This assigment is worth 80% of the overall module mark.

Your overall module mark will be calculated by combining your class test and assigment marks. If you have not passed the module you may attempt both of these assessments to improve your overall mark. However, if you attempt only one assessment, marks gained previously will be taken into account. For example, if you only submit the hand-in assigment then your November class test mark will be used in the calculation of your overall mark.

Hand-in assignment information:

November Class Test solution is available to help with the hand-in assignment.

The assignment specification is available for downlaod. Please note the following:

NEW - See Hints and Frequently Asked Questions about the coursework.

Assessment procedure for first year semester A modules
The formative assessment process completes at the end of week 6 (for semester A(i) modules) and week 12 (for semester A(ii) modules).  If you pass the formative assessment at the end of the module you will NOT be required to sit the summative assessment which takes place during the formal exam period in January.

Reading List:

There is no set text for this module, but you may find the following books useful:
Beginning Database Design: From Novice to Professional  (Clare Churcher, Apress, ISBN 1-59059-769-9)
Head First SQL (Lynn Beighley, O'Reilly, ISBN 0-596-52684-9)
Inside Relational Databases with Examples in Access (Mark Whitehorn & Bill Marklyn, Springer-Verlag, ISBN 1846283949

Staff:
Jim Paterson, Room M628, 0141 331 3028, James.Paterson-at-gcal.ac.uk

When sending e-mail please substitute -at- with the usual internet e-mail name/address separator