84339 - Advanced Database Systems

Academic Year 2021/2022

  • Moduli: Matteo Golfarelli (Modulo 1) Alessandra Lumini (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

The course has a dual purpose: (1) it allows the student to deepen its knowledge of databases and improves her practical capabilities concerning relational DBMSs; (2) it introduces NoSql architectures and and non-relational data models. In both cases the theoretical knowledge will be combined with practical skills through laboratory activities

Course contents

Database admininstration

Logical and phisical DBMSarchitecture
Resourses optimization
The data dictionary
Security issues

Advanced programming with database systems

Advanced SQL
Active DB and Trigger
Stored procedure

Performance optimization

The optimization process for a SQL query
Relation DBMS: the physical level
Optimiazion techniques
Understanding the execution plan
Computing the execution cost for an SQL query

 

NoSQL DBMSs
Non-relational data models (Document-based, Graph-based, Column oriented)
Architecture for non-relational DBMSs
Clusters, Sharding and persistency
NoSQL data modeling
Lab on MongoDB

Readings/Bibliography

Teacher slides
R. van der Lans Introduzione a SQL . Addison-Wesley, 2001.
R. A. Elmasri, S.B. Navathe. Sistemi di basi di dati - Complementi. Pearson, 2005.
Making Sense of NoSQ. Daniel G. McCreary and Ann M. Kelly. Manning, 2013.
Martin J. Fowler & Pramodkumar J. Sadalage. Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison Wesley, 2009.

Teaching methods

Oral lessons and practical exercises

Assessment methods

Two written tests. The first one is carried out on the PC and evaluates the student practical capabilities (the user can use books and slides). The second one is a set of open questions on all the course program.
An optional project to be agreed on with the teacher will give addition points.

Grades are assigned on the basis of an overall assessment of knowledge, skills, presentation and discussion skills of the topics covered. The ranges of grades correspond can be described as follows:

18-23: the student has sufficient preparation and analytical skills, spread however, over just few topics taught in the course, the overall jargon is correct

24-27: the student shows and adequate preparation at a technical level with some doubts over the topics. Good, yet not to articulate analytical skills with the use of a correct jargon

28-30: Great knowledge about most of the topics taught in the course, good critical and analytical skills, good usage of the specific jargon

30L: excellent and in depth knowledge of all the topics in the course, excellent critical and analytical skills, excellent usage of specific jargon.

The structure of the exam does not change if, due to the pandemic, you will have to opt for remote examinations

Teaching tools

Exercises and Lab training will be carried out using Oracle DBMS 11g and MongoDB

Links to further information

http://bias.csr.unibo.it/golfarelli/BDA/index.htm

Office hours

See the website of Matteo Golfarelli

See the website of Alessandra Lumini