DATABASE A - E

Academic Year 2024/2025 - Teacher: FEDERICA PROIETTO SALANITRI

Expected Learning Outcomes

The course covers the fundamental concepts of management and design of database systems.  Topics include data models (ER and relational); query languages (SQL); 
implementation techniques of database management systems (index structures and nd query processing).
 

The learning objectives of the course, expressed according to the Dublin descriptors, are:

Knowledge and understanding

  • To understand the main concepts of management and design of database systems
  • To understand concepts and tools for querying databases of different nature (therefore with structured and unstructured data) and at different scales
  • To understandi the role and the impact that data and their correct modeling may have on software applications using them

Applying knowledge and understanding

  • To be able to design, starting from the requirements, a relational relational database, from a conceptual, logical and physical point of view.
  • To be able to understand and use the SQL language to manage data and perform efficient queries.

Making judgements

  • Analyzing functional and non-functional requirements
  • Understanding the implications of design choices related to response times and alternative implementations
  • Understanding the implications of design choices related to change management and maintenance of alternative software stacks
  • Understanding the performance issues associated to alternative DBMS

Communication skills 

  • Preparing database specification documents, addressing the specificity of conceptual and logical modellation 
  • Explaining the motivations behind specific design choices

Learning skills

  • Learning how to use the tecnologies for the development of databases and their scalability 
  • Learning how to compare alternative projects schemese from different perspectives
  • Learning to recognize design principles underlying alternative modellation development strategies

Required Prerequisites

Basics of programming.

Attendance of Lessons

Recommended.

Detailed Course Content

Models and Languages for Database Management

  • Fundamentals of Database Management Systems (DBMS)
  • Relational databases:
    • Relational Model: basic concepts, integrity* constraints and keys*.
    • SQL language: data definition*, data modification*, queries*, views*, transactions*.
    • Advanced SQL: triggers*, procedures* and assertions
    • An example of relational DMBS: MySQL.

Design of databases

  • Conceptual design: E/R model*, conceptual design strategies*, quality verification.
  • Logical design: restructuring of the E / R schemes,* translation into the relational model*.

 * Topics to know and understand to pass the exam.

Textbook Information

  1. Basi di dati - 4/ed, Modelli e linguaggi di interrogazione. Di: Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone, Casa editrice: Mc-Graw-HIll
  2. Teaching materials provided by the instructor

Learning Assessment

Learning Assessment Procedures

The exam consists of two tests to be taken in the lab covering (1) schema implementation in SQL and implementation of various queries and (2) the design of a database, starting with a set of requirements and load data at runtime. Each test will affect 50% of the final course grade.

The test will be evaluated on the ability to analyze the problem and justify the design choices, the correctness of the proposed E/R schema, and the correctness and completeness of the implementation in SQL. 

Should further clarification be necessary, an oral examination may be requested to discuss the design choices and implementation, in order to assess the knowledge effectively acquired.

Examples of frequently asked questions and / or exercises

Past exams will be provided during the course.