Databases (G6031)

15 credits, Level 5

Autumn teaching

This module provides an introduction to the concepts of database software, database design, management, and programming. This includes conceptual database design (using the entity-relationship approach), logical database design and physical database design.

The module focuses on the relational data model. You will learn how to design and implement a relational database using SQL. You will also learn how to retrieve and manipulate data via SQL queries, as well as how to normalize relational databases, what normal forms there are, and how this eliminates certain anomalies based on redundancy. Security via permission rights and indexes for tuning database queries are addressed. You will learn how to write stored procedures and triggers using procedural SQL and how use Java Database Connectivity libraries (JDBC) to access databases in Java programs.

The exercise classes and coursework are based on a series of examples that help you understand the theoretical principles. Practical experience is acquired by implementing these examples in a database management system and a graphical query browser.


69%: Lecture
22%: Practical (Laboratory)
9%: Seminar


50%: Coursework (Report, Software Exercise)
50%: Examination (Unseen examination)

Contact hours and workload

This module is 150 hours of work. This breaks down into 32 hours of contact time and 118 hours of independent study.

This module is running in the academic year 2019/20. We also plan to offer it in future academic years. It may become unavailable due to staff availability, student demand or updates to our curriculum. We’ll make sure to let our applicants know of such changes to modules at the earliest opportunity.