Databases

Module aims

In this module you will have the opportunity to learn how modern database systems are structured and get and overview of the recent developments in database technology. In particular, you will learn how to model relational databases, normalise relational schemas and write SQL queries.   

Learning outcomes

Upon successful completion of this module you will be able to:
- compare and contrast different database models and supporting architectures
- model information in a relational system
- optimise a relational schema and demonstrate correctness of optimisations
- design relational queries and write SQL queries
- set up a database, implement a schema as well as the queries
- ascertain the benefits of separating physical and logical models
 

Module syllabus

Database systems
Relational model
Database design
Entity-relationship modelling
Functional dependencies, keys and normal forms
Relational database languages
Relational algebra
Views integrity and security
Transaction management and concurrency

Teaching methods

The material will be taught through traditional lectures, backed up by assessed coursework designed to reinforce the material as it is taught. The lecturer will also discuss tutorial-style questions during class where relevant.

An online service will be used as a discussion forum for the module.

Assessments

There are several assessed coursework exercises which collectively contribute 20% of the mark for the module. There will be a final written exam, which counts for the remaining 80% of the marks.   

Written feedback on the assessed coursework exercises will be returned electronically within two weeks of submission. You will also receive formative feedback during classes.

Reading list

Core

Supplementary reading

Module leaders

Dr Peter McBrien