Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:infoh417 [2018/10/18 08:46]
svsummer
teaching:infoh417 [2020/09/10 08:46] (current)
svsummer
Line 1: Line 1:
 ====== INFO-H-417 : Database Systems Architecture ====== ====== INFO-H-417 : Database Systems Architecture ======
  
-<note important>​If you are following this course ​please fill in [[https://docs.google.com/forms/d/​e/​1FAIpQLSeNNsjBE-zrhNulpldr3-z-PB8W5hHPDMcVFdho-0PGqgmvPw/​viewform|this form]] by october 5 at the latest. It allows the course responsibles to contact you as well as get an idea of your background. ​</​note>​+<note important>​This course ​has moved to the [[https://uv.ulb.ac.be/course/view.php?​id=92219|Virtual University]]</​note>​
  
 ===== GENERAL INFORMATION ===== ===== GENERAL INFORMATION =====
Line 25: Line 25:
 relational database management systems ensures recovery from errors relational database management systems ensures recovery from errors
 and controls concurrent access to the data. Topics studied in transaction processing include logging, serializability,​ concurrency control, and their combination. and controls concurrent access to the data. Topics studied in transaction processing include logging, serializability,​ concurrency control, and their combination.
- 
-==== Contacts ==== 
- 
-  * **Lecturer**:​ [[http://​code.ulb.ac.be/​code.people.php?​id=992|Stijn Vansummeren]] (Campus Solbosh, Building U, 4th floor, room UB4.125) 
- 
- 
-==== Organisation ==== 
- 
-    * The course is taught during the first semester 
-    * The course schedule is available [[infoh417:​horaire|on-line]] ​ 
-    * The list of competences that will be taught during the course and interrogated during the exam is available in the {{:​teaching:​infoh417:​course plan.pdf|course plan.}} 
- 
  
 ==== Course Material ==== ==== Course Material ====
  
-The course uses the book [[http://​www.amazon.co.uk/​gp/​product/​129202447X/​ref=s9_simh_gw_p14_d0_i1?​pf_rd_m=A3P5ROKL5A1OLE&​pf_rd_s=center-2&​pf_rd_r=05ETHX35GZHR16YA722M&​pf_rd_t=101&​pf_rd_p=455344027&​pf_rd_i=468294|"​Database Systems: The Complete Book (second, international edition)"​]] by H. Garcia-Molina,​ J. D. Ullman, and J. Widom (ISBN-13: 978-0131354289),​ complemented by course notes made available on this website. +For the table of contents, course notes, slides, exercises and solutionsas well as recording ​of the lectures, see the [[https://uv.ulb.ac.be/​course/​view.php?id=92219|Virtual University]] page.
- +
-==== Method ​of Evaluation ==== +
- +
-Students are evaluated on both a project to be developed during the semesterand a written exam. The project work contributes 6/20 points to the overall score, and the written exam contributes the remaining 14/20 points. Participation in both the project work and the written exam are mandatory requirements for passing the course. +
- +
-===== COURSE TRAJECTORY ===== +
- +
-==== Lecture 1: Course Introduction and Translation of SQL into the Relational Algebra ​ ==== +
- +
-  *  During lecture 1 we refresh the basic background knowledge on relational database management systems (relations, relational algebra, SQL). To re-acquaint yourself with the relevant background knowledge, you are expected to read thoroughly chapter 1, chapter 2 (only sections 2.2 and 2.4), chapter 5 (only sections 5.1 and 5.2) and 6 from the handbook TCB. +
- +
-  * During lecture 1 ({{:​teaching:​infoh417:​slides-lect1.pdf|slides}}),​ we present an overview of the architecture of a query compiler (see chapter 16, sections 16.1, 16.3.1 and  16.3.2 in the book) and study the translation of SQL into the extended relational algebra (see {{:​teaching:​infoh417:​sql2alg_eng.pdf|course notes}} for the full translation algorithm). +
- +
-  * You are expected to solve exercise 1 of the {{:​teaching:​infoh417:​01-sql2alg-ex.pdf|translation exercises (pdf)}} by the exercise session ​ of friday 28 september. Exercise 2 gives extra exercise possibilitiesbut will not be corrected in class. +
-  +
-  * The {{:​teaching:​infoh417:​01_-_sql2alg-sol-slides.pdf|solutions}} of the translation exercises are available. +
- +
-==== Lecture 2: Optimization of Logical Query Plans  ==== +
- +
-  * During lecture 2 ({{:​teaching:​infoh417:​slides-lect2.pdf|slides}})we study optimization of the select-project-join expressions (see {{:​teaching:​infoh417:​conjunctive_eng.pdf|course notes}} for the full optimization algorithm and its correctness). In addition, we discuss popular heuristics for improving general logical query plans: see chapter 16, section 16.3.3 in the book which discusses the simple (but very important) logical optimizations of “pushing” selections and projections;​ and recognizing joins, based on the algebraic equalities from section 16.2. +
- +
-  * You are expected to solve exercises ​1.1, 3.1, 4.1, 5, 6, and 8.1 of the {{:​teaching:​infoh417:​02-logicalopt-ex.pdf|optimization exercises}} ​ by the exercise session of fridayoctober 5. You are strongly advised to also try exercises 2, 3, and 4, although these exercises will not be corrected during that session. The remaining exercises give extra exercise possibilities. +
- +
-  * A summary ​of [[:​teaching:​infoh417:​logicalopt-additional|common questions and answers, mistakes and questions regarding ​the optimization of logical query plans]] is also available. +
- * During lecture 2 ({{:​teaching:​infoh417:​slides-lect2.pdf|slides}})we study optimization of the select-project-join expressions (see {{:​teaching:​infoh417:​conjunctive_eng.pdf|course notes}} for the full optimization algorithm and its correctness). In addition, we discuss popular heuristics for improving general logical query plans: see chapter 16, section 16.3.3 in the book which discusses the simple (but very important) logical optimizations of “pushing” selections and projections;​ and recognizing joins, based on the algebraic equalities from section 16.2. +
- +
-  * You are expected to solve exercises 1.1, 3.1, 4.1, 5, 6, and 8.1 of the {{:​teaching:​infoh417:​02-logicalopt-ex.pdf|optimization exercises}} ​ by the exercise session of friday, october 5. You are strongly advised to also try exercises 2, 3, and 4, although these exercises will not be corrected during that session. The remaining exercises give extra exercise possibilities. +
- +
-  * A summary of [[:teaching:​infoh417:​logicalopt-additional|common questions and answers, mistakes and questions regarding the optimization of logical query plans]] is also available. +
-  * The {{:​teaching:​infoh417:​02_-_logicalopt-sol-slides.pdf|solutions}} of the optimization exercises are online. +
- +
-==== Reading Assignment 1: Physical data organisation ​ ==== +
- +
-   * We take an intermezzo in the compilation of SQL to logical query plans, and consider how a DBMS physically organizes its data on disk.  ({{:​teaching:​infoh417:​slides-ra1.pdf|slides}}). The details may be found in chapter 13 of the book and constitute the first reading assignment +
- +
-==== Lecture 3: Index Structures ​ ==== +
- +
-  * During Lecture 3 ({{:​teaching:​infoh417:​slides-lect3-part1.pdf|slides part I}},  {{:​teaching:​infoh417:​slides-lect3-part2.pdf|slides part II}}) we study sparse and dense index structures, and BTrees. The details are found in chapter 14, sections 14.1 and 14.2 in the book. +
- +
-==== Project Assignment: External Memory Algorithms ==== +
- +
-  * In this assignment you are asked to implement an external-memory merge-sort algorithm, and examine its performance under different parameters. Be sure to visit the [[teaching:​infoh417:​project|project'​s page]] for full details and modalities.  +
- +
-==== Lecture 4: More Index Structures ​ ==== +
- +
-  * During Lecture 4 ({{:​teaching:​infoh417:​slides-lect4-part1.pdf|slides part I}}, {{:​teaching:​infoh417:​slides-lect4-part2.pdf|slides part II}}, {{:​teaching:​infoh417:​slides-ch13-indexstruc.odp|slides part II in OpenOffice Impress format}}) we have studied index structures based on hashing, and discussed the typical architecture of a DBMS. The details are found in section 14.3 and 15.7 in the book. +
-   +
 
teaching/infoh417.1539845170.txt.gz · Last modified: 2018/10/18 08:46 by svsummer