Learning outcomes of the course unit
The course is divided in two parts. The goal of the first part is to introduce Data Base Management Systems, with special regard to those based on the relational data model, and the many ways to interact with them. The second part of the course introduces the methodologies and techniques that are needed for a correct design of a relational database.
The knowledge of basic programming languages concepts is mandatory.
The knowledge of the basic concepts of operating systems and communication networks is also helpful (even though not strictly required).
Course contents summary
Introduction to Data Base Management Systems.
The relational data model.
Relational algebra and relational calculus.
The SQL language.
Interfacing SQL with mainstream programming languages.
Security and access right management.
Database design methodologies: conceptual, logical and phisical design of the data base.
The Entity-Relationship model.
Normalization of database schemas.
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone.
Basi di dati: modelli e linguaggi di interrogazione,
J. Ullman, J. Widom.
A First Course in Database Systems (2nd Edition),
Prentice Hall, 2002.
Some lectures will be based on material that can be downloaded from the web.
Only students that have already completed and presented the Lab project can take part to the written examination.