40007
Introduction to Databases
Module aims
In this module you will have the opportunity to:
- learn how modern database systems are structured
- model relational databases
- normalise relational schemas
- write SQL queries
- learn about recent developments in database technology
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
- explain 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. To practise key concepts, a small number of tutorials will also be run throughout the term. These will provide you with the opportunity to work through unessessed, formative, exercises under the supervision of Graduate Teaching Assistants (GTAs).
An online service will be used as a discussion forum for the module.
Assessments
There are two assessed coursework exercises (one lab-based) 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 will be given on the assessed coursework exercises and this will be returned within two weeks of submission. You will also get feedback from the GTAs in the tutorial classes, as you work through the unassessed problems.