5 ECTS credits
125 u studietijd

Aanbieding 1 met studiegidsnummer 4016908FNR voor alle studenten in het 1e semester met een gespecialiseerd master niveau.

Semester
1e semester
Inschrijving onder examencontract
Niet mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Onderwijstaal
Engels
Onder samenwerkingsakkoord
Onder uitwisselingsakkoord mbt studiedelen
Faculteit
Faculteit Wetenschappen en Bio-ingenieurswetensch.
Verantwoordelijke vakgroep
Computerwetenschappen
Externe partnerinstelling(en)
Université libre de Bruxelles
Onderwijsteam
Decaan WE (titularis)
Externe Docenten
Stijn Vansummeren
Onderdelen en contacturen
24 contacturen Hoorcollege
12 contacturen Werkcolleges, practica en oefeningen
24 contacturen Zelfstudie en externe werkvormen
Inhoud

With respect to query processing, we study the whole workflow of how a typical relational database management system optimizes and executes SQL queries. This entails an in-depth study of (1) translating the SQL query to a logical query plan; (2) optimizing the logical query plan; (3) how each logical operator can be algorithmically implemented on the physical (disk) level, and how secondary-memory index structures can be used to speed up these algorithms; and (4) the translation of the logical query plan to a physical query plan using cost-based plan estimation. By having an in-depth understanding of the query-optimization-and-execution pipeline, one becomes more proficient in administring DBMSs, and hand-optimizing SQL queries for fast execution.

Topics studied in transaction processing include logging, serializability, concurrency control, and their combination.

Studiemateriaal
Digitaal cursusmateriaal (Aanbevolen) : Course notes distributed during lectures
Handboek (Aanbevolen) : Database Systems: The Complete Book, Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom, 2de, Prentice Hall, 9781292024479, 2013
Bijkomende info

The teaching method is a cocktail of lectures, demonstrations, exercise sessions, and project work

Leerresultaten

Algemene competenties

In contrast to a typical introductory course in database systems where one learns to design and query relational databases, the goal of this course is to get a fundamental insight into the implementation aspects of database systems. In particular, we take a look under the hood of relational database management systems, with a focus on query and transaction processing.

Upon successful completion of this course, the student is expected to master the following competences :

1. Translating a given SQL expression into the Relational Algebra

2. Improving a relational algebra expression by, where possible, removing redundant joins in select-project-join subexpressions

3. Improving a relational algebra expression by, where possible, (a) replacing cartesian products by joins ; and (b) pushing selections and projections

4. Describing and being able to implement traditional secondary-memory index structures (BTrees, Hashing)

5. Being able to describe and demonstrate the shortcomings of traditional index structures with respect to multi-dimensional search keys. In addition, being able to describe and implement the studied multidimensional indexes

6. Describing the most important implementation algorithms (one-pass, sorting, hashing, index) for each of the relational algebra operators, as well as judging the cost of each operator, and knowing their limitations of applicability

7. Given a logical query plan and given base statistics about the size and distributions of the database relations, constructing a heuristically optimal physical query plan, by estimating the sizes of the intermediate results and correspondingly comparing the possible implementations. When joins can be reordered, choosing the order with the least cost.

8. Describing, explaining, and implementing the most common mechanisms for recovering from crashes.

9. Describing, explaining, and implementing the most common mechanisms for controlling concurrency during transaction managment.

Beoordelingsinformatie

De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Schriftelijk bepaalt 70% van het eindcijfer

ZELF Praktijkopdracht bepaalt 30% van het eindcijfer

Binnen de categorie Examen Schriftelijk dient men volgende opdrachten af te werken:

  • exam met een wegingsfactor 14 en aldus 70% van het totale eindcijfer.

Binnen de categorie ZELF Praktijkopdracht dient men volgende opdrachten af te werken:

  • project met een wegingsfactor 6 en aldus 30% van het totale eindcijfer.

Aanvullende info mbt evaluatie

The final mark is composed of the mark obtained for the project work and the written exam.

Toegestane onvoldoende
Kijk in het aanvullend OER van je faculteit na of een toegestane onvoldoende mogelijk is voor dit opleidingsonderdeel.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Artificiële Intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Multimedia
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Software Languages and Software Engineering
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Data Management en Analytics
Master in Applied Sciences and Engineering: Computer Science: Artificial Intelligence (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Multimedia (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Data Management and Analytics (enkel aangeboden in het Engels)