Knowledge and understanding
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.
Applying knowledge and understanding
The theoretical notions are actively used for the design and implementation of relational data bases in the context of a specific DBMS (PostgreSQL). The exercises on the use of the SQL language are primarily focused on the correctness, readability and portability of queries. The exercises on data base design are focused on evaluating the adequacy of the schema to the application context, as well as on the evaluation of its robustness and flexibility.
The part of the course dedicated to data base design shows that the same design problem can be tackled and solved in different ways: the student should therefore critically compare the design alternatives, stressing pros and conses.
The exercises on the design of data bases require the ability to understand and effectively communicate the main characteristics of the specific application considered, at different levels of abstraction. The initial phases of the design, focused on requirement analysis, emphasizes communication skills in a non-specialized context. The other phases, which are closer to the implementation, will exercise the ability to effectively communicate at a more technical level.
The theoretical study and practical application of the basic notions of relational DBMS, besides being mandatory in the context of a Computer Science degree, are also essential to any further study on data base systems, also allowing for a better understanding of technological advances in the field.