Students attending this course will have acquired the techniques and methods to address problems of database design, and to make use of the basic functionalities (definition, update, and querying of the database) of database management systems in the context of development and deployment of information systems. In addition, students will be able to develop applications that programmatically interact with a database management system. The course explicitly refers to relational databases and to the corresponding database management systems based on the SQL language. However, the taught methods and principles are of a more general nature, and can be applied also in those contexts where data models and database systems different from relational ones are adopted.

Course Syllabus
  1. Conceptual modeling of databases
  2. Relational data model
  3. Relational algebra, relational calculus and SQL
  4. Database design theory with normalization theory
  5. Procedural language extensions to SQL
  6. Using SQL in database applications: API, embedded SQL

Course Description