Database Theory and Analytics (M) COMPSCI5076

  • Academic Session: 2023-24
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 1
  • Available to Visiting Students: No

Short Description

The aim of this course is to introduce students to the concepts of information management by way of databases, including relational databases, relational algebra, functional dependency and normalization theories, NoSQL/Big Data Systems, and large-scale analytics paradigms. The course will provide students with the opportunity to develop skills which will assist them to manage information in the current digital age.


Two one-hour lectures and a three hour drop in lab session per week supported by a tutor.

Requirements of Entry


Excluded Courses

Information Systems and Databases




Exam 80%, Written Assignment 20%

Main Assessment In: December

Are reassessment opportunities available for all summative assessments? No

Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non-Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 


The coursework cannot be redone because feedback provided to the students after the original coursework would give any students redoing the coursework an unfair advantage.

Course Aims

To provide students with opportunities to develop an understanding of modern methods of managing computerised information. This includes the principles and fundamentals of relational database conceptual design, relational algebra, preliminaries in relational database systems, introduction to NoSQL and Big Data systems.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. Design a relational database using entity relationship diagrams and following the principles of normalization;

2. Use a database management system (DBMS) to construct and manage a relational database;

3. Use the Structured Query Language (SQL) to construct SQL statements issued over  relational databases;

4. Apply normalisation techniques and functional dependency to a relational database schema;

5. Explain how databases can handle physical design and heuristic optimization based on relational algebra;

6. Analyse the execution efficiency of SQL queries to heuristically optimise queries across centralised databases.

7. Evaluate what the most appropriate relational schema design is for a given context and discuss related issues.

8. Explain how the basic NoSQL and Big Data Systems manage large-scale data.

9. Analyse the fundamental data analytics tasks using the Map Reduce paradigm.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.