Data Management and Analysis

CdS Applied Computer Science and Artificial Intelligence


Resources

  • Books:
    • [B1] J. D. Ullman: Principles of Database & Knowledge-Base Systems, Vol. 1: Classical Database Systems
    • [B2] Lemahieu, W., vanden Broucke, S., & Baesens, B. (2018). Principles of Database Management: The Practical Guide to Storing, Managing and Analyzing Big and Small Data. Cambridge University Press
    • [B3] A. Albano: Databases Essentials Free book
  • Slides
  • Hand notes WARNING: the notes might contain mistakes. You can report them by sending me an email.
  • Exercises
  • Exam simulations
  • Past exams sheets
Important News
  • Due to possible transport and other services interruption, as well as to allow everyone to participate to the national strike and demonstrations, the lecture of Friday 3rd October is cancelled. Classes will resume regularly on Monday 6th October.
  • Due to other work duties, the lectures on Friday 24th and Monday 27th October are cancelled.
  • To allow the regular carrying out of extraordinary exams, the lectures on Friday 31st October and Monday 3rd November are cancelled. Lectures will resume regularly on Friday 7th November.
  • Due to other work constraints, the office hour time has been moved. Check the Office hour section for the new schedule.

Classroom and Timetable

Aula De Lollis 3 - RM158-E01PTEL003

  • Monday: 15:00 – 18:00
  • Friday: 16:00 – 18:00
Office hour

Office hour is by appointment. It will start on Friday 26th September as follows.

  • Fridays: from 14:00 to 16:00 at Dipartimento di Informatica, Edificio E, Viale Regina Elena, 295.
  • Thursdays: from 12:00 to 14:00 at Dipartimento di Informatica, Edificio E, Viale Regina Elena, 295.

It is possible to setup meetings in other time slots, if needed.

Tutor

The tutor for the course is Gianmaria Romano. He is available to meet the students to discuss the content of the course in preparation for the exam. This includes both theory and exercises. You can get in touch directly with him. Meetngs work by appointment and are generally taking place in the following slot:

  • Thursdays: from 10:00 to 12:00 Room S1, Department of Computer Science, Viale Regina Elena, 295, Building E

Course content

  • Introduction to DBMS
  • The relational model
  • Relational algebra
    • unary operators: projection, selection. Binary operators: union, difference, intersection, Cartesian production, natural join, \(\theta-join\). Negation, universal and existence quantification.
  • Database design and normalization
    • Data redundancy, insertion, update, and deletion anomalies. Relational theory definitions: schema, tuple instance, functional dependency, legal instance, closure of \(F\). Trivial dependencies, properties of functional dependencies. Armstrong’s axioms. Rules: decomposition, union, pseudotransitivity, with Theorem and demonstration. Closure of \(X\) and first lemma on the closure (with proofs). Theorem \(F^+ = F^A\) with proof. Third normal form, formal definition and alternative definition. Algorithm for computing \(X^+\), correctness theorem and proof. Key definition, practical ways to find the keys of a schema, uniqueness check. Decomposition of a schema, definition. Projection of \(F\) on the decomposition of a schema, definition. Equivalence between two sets of functional dependencies, definition. Lemma on the closures of two sets of functional dependencies, with proof. Decomposition preserving \(F\), definition. Algorithm for checking if \(F\) is preserved. Algorithm for computing \(X^{+}_{G}\). Decomposition with lossless join, definition. Algorithm for checking if a decomposition has a lossless join, with proof. Minimal cover, definition, and steps to compute it. Decomposition algorithm, with extra step for lossless join, and proof.
  • Physical organization of a database
    • Heap, sequential, random (hash). Index sequential access method (ISAM) organization. Tree organizations: b-trees

Course diary

  • 22-09-2025 - Relational Model: basic concepts and definitions.
  • 26-09-2025 - Relational Algebra: Projection, Selection, Union Compatible operations, Cartesian Product, natural join, \(\theta-join\).
  • 29-09-2025 - Relational Algebra: Universal Quantification. Exercises.
  • 06-10-2025 - Relational Theory: relation schemas, instances, functional dependences, closure, keys.
  • 10-10-2025 - Relational Theory: Armstrong’s Axioms, closure of \(X\), equivalence \(F^+ = F^A\).
  • 13-10-2025 - Relational Theory: Third normal form (3NF).
  • 17-10-2025 - Relational Theory: 3NF and BCNF.
  • 20-10-2025 - Relational Theory: Computing the closure of \(X\), Checking Keys and 3NF.
  • 07-11-2025 - Relational Theory: Dependence preservation.
  • 10-11-2024 - Relational Theory: Dependence preservation, Computing \(X^{+}_{G}\) from \(F\). Exercises on checking that a given decomposition preserves \(F\).
  • 14-11-2025 - Relational Theory: Lossless join.
  • 17-11-2025 - Relational Theory: Checking Lossless Join Decompositions (Algorithm). Exercises on decompositions preserving F and having a lossless join. Exercises on Relational Algebra.
  • 21-11-2025 - Relational Theory: Minimal covers.
  • 24-11-2025 - Relational Theory: Finding Decompositions.
  • 28-11-2025 - Relational Theory: Exercises: finding a decomposition of a relational schema.
  • 01-12-2025 - Physical Organization: Heap, Sequential, and Hash files.

Examination rules

  • The exam for Unit 1 consists to a written part and an oral part.
    • The written part (about 2 and half hours) consists in a section of multiple choice questions about theori and a section with three exercises about: Relational Algebra, Relational Theory, Physical Organization.
    • For the multiple choice questions, each correct answer adds a point, each wrong answer subtracts half a point. You need to score at least 6 points out of 10 to pass the section.
    • The exercises of the second section are worth 10 points each. If all exercises are evaluated with a sufficient score (6/10), the section is passed.
    • If the written test is passed, you are assigned a mark according to the following conversion table

      Written Score Final Mark
      18 18
      19 19
      20 19
      21 20
      22 20
      23 21
      24 21
      25 22
      26 22
      27 23
      28 23
      29 24
      30 24
    • The final mark can be adjusted by taking an optional oral part. The oral exam can add or subtract up to 10 points from the written score.
    • WARNING: although optional, I reserve the right to call some students to the oral exam whenever I deem it appropriate.
    • The oral part consists into questions about:
      • Definitions and basics about Relational Theory
      • Proofs of theorems in Relational Theory
      • Physical Organization
    • The oral examination usually takes place one week after the written test. However, this highly depends on the time needed to mark all the written exams, which is subject to variations, due to my ongoing duties and the number of students taking the exam themselves.
Important
  • To take the exam, it is mandatory to book on time on INFOSTUD. The registration deadline is alwas 7 days before the written test day.
  • When registering, carefully check the notes of the verbale to find whether it is for Unit 1 or Unit 2 of the course (read the Exam recording section for more info).
  • Often, in order to facilitate the organization and progress of the exam, after the registration deadline on INFOSTUD, I will send a simple google form to mandatory fill just to confirm your attendance. I use this to get the most accurate number of students taking the exam, which I need to book the correct exam room, print an adequate number or tests and, occasionally, organize the exam in more rounds, if needed.

Exam recording

  • The course is the first unit of a 2 units 12 credits course “Data Management and Analysis”, the second unit will be taught in semester 2 by Prof. Walter Quattrociocchi.
  • To pass the 12 credits course, you have to pass 2 separate examinations, one for unit 1 and one for unit 2; only after passing both examinations you will get the 12 credits; there can be no exception to this, so you cannot take unit 1 only, or unit 2 only and receive 6 credits, that is not possible (for Erasmus students, please see below).
  • Due to administrative reasons, the students passing Unit 1 who did not yet pass Unit 2, will be recorded as rinuncia on the verbale. At the same time, they will receive an email from the instructor, confirming they passed the exam, together with date and final mark.
  • Erasmus students: unfortunately, Data Management and Analysis is a 12 credits course split into 2 units across 2 semesters, and we cannot record the first (or second) half of the course only.

Previous Editions