Salta ai contenuti. | Salta alla navigazione

Strumenti personali

TECHNOLOGIES FOR DATABASES

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2021/2022
Teacher
FABRIZIO RIGUZZI
Credits
6
Didactic period
Secondo Semestre
SSD
ING-INF/05

Training objectives

The main goal of the course consists in enabling the students to perform the physical design of relational database and to develop complex applications that interface to a database. Moreover, the course will illustrate the basic principles of big data and NoSQL databases.
The main acquired knowledge are relative to:
- Data Base Management Systems (DBMS) technologies,
- query elaboration,
- transaction management,
- physical organization of the SQL Server, Oracle and DB2 DBMS,
- datawarehouse and NoSQL technologies.
The basic acquired abilities (that are the capacity of applying the acquired knowledge) are:
- physical design of a database,
- development of complex applications that interface with a database,
- logical design of a datawarehouse.

Prerequisites

The following concepts and knowledge provided by the courses "Basi di Dati" and "Fondamenti di Informatica" are mandatory:
- relational data model,
- SQL data manipulation and query language,
- procedural programming languages (Java, C).

Course programme

The course is composed of 60 hours of teaching partly in the classroom and partly in the laboratory.
Introduction to the main DBMS (5 hours): SQL Server, Oracle, DB2.
SQL in programming languages (20 hours): Persistent Stored Modules, JDBC, Object-relational mappings, ADO.NET, constraints and triggers.
DBMS technologies (15 hours): hardware, records in blocks, storage manager, indexes, hashing, physical organization in SQL Server, external sort, query elaboration, query optimization.
Physical design (2,5 hours): physical design in SQL Server, Oracle, DB2.
Transaction management (7,5 hours).
Datawarehouse and OLAP (7,5 hours).
NoSQL databases (2,5 hours).

Didactic methods

The course is divided into 60 hours of lectures partly in the classroom and partly in the computer laboratory.
The lectures will cover all the course topics and will include also guided exercises on the computer regarding SQL in programming languages.

Learning assessment procedures

The aim of the exam is to verify at which level the learning objectives previously described have been achieved.
The examination is composed of a written test, a test on theory and a project.
The written test consists of four exercises: one on recovery, one on transaction scheduling, one on indexes and one on computing the cost of a query. The test lasts two hours. It is worth 17 points. The use of teaching material is allowed.
The test on theory consists of three questions on the theoretical topics of the course. It is worth 15 points. The use of teaching material is not allowed.
The project consists in developing an application that connects to a database. The application can be written in any programming language. The database must contain at least 5 tables and the application must execute at least a join query and an insert, an update and a delete operation. The DBMS must be SQL Server, Oracle, DB2 or PostgreSQL. The application must be shown to the teacher running on a notebook. The evaluation is “on/off”: it is “on” if the application runs and respects the requirements.
The final mark is given by the sum of the marks in the two parts. The exam is passed if the mark in the written test is at least 9, the mark in the test on theory is at least 9 and the evaluation of the project is “on”.
The three parts can be taken in different exam dates.

Reference texts

Teacher's handouts.

Fabrizio Riguzzi, Arianna Fabbri, and Elena Zuffi. Sistemi informativi. Collana Progetto Leonardo. Esculapio, Bologna, Italia, novembre 2011, isbn 978-88-7488-472-8.