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 2020/2021 del corso!
Informazioni
Presentazione
- Lucidi di introduzione al corso
- Regole d'esame
- Pagina ufficiale del corso sul Portale della Didattica
- Il corso aderisce al progetto OCSE dal titolo «Fostering and assessing creativity and critical thinking in higher education and teacher education»
- Link al Reflective journal
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 | Note |
Lunedì 11:30-14:30 | Lezione/esercitazione | Virtual Classroom | in remoto |
Martedì 17:30-19:00 | Laboratorio/Lezione | aula 12 | in presenza |
Venerdì 11:00-13:00 | Lezione/esercitazione | Virtual Classroom | in remoto |
Venerdì 13:00-14:30 | Laboratorio/lezione | Virtual Classroom | in remoto |
Vedere la sezione Piano del corso per informazioni più dettagliate.
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
- Conoscenza dei principi alla base delle basi di dati NoSQL
- 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
- 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
- Modello concettuale dei dati (modello Entità-Relazione) e metodologia di progettazione concettuale e logica relazionale di una base di dati
- Cenni sulle basi dati NoSQL
Laboratori e/o esercitazioni
Esercitazioni in aula: svolgimento di esercizi in aula (linguaggio SQL e progettazione di basi di dati).
Esercitazioni in laboratorio: interrogazioni di basi dati in SQL.
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
- Introduzione al corso
- Introduzione alle basi di dati
- Modello relazionale
- Linguaggio SQL: fondamenti
- Linguaggio SQL: costrutti avanzati
- Progettazione di basi di dati
- Basi dati NoSQL
Esercitazioni
- SQL base: testo e soluzioni
- SQL - 1: testo e soluzioni
- SQL - 2: testo e soluzioni
- SQL - 3: testo e soluzioni
- Altri esercizi proposti di SQL
- Esercitazione SQL-5: esercizi proposti e soluzioni
- Esercizi ER: testo e soluzioni
- Altri esercizi ER: testo e soluzioni
- ER - rappresentazione del tempo: testo e soluzioni
- Esercitazione SQL-6: esercizi proposti e risultati
- Esercitazione SQL-7: esercizi proposti e risultati
- Esercitazioni SQL 5,6,7 unite: esercizi proposti e soluzioni
- Tema d'esame: testo e soluzioni
Esercitazioni pre-registrate
- Esercitazione SQL-1: esercizi proposti e soluzioni
- Esercitazione SQL-2: esercizi proposti e soluzioni
- Esercitazione SQL-3: esercizi proposti e soluzioni
- Esercitazione SQL-4: esercizi proposti e soluzioni
Nota: alcuni di questi esercizi sono presenti anche nelle Esercitazioni.
Laboratori
- Suddivisione in squadre:
- Squadra 1, IN PRESENZA, martedì dalle 17.30 alle 13.00 in aula 12: chi si è prenotato
- Squadra 2, ONLINE, venerdì dalle 11.30 alle 13.00: tutti gli altri
- Laboratorio 1: prime interrogazioni in SQL
- Laboratorio 2: funzioni aggregate, raggruppamento
- Database: world (è lo stesso del laboratorio precedente, chi l'ha già importato può evitare di scaricarlo)
- Testo
- Risultati attesi
- Soluzione
- Laboratorio 3: funzioni aggregate, raggruppamento, IN e NOT IN
- Database: world
- Testo
- Risultati attesi
- Soluzione
- Laboratorio 4: join, select annidate
- Database: deliveries
- Testo
- Risultati attesi
- Soluzione
- Laboratorio 5: join, select annidate
- Database: deliveries
- Testo
- Risultati attesi
- Soluzione
- Laboratorio 6: MongoDb
- Laboratorio 7: MongoDb
Strumenti
La lezione di Lunedì 19 Ottobre verterà sulla spiegazione di XAMPP
, strumento utile per eseguire i laboratori. É indispensabile che provvediate ad installare lo strumento prima dell'inizio della lezione; nei link sottostanti trovate dei tutorial che possono esservi utili per l'installazione. Siete liberi di scegliere di installare uno degli strumenti alternativi al posto di XAMPP
, tuttavia nel corso della lezione verrà trattato solamente XAMPP
siccome gli altri strumenti sono diversi a seconda del sistema operativo e sarebbe necessario effettuare una spiegazione diversa per ognuno di essi.
Strumento suggerito:
-
XAMPP
(contiene sia il Database Managment System che l'interfaccia grafica):- guida all'installazione per Windows: https://youtu.be/Cj5eJrVLwYk
- guida all'installazione per Mac OS X: https://youtu.be/4CfngTemXp0
- guida all'installazione per Linux: https://youtu.be/P7butoSPOas
Strumenti alternativi:
- il Database Managment System
MariaDB:
- installazione per Windows e Linux: https://downloads.mariadb.org/
- installazione per Mac OS X: https://mariadb.com/resources/blog/installing-mariadb-10-1-16-on-mac-os-x-with-homebrew/
- un'interfaccia grafica:
HeidiSQL
per Windows: https://www.heidisql.com/download.phpSequel Pro
per Mac OS X: http://www.sequelpro.com/Dbeaver
per Linux: https://dbeaver.io/
Slides sulla lezione di XAMPP:
- versione originale: https://drive.google.com/file/d/1cxZNEMusu2THCfR3TmConV7ezcMm2jRR/view?usp=sharing
- versione modificabile: https://drive.google.com/file/d/19tOhMwB6znQSI-znjarpIpCHd6MbiRpg/view?usp=sharing
Homework
Caricare le soluzioni nella sezione Elaborati del Portale della Didattica, in cui e’ disponibile l’opzione upload.
Regole per la consegna delle esercitazioni. Affinché la consegna delle esercitazioni consenta di ottenere il relativo punteggio (0,5 punti per gli homework su SQL e progettazione logico-relazionale, 1 punto per gli altri due) è necessario rispettare le seguenti condizioni:
- Svolgere tutti gli esercizi indicati nel testo.
- Preparare un file in formato PDF contenente lo svolgimento degli esercizi. E’ possibile caricare anche una soluzione scritta a mano scansionata o fotografata.
- Il nome del file del file pdf deve essere assegnato secondo il seguente formato: QuadernoX_Matricola dove X è il numero dell'homework (1 per l'homework di SQL, ecc., Matricola è da sostituire quella dello studente. L’estensione del file (pdf) non è da ripetere nel nome del file. Esempio di nome del file valido (comprensivo dell’estensione): Quaderno1_181818.pdf oppure Quaderno2_222222.pdf
- Caricare il file sul portale della didattica, nella sezione di consegna elaborati del corso, entro la data di scadenza. Non effettuare caricamenti multipli per lo stesso quaderno.
Durante la procedura di upload viene richiesto l’inserimento di un campo “Descrizione”. Riportare lo stesso nome assegnato al file (esclusa l’estensione) secondo le specifiche sopra descritte. Esempio: Quaderno1_181818 oppure Quaderno2_222222
Solo coloro che NON hanno accesso alla pagina web del corso sul portale della didattica sono autorizzati ad inviare le esercitazioni tramite mail a Laura Farinetti (This email address is being protected from spambots. You need JavaScript enabled to view it.) entro la data di consegna.
Sostenere con esito positivo, se selezionati, il colloquio di verifica. La selezione verrà comunicata il giorno prima della prova scritta tra gli studenti iscritti all'esame.
Per eventuali chiarimenti sui testi dell'homework o sulle regole per la consegna scrivere su Slack.
Homework n. 1 – SQL
Testo pubblicato il 22/10/2020 (pdf)
Scadenza per la consegna: 5/11/2020 h. 23.59
Homework n. 2 – Critical thinking e creative thinking in SQL
Testo pubblicato il 13/11/2020 (pdf)
Scadenza per la consegna: 28/11/2020 h. 23.59
Homework n. 3 – Progettazione concettuale e logico-relazionale
Testo pubblicato il 30/11/2020 (pdf)
Correzione (pdf)
Scadenza per la consegna: 15/12/2020 h. 23.59
Homework n. 4 – Critical thinking and creative thinking nella progettazione concettuale
Testo pubblicato il 20/12/2020 (pdf)
Scadenza per la consegna: 12/01/2021 h. 23.59
Esame
Regole d'esame
L'esame sarà una prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus).
I criteri, le regole e le procedure per l'esame in remoto sono descritti sulla scheda ufficiale dell'insegnamento (https://didattica.polito.it/pls/portal30/gap.pkg_guide.viewGap?p_cod_ins=04AFQPC&p_a_acc=2021&p_header=S&p_lang=IT)
In merito alla prova d'esame si ricorda che:
- la prenotazione all'esame è OBBLIGATORIA per poter sostenere l'esame.
- le regole comuni per tutti gli studenti relative all'uso della piattaforma Exam sono consultabili sul portale della didattica.
- tutti gli studenti sono tenuti a verificare preventivamente il corretto funzionamento dei mezzi necessari con alcuni giorni di anticipo rispetto all'erogazione dell'esame per poter identificare e risolvere eventuali criticità.
- tutti gli studenti sono tenuti a rispettare il Codice Etico dell'Ateneo (https://didattica.polito.it/regolamenti/pdf/Codice_Etico_2011.pdf).
In merito ai quaderni consegnati durante il corso si ricorda che:
- la verifica degli quaderni sarà effettuata a campione e la discussione avverrà in concomitanza con gli appelli d'esame (seguiranno specifiche comunicazioni).
- l'elenco delle consegne sarà pubblicato sul sito Web del corso prima dell'inizio della sessione esami di Gennaio 2021.
- i punteggi dei quaderni eventualmente acquisiti rimarranno validi fino alla sessione di Settembre 2021 inclusa.
Homework
Consegna tramite «Portale della Didattica» entro la scadenza (rigida) di volta in volta indicata
Temi d'esame
Questi temi d'esame sono di altri corsi di Basi Dati, ma il livello degli esercizi di SQL e di progettazione concettuale e logico-relazionale è analogo. IMPORTANTE: ignorare sempre l'esercizio (a) della Parte A, che riguarda l'algebra relazionale.
- 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
La tabella seguente riporta la pianificazione delle lezioni FUTURE del corso (quelle già svolte sono cancellate dalla tabella), per trasparenza di informazione e per facilitare la pianificazione da parte degli studenti. Ci riserviamo di modificare la pianificazione delle lezioni per esigenze didattiche.
Nella tabella sono riportate solo le attività “in diretta”, cioè in Virtual Classroom e/o in presenza. Quando una nuova esercitazione pre-registrata è disponibile viene inserito un avviso su Slack e sul Portale.
IMPORTANTE: Si noti che non tutte le lezioni indicate nell'orario ufficiale verranno utilizzate.
Legenda: la colonna Tipo può essere LezD=Lezione in diretta, EsD=Esercitazione in diretta, Lab=Esercitazione di laboratorio. La colonna Modalità può essere VC=Virtual Classroom, P=Presenza (aula 12), P+VC=Presenza più Virtual Classroom per chi non è presente.
Data | Ore | Tipo | Ore | Argomento | Modalità | Docente |
---|---|---|---|---|---|---|
ven 11/12/2020 | 13.00-14.30 | EsD | 1,5 | Esercizi di SQL. | VC | Lorenzo Canale |
lun 14/12/2020 | 11.30-13.00 | LezD | 1,5 | Temi d'esame. | VC | Laura Farinetti |
mar 15/12/2020 | 17.30-19.00 | Lab | 1,5 | Laboratorio #7: MongoDB. Squadra online. | VC | Lorenzo Canale |
ven 18/12/2020 | 11.30-13.00 | EsD | 1,5 | Correzione dell'homework di progettazione. Esercizi di progettazione concettuale. | VC | Lorenzo Canale |
ven 18/12/2020 | 13.00-14.30 | Lab | 1,5 | Laboratorio #7: MongoDB. Squadra online. | VC | Lorenzo Canale |
ven 8/01/2021 | 13.00-14.30 | EsD | 1,5 | Temi d'esame. | VC | Lorenzo Canale |
mar 12/01/2021 | 17.30-19.00 | Lab | 1,5 | Laboratorio #8: Simulazione d'esame su piattaforma Exercise. Squadra online. | VC | Lorenzo Canale |
ven 15/01/2021 | 13.00-14.30 | Lab | 1,5 | Laboratorio #8: Simulazione d'esame su piattaforma Exercise. Squadra online. | VC | Lorenzo Canale |
Reflective journal
In questo documento trovate le proposte di riflessione aggiornate, come attività facoltativa MA FORTEMENTE CONSIGLIATA per il progetto OCSE «Fostering and assessing creativity and critical thinking in higher education and teacher education».