Current Courses

Article Index

Sito ufficiale del corso di Basi di Dati (04AFQPC) per studenti della Laurea Triennale in Ing. del Cinema e dei Mezzi di Comunicazione.

Avvisi

  • 2020-09-20: Benvenuti all'edizione 2022/2023 del corso!
  • I laboratori inizieranno martedì 18 ottobre
  • Nella sezione "Materiale" di questo sito trovate le informazioni relative al Progetto
  • Suddivisione in gruppi per i laboratori e per le esercitazioni a squadre:
    - Gruppo GIALLO: da A a G
    - Gruppo AZZURRO: da H a Z

    Per l'assegnazione dei gruppi ai vari slot orari consultate il piano del corso.


Informazioni

Presentazione

  • Il corso aderisce al progetto OCSE dal titolo «Fostering and assessing creativity and critical thinking in higher education and teacher education»

Docenti

  • prof. Laura Farinetti (This email address is being protected from spambots. You need JavaScript enabled to view it.)
  • ing. Lorenzo Canale (This email address is being protected from spambots. You need JavaScript enabled to view it.)

Orario del corso

Giorno e ora Tipologia Aula
Mercoledì 8:30-11:30 Lezione/esercitazione 9I
Venerdì 8:30-10:00 Lezione/esercitazione 4T
Martedì 16:00-17:30 Laboratorio squadra 1 LAIB 5
Martedì 17:30-19:00 Laboratorio squadra 2 LAIB 5

NON tutte le ore del calendario ufficiale saranno svole, e le attività potranno variare da settimana a settimana: consultare frequentemente la sezione Piano del corso per informazioni più dettagliate, sempre aggiornate.

Materiale di studio

  • Materiale fornito dai docenti

Testo di riferimento

  • Atzeni, Ceri, Paraboschi, Torlone, “Basi di dati - Modelli e linguaggi di interrogazione”, 4 ed., McGraw Hill, 2013.

Modalità di comunicazione con i docenti

 


Programma del corso

Presentazione

Insegnamento obbligatorio per la Laurea Triennale in Ingegneria del Cinema e dei Mezzi di Comunicazione, collocato al I pd del III anno. Il corso descrive i sistemi per la gestione di basi di dati, considerando le metodologie di progettazione di basi di dati e la loro gestione e interrogazione. L'attività di laboratorio permette di sperimentare l'uso dei prodotti open-source più diffusi.

Risultati attesi

  • Conoscenza degli aspetti fondamentali di un sistema per la gestione di basi di dati
  • Conoscenza della struttura e delle proprietà del modello relazionale dei dati
  • Capacità di scrivere interrogazioni in linguaggio SQL
  • Conoscenza del modello concettuale Entità-Relazione per la rappresentazione dei dati e della metodologia per la progettazione concettuale e logica relazionale di una base di dati
  • Capacità di progettare una base di dati relazionale
  • Conoscenza dei costrutti SQL per la gestione delle viste, del controllo dell'accesso e per la gestione delle transazioni e degli indici

Prerequisiti

Competenze di base di programmazione.

Programma

  • Caratteristiche di un sistema per la gestione di basi di dati
  • Caratteristiche del modello relazionale dei dati
  • Modello concettuale dei dati (modello Entità-Relazione) e metodologia di progettazione concettuale e logica relazionale di una base di dati
  • Linguaggio SQL: istruzioni per la definizione delle basi di dati e l'elaborazione dei dati
  • Linguaggio SQL: istruzioni per la gestione delle viste, del controllo dell'accesso, delle transazioni e degli indici

Laboratori e/o esercitazioni

Esercitazioni in aula: svolgimento di esercizi in aula (linguaggio SQL e progettazione di basi di dati), sviluppo di un progetto (fase 1: progettazione concettuale)
Esercitazioni in laboratorio: interrogazioni di basi dati in SQL, sviluppo di un progetto (fase2: implementazione)

Modalita' di verifica dell'apprendimento

Vedere le Regole d'esame.

 


Materiale

Questa sezione conterrà tutto il materiale didattico (slide, documenti, link, ...) utilizzato durante il corso.

Lucidi delle lezioni

 

Esercitazioni

 

Esercizi SQL "della settimana"

Per potervi preparare all'esame (parte di SQL), ogni venerdì mattina a partire dal 25/11 troverete su Exercise due esercizi di SQL tratti da temi d'esame vecchi. Avete una settimana di tempo per consegnarli, e una settimana per fare la valutazione "fra pari" degli esercizi di altri vostri colleghi. Le soluzioni saranno pubblicati al termine della seconda settimana.
La partecipazione è facoltativa e non assegna punti per l'esame.

  • Esercizi della settimana #1

    • consegna fra il 25/11 e l'1/12
    • valutazione fra il 2/12 e l'8/12
    • testo e soluzione

 

Laboratori

Laboratorio SQL 1:

Laboratorio SQL 2:

 

Strumenti

 

Progetto "Our World in Data"

 Scadenze relative al progetto

  • 15 novembre 2022: scadenza di consegna del database (vedere istruzioni)
  • 6 dicembre 2022: scadenza di consegna delle query proposte, con soluzione e risultato atteso (vedere istruzioni)
  • Relazione del progetto "OWiD"
    • 15 dicembre 2022: scadenza di consegna della relazione (la consegna è attiva dal 28/11)
    • 4 gennaio 2023: scadenza del peer-review delle relazioni
    • Istruzioni per la consegna e la valutazione: slide (la registrazione è disponibile sul Portale / Virtual Classroom)
  • 12 gennaio 2023: termine del gioco, cioè della sottomissione delle query

 

Esame

Regole d'esame

 

Temi d'esame

Molti temi d'esame sono di altri corsi di Basi Dati, ma il livello degli esercizi di SQL e di progettazione concettuale e logico-relazionale è identico. IMPORTANTE: ignorare sempre l'esercizio (a) della Parte A, che riguarda l'algebra relazionale (che non fa parte del nostro programma).

  • Tema 1: testo e soluzione
  • Tema 2: testo e soluzione
  • Tema 3: testo e soluzione
  • Tema 4: testo e soluzione
  • Tema 5: testo, soluzioneSQL e soluzioneER
  • Tema 6: testo, soluzioneSQL e soluzioneER
  • Tema 7: testo e soluzioneSQL

 


Piano del corso

In questa sezione trovate:

      • il calendario delle lezioni del corso, in cui sono riportate le attività e gli argomenti;
      • l'elenco delle videolezioni, con la date consigliate e le scadenze dei quiz.

 

Calendario delle lezioni

La tabella seguente riporta la pianificazione delle lezioni del corso, per trasparenza di informazione e per facilitare la pianificazione da parte degli studenti. Ci riserviamo di modificare la pianificazione delle lezioni per esigenze didattiche.

IMPORTANTE: Si noti che non tutte le lezioni indicate nell'orario ufficiale verranno utilizzate.

Legenda: la colonna Tipo può essere Lez=Lezione, Es-T=Esercitazione in aula per tutti, Es-SQ=Esercitazione in aula a squadre, Lab=Esercitazione di laboratorio. Le attività in bianco sono per tutti, quelle in giallo o in azzurro sono attività a squadre (gruppo GIALLO e gruppo AZZURRO).

DataOreTipoOreArgomentoAulaDocente
 mer 28/09/2022  8.30-11.30  Lez  3  Introduzione al corso. Introduzione alle BD. Metodologia di progettazione delle BD.  9I  Laura Farinetti
 ven 30/09/2022  8.30-10.00  Lez  1,5  Progettazione concettuale: il modello ER.  4T  Laura Farinetti
 mer 05/10/2022  8.30-11.30  Lez  3  Il modello relazionale. Definizioni. Vincoli di integrità.  9I  Laura Farinetti
 ven 07/10/2022  8.30-13.00  Lez  1,5  Il progetto "Our World in Data": introduzione ed esempio.  4T  Laura Farinetti
 mer 12/10/2022  8.30-11.30  Es-T  3  Progetto "Our World in Data": utilizzo di dati "reali".  9I  Lorenzo Canale
 ven 14/10/2022  8.30-10.00  Es-T  1,5  Esercizi di progettazione concettuale e logico-relazionale.  4T  Laura Farinetti
 mar 18/10/2022  16.00-17.30  Lab  1,5  Laboratorio #1: Our World in Data: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mar 18/10/2022  17.30-19.00  Lab  1,5  Laboratorio #1: Our World in Data: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mer 19/10/2022  8.30-10.00  Es-SQ  1,5  Esercitazione di progetto #1: gruppo GIALLO  9I  Laura Farinetti
 mer 19/10/2022  10.00-11.30  Es-SQ  1,5  Esercitazione di progetto #1: gruppo AZZURRO  9I  Laura Farinetti
 ven 21/10/2022  10.00-11.30  Lez  1,5  L'istruzione SELECT. Join fra tabelle.  4T  Laura Farinetti
 mar 25/10/2022  16.00-17.30  Lab  1,5  Laboratorio #2: Our World in Data: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mar 25/10/2022  17.30-19.00  Lab  1,5  Laboratorio #2: Our World in Data: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mer 26/10/2022        Lezione cancellata    
 ven 28/10/2022  8.30-10.00  Es-T  1,5  Esercizi di SQL.  4T  Laura Farinetti
 mer 02/11/2022  8.30-10.00  Es-SQ  1,5  Esercitazione di progetto #2: gruppo AZZURRO  9I  Laura Farinetti
 mer 02/11/2022  10.00-12.00  Es-SQ  1,5  Esercitazione di progetto #2: gruppo GIALLO  9I  Laura Farinetti
 ven 04/11/2022  8.30-10.00  Es-T  1,5  Esercizi di SQL.  4T  Lorenzo Canale
 mar 08/11/2022  16.00-17.30  Lab  1,5  Laboratorio #3: SQL: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mar 08/11/2022  17.30-19.00  Lab  1,5  Laboratorio #3: SQL: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mer 09/11/2022  8.30-11.30  Lez  3  L'istruzione SELECT. Divisione. Table function. Esempi.  9I  Laura Farinetti
 ven 11/11/2022        Lezione cancellata    
 mar 15/11/2022  16.00-17.30  Lab  1,5  Laboratorio #4: SQL: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mar 15/11/2022  17.30-19.00  Lab  1,5  Laboratorio #4: SQL: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mer 16/11/2022        Lezione cancellata    
 ven 18/11/2022  8.30-10.00  Es-T  1,5  Esercizi di SQL.  4T  Laura Farinetti
 mar 22/11/2022  16.00-17.30  Lab  1,5  Laboratorio #5: SQL: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mar 22/11/2022  17.30-19.00  Lab  1,5  Laboratorio #5: SQL: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mer 23/11/2022  8.30-11.30  Lez  3  Gestione delle transazioni. Controllo dell'accesso. Modalità di consegna progetto.  9I  Laura Farinetti
 ven 25/11/2022  8.30-10.00  Es-T  1,5  Presentazione del gioco "OWiD"
 4T  Lorenzo Canale
 mar 29/11/2022  16.00-17.30  Lab  1,5  Laboratorio #6: Gioco "OWiD": gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mar 29/11/2022  17.30-19.00  Lab  1,5  Laboratorio #6: Gioco "OWiD": gruppo GIALLO  LAIB 5  Lorenzo Canale
 mer 30/11/2022  8.30-10.00  Es-SQ  1,5  Esercitazione di progetto #3: gruppo GIALLO  9I  Laura Farinetti
 mer 30/11/2022  10.00-11.30  Es-SQ  1,5  Esercitazione di progetto #3: gruppo AZZURRO  9I  Laura Farinetti
 ven 02/12/2022  8.30-10.00  Es-T  1,5  Esercizi SQL.
 4T  Laura Farinetti
 mar 06/12/2022        Laboratorio cancellato    
 mer 07/12/2022  8.30-11.30  Es-T  3  Esercitazione su SQL: Cluedo.  9I  Canale, Farinetti
 ven 09/12/2022        Lezione cancellata    
 mar 13/12/2022  16.00-17.30  Lab  1,5  Laboratorio #7: SQL: gruppo GIALLO  LAIB 5  Lorenzo Canale
 mar 13/12/2022  17.30-19.00  Lab  1,5  Laboratorio #7: SQL: gruppo AZZURRO  LAIB 5  Lorenzo Canale
 mer 14/12/2022       Lezione cancellata    
 ven 16/12/2022  8.30-10.00  Es-T  1,5  Esercizi SQL.
 4T  Laura Farinetti

 

Programmazione della teoria: lezioni, videolezioni e quiz

La tabella riporta la sequenza delle lezioni e delle videolezioni pre-registrate, con il relativo quiz. Per le video-lezioni è riportato il periodo consigliato per la visione. Per i quiz è riportato il periodo di pubblicazione (apertura-chiusura). I quiz devono essere sottimessi ENTRO la mezzanotte della data di chiusura, e possono essere sottomessi 1 SOLA VOLTA. Si noti che la numerazione delle videolezioni e dei quiz non è sempre sequenziale e che alcuni quiz sono aperti contemporaneamente.

Legenda: le righe in bianco si riferiscono a lezioni in aula, quelle in verde a videolezioni pre-registrate. I quiz sono associati sia alle video-lezioni che alle lezioni svolte in aula.

Nota: le videolezioni pre-registrate si trovano nella sezione "Virtual Classroom" del Portale della Didattica, i quiz si trovano nella sezione "Exercise" del Portale della Didattica.

LezioneArgomentoPeriodo visione consigliatoQuiz associatoApertura QuizScadenza quizSlide
 Lez Progettazione delle basi dati. Metodologia di progettazione. Il modello E-R: entità, relazioni, cardinalità, generalizzazione. in aula: 28/10 e 30/10  VL11 ven 30/09/2022 ven 7/10/2022  iconaPdf
 VL12 Progettazione concettuale delle basi dati. Esempio: data base per la gestione di prenotazioni in una ASL.   30/09 - 4/10  VL12 ven 30/09/2022 ven 7/10/2022  iconaPdf
 Lez Il modello relazionale. Definizioni. Vincoli di integrità. Chiave primaria. Vincoli di integrità referenziale.  in aula: 5/10  VL01 gio 06/10/2022 gio 13/10/2022  iconaPdf
 VL14 Progettazione logico-relazionale: ristrutturazione dello schema E-R. Traduzione nel modello relazionale. Vincoli di integrità referenziale.  6/10 - 12/10  VL14 gio 06/10/2022 dom 16/10/2022  iconaPdf
 VL15 Esempio di progettazione logico-relazionale: data base per la gestione di prenotazioni in una ASL.   6/10 - 12/10  VL15 gio 06/10/2022 dom 16/10/2022  iconaPdf
 VL02 Il linguaggio SQL. Introduzione. L'istruzione SELECT. Struttura base. La clausola WHERE. Gli operatori LIKE e IS. Ordinamento del risultato.  12/10 - 19/10  VL02 mer 12/10/2022 mer 19/10/2022  iconaPdf
 Lez L'istruzione SELECT. Join fra tabelle.  in aula: 21/10  VL03 sab 22/10/2022 sab 29/10/2022  iconaPdf
 VL04 L'istruzione SELECT. Funzioni aggregate. L'operatore GROUP BY. Condizione di selezione sui gruppi.  22/10 - 26/10  VL04 sab 22/10/2022 sab 29/10/2022  iconaPdf
 VL05 L'istruzione SELECT. Select annidate. Gli operatori IN e NOT IN. Costruttore di tupla.  27/10 - 2/11  VL05 gio 27/10/2022

gio 3/11/2022

 iconaPdf
 VL06 L'istruzione SELECT. Select annidate. Gli operatori EXISTS e NOT EXISTS. Correlazione fra interrogazioni.  3/11 - 8/11  VL06 gio 3/11/2021 gio 10/11/2022  iconaPdf
 Lez L'istruzione SELECT. Select annidate. Divisione. Table function.  in aula: 9/11  VL07 gio 10/11/2022 gio 17/11/2022  iconaPdf
 VL08 Gli operatori insiemistici: UNION, INTERSECT, EXCEPT. Le istruzioni di aggiornamento: INSERT, DELETE, UPDATE.  10/11 - 17/11  VL08 gio 10/11/2022 gio 17/11/2022  iconaPdf
 VL09 Gestione delle tabelle. Creazione, modifica, cancellazione. Vincoli di tabella. Vincoli di integrità referenziale e gestione dei vincoli.  17/11 - 23/11  VL09 gio 17/11/2022 gio 23/11/2022  iconaPdf
 Lez Gestione delle transazioni. Proprietà delle transazioni. Controllo dell'accesso e sicurezza dei dati. Gestione dei privilegi in SQL.   in aula: 23/11  VL10 ven 24/11/2022 ven 1/12/2022  iconaPdf