Database Systems

Degree course: 
Corso di First cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
Academic year in which the course will be held: 
Course type: 
Compulsory subjects, characteristic of the class
First Semester
Standard lectures hours: 
Detail of lecture’s hours: 
Lesson (64 hours), Laboratory (16 hours)


Final Examination: 

The students learning extent is assessed through a written exam which lasts approx. 2.5 hours. Students are not allowed to consult any text book or other learning material during the test. The test is divided into two parts. The first part consists of 6 open questions on the conceptual aspects of the course, whereas the second part consists of three exercises: two exercises on SQL (one on the DDL part and the other on the query language) and one on database design. The grade of each part is given in thirtieths. The overall grade is determined by the following formula: 1/3 * grade of the first part + 2/3 * grade of the second part. The exam is passed if the student obtains a grade greater than or equal to 18 in both the parts.

Voto Finale

The course has the goal of illustrating the models, languages, and tools for the use, the design and the implementation of relational databases as well as for the design and coding of applications that interact with a relational database.

In particular, the student should know, on the basis of the knowledge acquired through the lessons, how to use the relational model for data management, as well as the main modeling tools for the design of relational databases.

The course has a remarkable applicative value. A significant part of the course is dedicated to the SQL language, which is the standard language for the management and querying of databases, both in stand-alone mode as well as in conjunction with a programming language. The study of the SQL language will be facilitated through exercises on a commercial relational DBMS, in order to enable the student, at the end of the course, to use the SQL language both for database schema creation and for the manipulation and query of its instances. We will also show examples of Java programs that interface to a relational database. The course also includes the study of methodologies for designing a relational database, a study that will also be exemplified by presentations of case studies. Expected learning outcomes include the ability to conduct all phases of database design and to communicate with clients in appropriate languages. It is also expected that the student will be able to detect any design errors or in the formulation of a SQL command.

Knowledge of data management models and languages allows the acquisition of adequate skills which will be instrumental for the individual deepening of the student knowledge and for the development of new skills. For example, it should not be difficult for a student who has followed the course profitably, to independently learn the basic concepts of a new data model or the programming of applications that interface to a database with a language different from Java.

1. An introduction to database and Data Base Management Systems (4h)
2. The relational model (6h)
3. SQL language: DDL commands (4h)
4. SQL language: DML commands (16h)
5. SQL language: constraint specification, views (4h)
6. SQL & programming languages (5h)
7. Transaction management (2h)
8. Database design (23h)

B. Catania, E. Ferrari, e G. Guerrini.Sistemi di Gestione Dati: Concetti e Architetture, Città Studi Edizioni, 2006.

B. Carminati, A. Maddalena, M. Mesiti. Sistemi di Gestione Dati (Esercizi),Città Studi Edizioni, 2008.

Slides and additional material is available on the e-learning web site.

Lectures and Exercise classes on a commercial DBMS.

During the period in which the course is held, students can meet with the instructor on class days. In the remainder of the year, students need to contact the instructor by email to set up an appointment.