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

Postgraduate Course: Advanced Databases (Level 11) (INFR11011)

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 Credits10 ECTS Credits5
SummaryThis course aims at furthering database systems concepts through adding complexity and a more hands-on approach. In particular, we will focus on supporting multi-dimensional data in a DBMS, query optimisation, query evaluation, transaction processing and concurrency control in both a centralised and a distributed context. In terms of centralised databases, we shall start from single and multi-dimensional indexing methods, move on to join evaluation algorithms, and talk about query opimisation paradigms. We shall then focus on the issues of transaction processing, concurrency control and crash recovery. Finally, we shall revisit the previous issues in a distributed database environment.
Course description This is an overview of what will be covered. The time spent on each part will be adjusted as the course progresses.

* B-trees, hash-based indexes, R-trees.
* Indexing structures for solid state and main memory.
* Query evaluation: sorting and join processing, aggregation
* Algorithmic adjustments for flash memory and main-memory systems.
* Query optimisation: cost-based query optimisation, dynamic programming, randomised exploration, rule-based optimisation.
* Concurrency and recovery: transactions, lock tables, main-memory concurrency control, recovery using the ARIES algorithm.
* Parallel databases: parallel query evaluation, parallel and distributed transaction processing.

Relevant QAA Computing Curriculum Sections: Databases, Data Structures and Algorithms, Software Engineering
Entry Requirements (not applicable to Visiting Students)
Pre-requisites It is RECOMMENDED that students have passed Database Systems (INFR10055) OR Database Systems (INFR10070)
Prohibited Combinations Other requirements 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.

A firm grasp of basic mathematics is expected; the course involves extracting cost models from algorithms.

A good level of programming is assumed and will not be covered during lectures. The coursework will involve implementing query processing algorithms in the context of a database system written in Java.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2017/18, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 20, Supervised Practical/Workshop/Studio Hours 5, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 71 )
Assessment (Further Info) Written Exam 70 %, Coursework 30 %, Practical Exam 0 %
Additional Information (Assessment) One programming assignment (15%) and one pencil/paper assignment (15%)

You should expect to spend approximately 50 hours on the coursework for this course.

If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Demonstrate knowledge of storage methods by enumerating various indexing techniques over single- and multi-dimensional data stored in traditional disk drives, flash memory, and main memory
  2. Demonstrate knowledge of query evaluation by describing and implementing various evaluation algorithms used by database systems in both disk- and non-volatile memory settings
  3. Demonstrate knowledge of cost-based query optimisation, transaction processing and concurrency control
  4. Demonstrate knowledge of crash recovery by describing the methodologies and algorithms employed by a database system in the event of a crash
  5. Demonstrate knowledge of parallel data management by enumerating paradigms of parallel query and transaction processing
Reading List
* Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Third Edition) McGraw-Hill 2003.
* Various papers available on the topics of the syllabus.
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Paolo Guagliardo
Tel: (0131 6)51 3835
Course secretaryMr Gregor Hall
Tel: (0131 6)50 5194
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information