Introduction to Databases
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
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
- 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
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).
The Piazza Q&A web service will be used as an open online discussion forum for the module.
There are two assessed coursework exercises (one lab-based) which collectively contribute 15% of the mark for the module. There will be a final written exam, which counts for the remaining 85% 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.