COMU114 / M1G505190
Introduction to Database Development

Announcements:

Announcements for this module will be posted on Blackboard.

About this module

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

link to full Module Descriptor

 

  • Lectures
  • Tutorials
  • Labs
  • Assessment
  • Peerwise
  • Reading
  • Staff

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

Contents
Querying
Queries and use cases
The GCUTours database tables
Queries in Access
Project operations
Select operations
Date formats in queries
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. Building applications

Download - notes | slides | database

Contents
Databases and applications
Types of application
Access Forms
Master-detail forms
User interaction in forms
Reports
Client-server applications

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

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
Tutorial 1 solution

Tutorial 2
Tutorial 2 solution

Tutorial 3
Tutorial 3 solution

Tutorial 4
Tutorial 4 solution

Tutorial 5
Tutorial 5 solution

Note that solutions are sample solutions, and there may be alternative valid answers in some cases.

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 task

Lab 2 task | gcucars complete database | gcucars SQL

Lab 3 task | gcutours database | solutions

Lab 4 task  | solutions |  gcutours_app.mdb | Booking.java | BookingDAO.java | Package.java | PackageDAO.java | Tour.java | TourDAO.java | User.java | UserDAO.java
*note that Lab 4 uses the SEC-XPSP3-JavaApps {2009}{v1.0} virtual machine

Lab 5 task | solutions | gcutours database | gcucars database | normalisation_demo database

 

 

Class test, now completed
worth 20% of overall module mark
You should use the solution as a basis for your hand-in assignment.
See Blackboard announcements for further details.

PeerWise participation:
worth 10% of overall module mark
See Blackboard announcements for further details.

Hand-in assignment:
worth 70% of overall module mark
download the assignment specification
see hints page for Frequesntly Asked Questions

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.

Peerwise:

You will be encouraged to participate in the Peerwise system during this module. This participation will form part of your overall module mark.

With Peerwise, students develop multiple-choice questions with associated explanations and contribute them to PeerWise. These questions are then available to other students in the course and can be answered for revision purposes, critiqued and discussed, and rated for difficulty and quality. Access to Peerwise has been provided by the University of Auckland, New Zealand

Participation in Peerwise comprises 10% of the overall module mark. To gain full credit, you will be required to do the following:

  • post 5 or more questions to the Peerwise system
  • answer 10 or more questions which have been posted by other students
The deadline for meeting these targets is Friday 4th December.

Accessing Peerwise:

You can access Peerwise at http://peerwise.cs.auckland.ac.nz/at/?gcal_uk

This will take you to the Peerwise - Glasgow Caledonian University login page. Before you can log in you will need to register. Click the REGISTRATION link on the right side of the page. This will take you to the Registration page.

Read the instructions on that page carefully. Note that you will need to choose your own username and password. You can make your username anything you wish. Note that your username may be visible to other users in the system, so you may wish to choose something that does not obviously identify who you are.

You will also need two pieces of information which have been assigned to you:

  • the course ID is 3064
  • your Identity can be found in My Grades in Blackboard, shown as Peerwise Key.

You will only need to enter the course ID and Identity once, when you first register - after that you will log in using your chosen username and password.

Note that your Identity lets me know who each user is. I need to know this in order to assess your participation. This information is NOT available to other student users.

Now, click on the Begin Registration link and follow the steps. Once you have confirmed your registration you will be able to log in with your username and password and start participating by answering existing questions and creating your own questions.

IF YOUR HAVE ANY PROBLEMS ACCESSING PEERWISE, LET ME KNOW AS SOON AS POSSIBLE.

For further information, see the user guide at http://peerwise.cs.auckland.ac.nz/docs/students.pdf

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

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

Brian Shields, Room M605a, B.Shields-at-gcal.ac.uk

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