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.