Undergraduate Course: Advanced Databases (Level 10) (INFR10002)
|School||School of Informatics
||College||College of Science and Engineering
||Availability||Available to all students
|Credit level (Normal year taken)||SCQF Level 10 (Year 4 Undergraduate)
|Home subject area||Informatics
||Other subject area||None
||Taught in Gaelic?||No
|Course description||This course aims at furthering the concepts introduced in the Database Systems course, through adding complexity and a more hands-on approach. In particular, we will focus on the concepts of query optimisation and evaluation from an implementation-oriented point of view. We will focus on the path a database query follows: (i) declaratively specified in SQL, (ii) translated in an algebraic representation, (ii) optimised through a cost-based optimisation framework, (iv) tranaslated into an evaluation plan, and, finally, (v) evaluated by the database engine. Finally, the issues of transaction processing, concurrency control and crash recovery will be discussed in depth.
Entry Requirements (not applicable to Visiting Students)
|| Students MUST have passed:
Database Systems (INFR09011)
|Prohibited Combinations|| Students MUST NOT also be taking
Advanced Databases (Level 11) (INFR11011)
||Other requirements|| Successful completion of Year 3 of an Informatics Single or Combined Honours Degree, or equivalent by permission of the School. In particular, students should be familiar with file structures and query processing algorithms.
|Additional Costs|| None
Information for Visiting Students
|Displayed in Visiting Students Prospectus?||Yes
Course Delivery Information
|Not being delivered|
Summary of Intended Learning Outcomes
|1 - Demonstrate knowledge of storage by describing how data is layed out on disk for various file structures and how the said file structures are used by a database system.
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 by extracting the cost for arbitrary evaluation plans.
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 emplyoed by a database system in the event of a crash.
|Written Examination 70|
Assessed Assignments 30
Oral Presentations 0
Two programming assignments. The assignments will account in total for 30% of the final grade. Both assignments will be equally weighted.
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.
||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.
* Relational Databases Overview: Relational Schema; Storage Structures.
* Query Evaluation: SQL; Relational Algebra and Equivalence Rules; Tuple-based Evaluation.
* Cost-based query optimisation: Join Algorithms; Cost of an Evaluation Plan; Search Space Exploration; Selection of Evaluation Plan.
* Concurrency and Recovery: Transactions; Lock tables; Optimistic concurrency control; Recovery using the ARIES algorithm.
Relevant QAA Computing Curriculum Sections: Databases, Data Structures and Algorithms, Software Engineering
||Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Third Edition) McGraw-Hill 2003.
Timetabled Laboratories 0
Non-timetabled assessed assignments 50
Private Study/Other 30
|Course organiser||Dr Mary Cryan
Tel: (0131 6)50 5153
|Course secretary||Miss Kate Farrow
Tel: (0131 6)50 2706