Undergraduate study

Undergraduate 

Computing Science (faster route) BSc/MSci

Database Systems (H) COMPSCI4013

  • Academic Session: 2026-27
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 4 (SCQF level 10)
  • Typically Offered: Semester 2
  • Available to Visiting Students: Yes
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

Short Description

From the basic skills derived in CS1F, to develop the software engineering and database administration skills required for designing, creating, running and developing a relational database application and its associated application software suite.

Understanding of how conventional programming languages (e.g., Java/JDBC) interact with databases;

Understanding of the fundamental concepts, functional dependency and normalization theories and methods of the relational data model;

Understanding the principles of database indexing, file structures, hash-based file structures, tree-based indexes;

Understanding the cost-based query optimization methods;

Understanding the principles of selection selectivity and joint selectivity using histograms in query optimization;

Introduction to data analytics tasks and advanced methods & techniques.

Timetable

Two one-hour lectures and one one-hour tutorial per week.

Excluded Courses

None 

Co-requisites

None

Assessment

Examination 80%

Assessed coursework 20%

Main Assessment In: April/May

Course Aims

From the basic skills derived in CS1F, to develop the software engineering and database administration skills required for designing, creating, running and developing a relational database application and its associated application software suite.

Understanding of how conventional programming languages interact with databases;

Understanding of the fundamental concepts, functional dependency and normalization theories and methods of the relational data model;

Understanding the principles of database indexing, file structures, hash-based file structures, tree-based indexes;

Understanding the cost-based query optimization methods;

Understanding the principles of selection selectivity and joint selectivity using histograms in query optimization;

Introduction to data analytics tasks and advanced methods & techniques.

Intended Learning Outcomes of Course

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

1. Demonstrate competence in performing sophisticated queries and updates against an existing RDBMS using most of the advanced features of SQL standard;

2. Demonstrate skills in designing, writing, changing and testing programs (e.g., Java/JDBC) that use an RDBMS;

3. Interpret and optimize SQL queries based on the principles of the cost-based query optimization;

4. Provide an explanation of the database indexing techniques including File Hashing, Search Trees, Multi-level Indexes, B Trees and B+ Trees;

5. Specify advanced constraints on the DB scheme based on Functional Dependencies & Normalization;

6. Appreciate Data analytics and aggregation tasks and techniques;

7. Provide an explanation of the selection selectivity and join selectivity using histograms for query optimization.

Minimum Requirement for Award of Credits

No exceptions