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 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 a rough overview of what will ideally be covered if time permits. If needed, the time spent on each part will be adjusted as the course progresses.
* B-trees, hash-based indexes, R-trees and Grid files.
* Query evaluation: join algorithms (nested-loops join, sort-merge join, hash join, Grace join and hybrid-hash join.)
* Query optimisation: cost-based query optimisation, dynamic programming, randomised exploration, rule-based optimisation.
* Concurrency and recovery: transactions, lock tables, optimistic concurrency control, recovery using the ARIES algorithm.
* Distributed databases: distributed query evaluation, 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 (INFR09011) OR
Database Systems (INFR10055)
|
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.
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
Pre-requisites | None |
Course Delivery Information
|
Academic year 2014/15, 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) |
Two programming assignments.
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
1 - Demonstrate knowledge of storage methods by enumerating various indexing techniques over single- and multi-dimensional data.
2 - Demonstrate knowledge of query evaluation by describing and implementing various evaluation algorithms used by database systems.
3 - Demonstrate knowledge of cost-based query optimisation by describing search space exploration and different optimisation paradigms.
4 - Demonstrate knowledge of transaction processing and concurrency control using lock tables and/or optimisic methods of concurrency control.
5 - Demonstrate knowledge of crash recovery by describing the methodologies and algorithms employed by a database system in the event of a crash.
|
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 Stratis Viglas
Tel: (0131 6)50 5183
Email: sviglas@inf.ed.ac.uk |
Course secretary | Miss Claire Edminson
Tel: (0131 6)51 4164
Email: C.Edminson@ed.ac.uk |
|
© Copyright 2014 The University of Edinburgh - 12 January 2015 4:11 am
|