THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2024/2025

Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Advanced Database Systems (INFR11199)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
SummaryDatabase management systems are at the core of computer applications that need to store, manipulate, and query data. This course takes a deep dive into how modern database systems function internally, from studying their high-level design to understanding the underlying data structures and algorithms used for efficient data processing. The course covers a range of data management techniques from both commercial systems and cutting-edge research literature, enabling students to apply these techniques to other fields of computer science.

The covered topics include database architecture, storage manager, data models (row, columnar), indexing (tree-based, hash tables), transaction processing (ACID, concurrency control), crash recovery, parallel architectures (multi-core, distributed), and large-scale data processing systems. These topics will be valuable to students who plan to work in the data science industry but also to students who want to do research in the area of data management. The programming component of this course will allow students to develop first-hand experience working with database systems that goes beyond writing SQL queries.
Course description Lectures will cover roughly the following topics:
- Database systems architectures, row stores and column stores, OLTP vs. OLAP, in-memory database systems
- Storage: secondary-storage devices
- Indexing: tree-based and hash-based techniques, multi-dimensional indexing, learning indices from data
- Query evaluation: theory of query evaluation, sorting and join processing, selection, projection, aggregation
- Query optimisation: cardinality estimation, cost-based query optimisation, dynamic programming, rule-based optimisation
- Transaction management: ACID properties, concurrency control, locking and multi-version protocols, crash recovery
- Distributed database systems: parallel query evaluation, distributed transaction processing
- Big data and NoSQL systems
Entry Requirements (not applicable to Visiting Students)
Pre-requisites It is RECOMMENDED that students have passed Introduction to Databases (INFR10080)
Co-requisites
Prohibited Combinations Students MUST NOT also be taking Advanced Database Systems (UG) (INFR11217)
Other requirements MSc students must register for this course, while Undergraduate students must register for INFR11217 instead.

This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.

The course assumes an understanding of algorithms and data structures (e.g., quick sort, merge sort, binary trees, hash tables, big-O notation). It is recommended that students have basic knowledge of databases (e.g., SQL and relational algebra) although key concepts will be covered in the course.

A good level of programming is assumed and will not be covered during lectures. The coursework will involve implementing different parts of a database system in Java.
Information for Visiting Students
Pre-requisitesSame as above.
High Demand Course? Yes
Course Delivery Information
Academic year 2024/25, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 200 ( Lecture Hours 28, Supervised Practical/Workshop/Studio Hours 6, Feedback/Feedforward Hours 2, Revision Session Hours 2, Programme Level Learning and Teaching Hours 4, Directed Learning and Independent Learning Hours 158 )
Assessment (Further Info) Written Exam 50 %, Coursework 50 %, Practical Exam 0 %
Additional Information (Assessment) 50% exam
40% coursework
10% course engagement

The coursework will consist of at least one programming assignment.
Feedback Students will receive feedback from demonstrators during practical sessions and from the instructor on at least one piece of formative assessment similar to the final exam.
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)Advanced Database Systems (INFR11199)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Describe how database management systems function internally. Interpret and comparatively criticise database systems architectures.
  2. Implement major components of a database management system and analyse their performance.
  3. Analyse and compare the fundamental query evaluation and concurrency control algorithms, identify strengths and weaknesses of query evaluation plans, and optimise query evaluation plans.
  4. Identify trade-offs among database systems techniques and contrast distributed / parallel techniques for OLTP and OLAP workloads.
Reading List
Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Third Edition) - McGraw-Hill 2003.

Research papers on the topics of the syllabus.
Additional Information
Graduate Attributes and Skills Not entered
KeywordsDatabase system architecture,Query optimization,Indexing,Transactions,Parallel databases
Contacts
Course organiserDr Milos Nikolic
Tel: (0131 6)51 7112
Email: milos.nikolic@ed.ac.uk
Course secretaryMiss Yesica Marco Azorin
Tel: (0131 6)505113
Email: ymarcoa@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information