COMU114 / M1G505190
Introduction to Database Development
Announcements:
Announcements for this module will be posted on Blackboard.
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.

- 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.
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
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
Some notes are in PDF format - you may need Adobe Reader to view and print them. You can download it using the link below:
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
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

