Databases (the English translation of "Basi di dati" )
Teacher
prof. Andrea SCHAERF
Credits
6 CFU
Language
Italian
Objectives
The course provides fundamental concepts and methodologies regarding databases and their management systems (DBMS).
Acquired skills
- Familiarity with databases and database management systems.
- Knowledge of the relational database model.
- Familiarity with relational database management systems.
- Ability to design and implement large database.
- Ability to interact with databases through the SQL language.
- Ability to use a DBMS.
Lectures and exercises (topics and specific content)
Introduction to databases: information systems, information and data; databases and management systems; dat models (2 hours).
The relational model: mathematical bases of the relational model; structure and integrity constraints of the relational model (4 hours).
Relational algebra: algebra operators; queries in relational algebra (6 hours).
The language SQL: data definition in SQL; query in SQL; data manipulation in SQL; SQL embedded in a programming language (12 hours).
Conceptual design: the Entity-Relationship (ER) model; design strategies; qualities of a conceptual scheme; examples (6 hours).
Logical design: restructuring of ER models; translation of restructured ER schemes in the relational model (4 hours).
Database normalization: redundancies and anomalies; functional dependencies; normal forms, 3NF and BCNF; properties of the decompositions (6 hours).
Use of the DBMS PostgreSQL: installation and use of PostgreSQL (v.9); use of the client PgAdminIII; PostgreSQL features (2 hours).
Laboratory on SQL: data management and query in SQL using PostGreSQL (6 hours).
Database access through the web: the language PHP; interaction of PHP and PostgreSQL (2 hours).
Exercises (8 hours).
Labs (10 hours).
References
- Atzeni, Ceri, Paraboschi, Torlone. Basi di dati - Modelli a linguaggi di interrogazione (4a edizione). McGraw-Hill Italia. 2013
Type of exam
Written and oral
Additional material or information on line