Postgraduate Course: Advanced Databases (Level 11) (INFR11011)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | This course studies the data structures and algorithms underlying modern database management systems. It covers a wide range of topics and techniques such as storage architecture, data models (row, columnar), indexing (tree-based, hash tables), transaction processing (ACID, concurrency control), crash recovery, and parallel architectures (multi-core, distributed). |
Course description |
This course will cover the following topics:
* Data models and data management systems architectures
* Storage: secondary-storage devices
* Indexing: tree-based and hash-based techniques
* 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.
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
It is RECOMMENDED that students have passed
Database Systems (INFR10055) OR
Database Systems (INFR10070)
|
Co-requisites | |
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.
The course assumes an understanding of algorithms and data structures (e.g., quick sort, merge sort, binary trees, hash tables, big-O notation).
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 C++. |
Information for Visiting Students
Pre-requisites | 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).
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 C++. |
High Demand Course? |
Yes |
Course Delivery Information
|
Academic year 2019/20, 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) |
The coursework consists of one programming assignment where students will design and implement components of a database management system, experimentally evaluate their work, and write a report on their findings. |
Feedback |
The course includes at least two pieces of formative assessment, one programming assignment and at least one homework assignment, submitted during the semester with feedback returned within two weeks. |
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:
- Understand how database management systems function internally.
- Interpret and comparatively criticise database systems architectures.
- Implement major components of a database management system and analyse their performance.
- Understand, analyse, and compare the fundamental query evaluation and concurrency control algorithms.
- 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.
* Various papers available on the topics of the syllabus. |
Contacts
Course organiser | Dr Milos Nikolic
Tel: (0131 6)51 7112
Email: |
Course secretary | Miss Clara Fraser
Tel: (0131 6)51 4164
Email: |
|
|