- Docente: Matteo Golfarelli
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- 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