Data science e tecnologie per le basi di dati (2020/2021)
Table of content
- Informazioni generali
- Avvisi
- Esami
- Slides delle lezioni
- Slides delle esercitazioni
- Temi d’esame
- Tutoraggio
- Esercitazioni di Laboratorio
- Materiale per svolgere i laboratori sul proprio pc
- Esercitazioni da consegnare (homework)
Informazioni generali
- CFU: 8
- Docente: Elena Baralis
- Esercitatori: Daniele Apiletti, Flavio Giobergia, Paolo Bethaz
- Email: [nome].[cognome]@polito.it
- Modalità d’esame A.A. 2020/2021 (emergenza COVID-19)
- Prima di sostenere l’esame, vi invitiamo a testare la vostra configurazione software/hardware. Potete trovare una simulazione dell’esame (con Respondus + Lockdown Browser) dal Portale della didattica (Esami in remoto -> Effettuare la Simulazione di esame)
Avvisi
- 16/10/2020 – è stato pubblicato il calendario completo dei laboratori, insieme alle guide aggiornate per il setup di Oracle Database XE e Oracle SQL Developer e al testo del laboratorio 1
- 21/10/2020 – è stato pubblicato il calendario dei quaderni, con date di pubblicazione e scadenza degli stessi
- 30/10/2020 – è stato pubblicato il testo del Quaderno # 1, con consegna entro il 09/11/2020, ore 23:59 (CET)
- 04/11/2020 – sono state pubblicate le slides aggiornate di Data mining – classificazione. Sostituiscono le slides “classificazione”, “classificazione, Random Forests” e “classificazione, reti neurali” (ora segnati come OLD)
- 13/11/2020 – è stato pubblicato il testo del Quaderno # 2, con consegna entro il 23/11/2020, ore 23:59 (CET)
- 28/12/2020 – sono state pubblicate le modalita’ d’esame per l’A.A. 2020/2021
Esami
- Modalità d’esame A.A. 2020/2021 (emergenza COVID-19)
- Elenco quaderni consegnati per l’A.A. 2020/21. In caso di problemi, contattare Flavio Giobergia (nome.cognome@polito.it) specificando tutte le informazioni del caso, per una verifica puntuale.
- In seguito a ciascun appello, verranno estratti alcuni studenti per una discussione orale dei quaderni sottomessi. La mancata partecipazione alla discussione orale comportera’ l’annullamento dei punti ricevuti. I diretti interessati verranno contattati via mail a seguito dell’esame scritto.
- Per l’appello del 26/01/2021, i diretti interessati sono gia’ stati contattati
- Appello del 26 gennaio 2021
- Appello del 9 febbraio 2021
- Appello del 15 giugno 2021
- Appello del 13 settembre 2021
- Voti dell’esame scritto (pdf)
Slides delle lezioni
- Introduzione al corso (slides)
Parte I
- Data Science: introduzione (slides)
- Data warehouse: introduzione (slides)
- Data warehouse: progettazione (slides)
- Data warehouse: analisi (slides)
- Data mining: introduzione (slides)
- Data mining: preprocessing (slides)
- Data mining: Association rules (slides)
- Data mining: classificazione (slides) – NEW (04/11/2020)
- Data mining: clustering (slides)
Parte II
- Triggers (slides)
- Introduzione ai DBMS (slides)
- Buffer Manager (slides)
- Accesso fisico ai dati (slides)
- Ottimizzazione delle query (slides)
- Physical Design (slides)
- Gestione della concorrenza (slides)
- Gestione dell’affidabilità (slides)
- DBMS distribuiti (slides)
- Beyond relational databases (slides)
- MongoDB (part1, part2)
Oracle
- Oracle Optimizer (2 slides per page, 6 slides per page)
- with examples (2 slides per page,6 slides per page)
- Hints (2 slides per page, 6 slides per page)
- Documentazione
- Oracle Database 10g documentation library
- Oracle Database Performance Tuning Guide
- The Query Optimizer
- Statistiche sugli indici, significato delle colonne nelle tabelle delle statistiche (es. CLUSTERING_FACTOR)
- Statistiche sulle tabelle, significato delle colonne nelle tabelle delle statistiche (es. EMPTY_BLOCKS)
Slides delle esercitazioni
In questa sezione saranno pubblicati i testi delle esercitazioni, tra cui quelle svolte in aula, e temi d’esame.
SQL esteso
Data warehouse
- Esercizio: Ditta elettrodomestici (Testo, Bozza soluzione, Svolgimento)
- Esercizio: Eccellenze Made in Italy (Testo, Bozza soluzione Modello Concettuale, Bozza soluzione interrogazioni in SQl esteso, Svolgimento)
- Esercizio: Sito per la pubblicazione di annunci relativi all’affitto di immobili (Testo, Bozza soluzione)
- Esercizio: Teleriscaldamento (Testo)
- Esercizio: Ferie e ore lavorate (Testo con soluzione)
Trigger
- Esercizio 1: Classifica e Noleggio – Svolgimento in aula
- Esercizio 2: Sensori – Svolgimento in aula: esercizio 1, esercizio 2, esercizio 3
- Esercizio 3: Borsa di studio – Svolgimento in aula: esercizio 1a, esercizio 1b
- Esercizio 4: Student grant
Ottimizzatore
- Esercizio 1: Multe (Testo, Bozza soluzione) Svolgimento in aula: query 1, query 2
- Esercizio 2: Studenti (Testo, Bozza soluzione) Svolgimento in aula
- Esercizio 3: Atleti (Testo, Bozza soluzione) Svolgimento in aula
- Esercizio 4: Prenotazione soggiorni (Testo, Bozza soluzione) Svolgimento in aula
- Esercizio 5: Seminari (Testo, Bozza soluzione)
- Esercizio 6: Vendite dischi (Testo)
Temi d’esame
Appelli dell’Anno Accademico 2015-2016
- Appello del 2016-01-27
- Bozza soluzione ottimizzatore
- Bozza soluzione data warehouse (pubblicazioni)
- Apello del 2016-02-23
Appelli dell’Anno Accademico 2011-2012
Appelli dell’Anno Accademico 2010-2011
Tutoraggio
Quest’anno le attività di tutoraggio si svolgeranno in maniera asincrona su Piazza. È possibile sottomettere domande nelle cartelle teoria e esercizi.
Esercitazioni di Laboratorio
Le esercitazioni di laboratorio avverranno in due squadre, secondo la seguente suddivisione sulla prima lettera del cognome:
- Squadra 1: A – L
- Squadra 2: M – Z
Sono disponibili due slot orari per le esercitazioni:
- Slot A: martedì, 16 – 17:30
- Slot B: martedì, 17:30 – 19
Per una questione di bilanciamento, ci sarà uno scambio di slot assegnato a metà semestre.
La seguente tabella riporta il calendario delle esercitazioni, con argomenti e assegnazione slot orari:
Data | Argomento | Slot A | Slot B |
martedì 20 ottobre 2020 | Lab 1 – SQL Esteso | Squadra 1 | Squadra 2 |
martedì 27 ottobre 2020 | Lab 2 – Data Studio | Squadra 1 | Squadra 2 |
martedì 10 novembre 2020 | Lab 3 – Data Mining | Squadra 1 | Squadra 2 |
martedì 17 novembre 2020 | Quaderno 2 – Data Mining | Squadra 1 | Squadra 2 |
martedì 24 novembre 2020 | Lab 4 – Trigger | Squadra 2 | Squadra 1 |
martedì 1 dicembre 2020 | Quaderno 3 – Trigger | Squadra 2 | Squadra 1 |
martedì 15 dicembre 2020 | Lab 5 – Ottimizzatore | Squadra 2 | Squadra 1 |
martedì 12 gennaio 2021 | Lab 6 – MongoDB | Squadra 2 | Squadra 1 |
Quest’anno verrà utilizzata la piattaforma Piazza a supporto delle esercitazioni di laboratorio e per il tutoraggio. È possibile registrarsi alla classe Piazza da questo link utilizzando la propria mail istituzionale (@studenti.polito.it). In caso di problemi (e.g. mancanza di un indirizzio email istituzione), contattare Flavio Giobergia (flavio.giobergia@polito.it).
Di seguito sono riportati i testi delle esercitazioni di laboratorio:
- Lab 1 – data warehouse e SQL esteso (lab1 su Piazza)
- Testo (pdf)
- data warehouse in formato csv
- Software necessario: Oracle Database Express e Oracle SQL Developer
- Soluzione (queries e schema DW)
- Lab 2 – data-warehouse analytics e reporting (Google Data Studio) (lab2 su Piazza)
- Testo (pdf)
- Lab 3 – analisi di un dataset reale mediante il tool di machine learning RapidMiner (lab3 su Piazza)
- Testo (pdf)
- dataset (.xls)
- RapidMiner
- Introduzione a RapidMiner (2 slides per page, 3 slides per page, 6 slides per page)
- Guida aggiornata per l’installazione di RapidMiner Studio 9.8 (download)
- Guida RapidMiner (download)
- Esempi (download)
- NOTA: Per allocare un maggiore spazio di memoria per il processo di RapidMiner è necessario modificare lo script RapidMinerGUI.bat (in Windows) o RapidMinerGUI (sotto Linux), aumentando il valore di default assegnato alla variabile MAX_JAVA_MEMORY secondo la capacità del sistema utilizzato. Lo spazio di memoria deve essere indicato in MB.
- Lab 4 – trigger (lab4 su Piazza)
- Lab 5 – ottimizzatore (lab5 su Piazza)
- Testo (pdf)
- script per la generazione delle basi dati
- script SQL utili (es. aggiornamento statistiche, create index)
- documentazione di Oracle e descrizione delle operazioni del piano di esecuzione
- Soluzione (pdf)
- Lab 6 – database non relazionali (MongoDB) (lab6 su Piazza)
- Testo (pdf)
- Dataset restaurants (JSON in .zip)
Materiale per svolgere i laboratori sul proprio pc
Per svolgere i laboratori, sarà necessario installare sul proprio computer i seguenti software.
Oracle Database Express e Oracle SQL Developer
Per effettuare una connessione al database tramite SQL Developer e importare tabelle, è possibile seguire questa guida.
Esercitazioni da consegnare (homework)
In questa sezione sono pubblicati i testi e le indicazioni per i “quaderni”, le esercitazioni da svolgere autonomamente durante il corso e da consegnare tramite caricamento sulla pagina del corso del portale della didattica (nella scheda “Consegna Elaborati”). La consegna nei tempi e modi previsti, e il superamento di un’eventuale verifica permettono agli studenti di ottenere punti aggiuntivi all’esame, in base alle modalità descritte nelle regole d’esame. Per chiedere informazioni sul quaderno, inviare un messaggio di posta elettronica agli esercitatori con le seguenti modalità.
- Il messaggio deve avere come oggetto “DSTBD quaderno“.
- Nel corpo del messaggio devono essere indicati il proprio nome, cognome e numero di matricola, oltre alla richiesta specifica.
Affinché la consegna del quaderno sia presa in considerazione per ottenere il relativo punteggio, è necessario rispettare le seguenti condizioni:
- Svolgere tutti i punti indicati nel testo degli esercizi.
- Preparare un file in formato PDF, DOC o ODT contenente lo svolgimento degli esercizi.
- Assegnare il nome del file secondo il seguente formato (non è case sensitive): QuadernoN_Cognome_Nome_Matricola.XXX dove
- Matricola, Cognome e Nome sono da sostituire con i dati dello studente, eventuali lettere accentate sono da riportare senza accento, e nomi o cognomi doppi (costituiti da più parole separate) devono essere riportati come una parola unica senza spazi,
- la N che segue Quaderno deve essere sostituita con il numero di quaderno consegnato,
- l’estensione del file XXX rispecchia il tipo di file prescelto per lo svolgimento degli esercizi (PDF, DOC o ODT).
- Esempio: lo studente Marco Giulio De Medici, matricola S123456, consegna il quaderno numero 2 in formato PDF, il nome del file è Quaderno2_DeMedici_MarcoGiulio_s123456.PDF
- Siccome i file caricati sono processati in modo automatico, l’assegnazione di un nome sbagliato al file comporta l’annullamento della consegna del relativo quaderno. Non saranno effettuate correzioni manuali dei nomi dei file dopo la consegna.
- Caricare il file sul portale della didattica, nella scheda “Consegna Elaborati”, entro la data di scadenza indicata per ciascun quaderno.
- Non sono permessi caricamenti multipli per lo stesso studente e quaderno.
- Fa fede la data di caricamento indicata dal portale della didattica.
- Siccome i file caricati sono processati in modo automatico, il caricamento oltre la scadenza comporta l’annullamento della consegna del relativo quaderno.
- Durante la procedura di upload viene richiesto l’inserimento di un campo “Descrizione”. Riportare lo stesso nome assegnato al file secondo le specifiche sopra descritte (con o senza estensione, nel campo descrizione è ininfluente).
- Solo coloro che non hanno accesso alla pagina web del corso sul portale della didattica possono consegnare le esercitazioni tramite mail agli esercitatori entro la data di consegna.
- Sostenere con esito positivo il colloquio di verifica nella data prevista (si vedano le regole d’esame).
Il giorno in cui si sostiene la prova scritta, ogni studente che ha consegnato i quaderni deve portare con sé la stampa dei file caricati sul portale.
Calendario esercitazioni da consegnare (quaderni)
- Data Warehouse. Pubblicazione entro il 30/10/2020 (consegna 9/11/2020)
- Data Mining. Pubblicazione entro il 13/11/2020 (consegna 23/11/2020)
- Trigger. Pubblicazione entro il 27/11/2020 (consegna 07/12/2020)
- Ottimizzatore. Pubblicazione entro il 21/12/2020 (consegna 07/01/2021) [nuove date!]
Testo delle esercitazioni da consegnare (quaderni).
- Quaderno #1 (data warehouse) da consegnare entro il 9/11/2020, ore 23:59 (CET)
- Quaderno #2 (data mining) da consegnare entro il 23/11/2020, ore 23:59 (CET)
- Dataset dataset_breast.xlsx
- Quaderno #3 (trigger) da consegnare entro il 07/12/2020, ore 23:59 (CET)
- Script per la generazione della base dati
- Quaderno #4 (ottimizzatore) da consegnare entro il 07/01/2021 ore 23:59 (CET)