04AFQOA Basi di dati (Ing. Informatica – III anno)
Table of content
- Informazioni generali
- Regole d’esame
- Avvisi
- Orario
- Suddivisione in squadre di laboratorio
- Calendario laboratorio
- Materiale
- Esercitazioni da consegnare
- Laboratorio
- Materiale aggiuntivo
- Temi d’esame
Informazioni generali
- CFU: 6
- Docente: Luca Cagliero
- Esercitatrice: Evelina Di Corso
Regole d’esame
- Regole d’esame (pdf)
Avvisi
[20-7-2017] Appello di Basi di Dati 24-7 (04AFQOA) – suddivisione in aule per l’appello del 24-7-2017 di Basi di Dati (04AFQOA) per la sede di Torino.
da ACCORNERO a FALABELLA aula 10D
da FERNANDO a NGUEFACK aula 1B
da NITA a ZONTA aula 8C
Gli studenti sono tenuti a presentarsi alle ore 11:00 di fronte all’aula assegnata muniti di documento di risconoscimento e ad attendere la chiamata del docente. Sono ammessi all’esame SOLTANTO gli studenti regolarmente prenotati all’appello tramite il Portale della Didattica. Durante l’esame sarà possibile consultare libri o appunti cartacei, ma non sarà ammesso l’uso di dispositivi elettronici di alcun tipo.
Orario
- Martedì ore 14:30 – 17:30 aula 12 LEZIONE IN AULA
- Martedì ore 17:30 – 19 LAIB1 LABORATORIO (vedi calendario laboratori)
- Mercoledì 11:30 – 13 aula 12 LEZIONE IN AULA
- Venerdì ore 11:30 – 13 LAIB1 LABORATORIO (vedi calendario laboratori)
Suddivisione in squadre di laboratorio
La suddivisione in squadre sotto riportata è stata effettuata in base alle iniziali del cognome e serve a garantire il corretto bilanciamento dei laboratori. Tutti gli studenti sono gentilmente invitati a rispettare la loro assegnazione per garantire il corretto svolgimento delle esercitazioni. Per segnalazioni o chiarimenti relativi ai laboratori contattare Evelina Di Corso (evelina.dicorso@polito.it)
- Squadra 1: DA AAA A COM
- Squadra 2: DA CON A LET
- Squadra 3: DA LI A RO
- Squadra 4: DA RU A ZZ + studenti di Objected-Oriented Programming (indipendentemente dal cognome)
Calendario laboratorio
Laboratorio 1 (SQL base)
- MARTEDÌ 21/3 17:30 – 19 SQUADRA 1 (LAIB1)
- VENERDÌ 24/3 11:30 – 13 SQUADRA 2 (LAIB1)
- LUNEDI’ 27/3 13 – 14:30 SQUADRA 3 (LAIB3)
- LUNEDI’ 27/3 14:30 – 16 SQUADRA 4 (LAIB3)
Laboratorio 2 (SQL avanzato)
- MARTEDÌ 28/3 17:30 – 19 SQUADRA 1 (LAIB1)
- VENERDÌ 31/3 11:30 – 13 SQUADRA 3 (LAIB1)
- MARTEDÌ 11/4 17:30 – 19 SQUADRA 2 (LAIB1)
- VENERDÌ 21/4 11:30 – 13 SQUADRA 4 (LAIB1)
Laboratorio 3 (Creazione e popolamento di una base di dati)
- MARTEDÌ 02/5 17:30 – 19 SQUADRA 1 (LAIB1)
- VENERDÌ 5/5 11:30 – 13 SQUADRA 2 (LAIB1)
- VENERDÌ 12/5 11:30 – 13 SQUADRA 4 (LAIB1)
- MARTEDÌ 16/5 17:30 – 19 SQUADRA 3 (LAIB1)
Laboratorio 4 SQL per le applicazioni – JDBC
- VENERDÌ 26/5 11:30 – 13 SQUADRA 1 (LAIB1)
- MARTEDÌ 30/5 17:30 – 19 SQUADRA 2 (LAIB1)
- MARTEDÌ 6/6 17:30 – 19 SQUADRA 3 (LAIB1)
- VENERDÌ 9/6 11:30 – 13 SQUADRA 4 (LAIB1)
Laboratorio 5 SQL per le applicazioni – JDBC
- MARTEDÌ 13/6 17:30 – 19 SQUADRE 1 E 2 (LAIB1)
- VENERDÌ 16/6 11:30 – 13 SQUADRE 3 E 4 (LAIB1)
Materiale
Argomenti del corso
- Introduzione al corso
- Introduzione al corso (1 per pag)
- Introduzione alle basi di dati
- Introduzione alle basi di dati (6 per pag., 2 per pag.)
- Modello relazionale e algebra relazionale
- Modello relazionale(6 per pag., 2 per pag.)
- Algebra relazionale(6 per pag., 2 per pag.)
- Linguaggio SQL: fondamenti
- Introduzione(6 per pag., 2 per pag.)
- Istruzione SELECT: fondamenti(6 per pag., 2 per pag.)
- Interrogazioni nidificate(6 per pag., 2 per pag.)
- Operatori insiemistici (6 per pag., 2 per pag.)
- Istruzioni di aggiornamento (6 per pag., 2 per pag.)
- Gestione delle tabelle (6 per pag., 2 per pag.)
- Linguaggio SQL: costrutti avanzati
- Gestione delle viste (6 per pag., 2 per pag.)
- Gestione delle transazioni (6 per pag., 2 per pag.)
- SQL per le applicazioni (6 per pag., 2 per pag.)(NEW: versione estesa)
- Controllo dell’accesso (6 per pag., 2 per pag.)
- Gestione degli indici (6 per pag., 2 per pag.)
- Progettazione di basi di dati
- Modello Entità-Relazione (6 per pag., 2 per pag.)
- Progettazione concettuale (6 per pag., 2 per pag.)
- Progettazione logica relazionale (6 per pag., 2 per pag.)
- Vincoli d’integrità referenziale (6 per pag., 2 per pag.)
- Esempio di progettazione logica relazionale (6 per pag., 2 per pag.)
- Vincoli d’integrità referenziale (6 per pag., 2 per pag.)
- Normalizzazione (6 per pag., 2 per pag.)
Esercitazioni in aula
Algebra relazionale
- Esercizi FORNITORI-PRODOTTI-FORNITURE (6 per pag, 2 per pag)
- Esercizi RIVISTE, VELISTI, AEREI-CERTIFICATI (testo) (soluzioni)
SQL
- Esercizi vari su istruzione join, funzioni aggregate, operatore group by: testo e soluzioni
- Esercizi vari su istruzione join, funzioni aggregate, operatore group by (testo) e soluzioni
- Esercizi vari su IN, NOT IN, group by: testo e soluzioni
- SQL 1: testo e soluzioni
- SQL 2: testo
- SQL 3: testo
Modello ER
- Esempi di gestione del testo (pdf)
- Raccolta di esercizi: testo e testo con soluzioni
- ER tratto dal tema d’esame del 07-09-2007 (testo)
- Bozza di soluzione (pdf)
- ER tratto dal tema d’esame del 15-02-2007 (testo)
- Bozza di soluzione (pdf)
Esercitazioni da consegnare
Consegna
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,
- 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).
- Non è supportato il formato DOCX.
- Esempio: lo studente Marco Rossi, matricola S123456, consegna il quaderno numero 2 in formato PDF, il nome del file è Quaderno2_Rossi_Marco_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.
- Caricare il file sul portale della didattica, nella sezione di consegna elaborati del corso, entro la data di scadenza.
- Fa fede la data di caricamento indicata dal portale della didattica.
- 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 è indifferente nella Descrizione).
- Per eventuali chiarimenti/segnalazioni contattare via email l’esercitatrice del corso Dott.ssa Evelina Di Corso (evelina.dicorso@polito.it).
Testo
Testo delle esercitazioni da consegnare (quaderni).
- NEW: PUNTEGGI PARZIALI E TOTALI QUADERNI 1-4 (pdf). N.B. Per chiarimenti contattare l’esercitatrice del corso Dott.ssa Evelina Di Corso.
- Quaderno#1 da consegnare entro 7 aprile 2017 alle ore 23.59
- elenco degli studenti che hanno consegnato il quaderno 1 (pdf)
- Quaderno#2 da consegnare entro 9 maggio 2017 alle ore 23.59
- elenco degli studenti che hanno consegnato il quaderno 2 (pdf)
- Quaderno#3 da consegnare entro domenica 11 giugno 2017 alle ore 23.59
- elenco degli studenti che hanno consegnato il quaderno 3 (pdf)
- Quaderno#4 da consegnare entro venerdì 16 giugno 2017 alle ore 23.59
- Il contenuto del quarto quaderno corrisponde al contenuto del quarto laboratorio. Il progetto Eclipse di partenza e gli script necessari per la creazione della base di dati sono presenti nell’area del sito relativa al quarto laboratorio. Nel testo del quaderno si fa riferimento ad Oracle come DBMS da utilizzare essendo Oracle il DBMS disponibile presso il LABINF, ma l’applicazione richiesta nel quaderno può essere realizzata utilizzando un qualunque DBMS (Oracle, MySQL, PostgreSQL, SQLlite, ecc.). Sul sito del corso è già disponibile anche una versione del progetto Eclipse per chi intende utilizzare SQLlite. Per la consegna creare uno zip con all’interno solo i file java del progetto Eclipse realizzato (non caricare file sql o l’intero progetto).
Laboratorio
- Primo laboratorio (SQL base)
- Testo (pdf) e base di dati (script sql) (N.B. Lo script per il caricamento della base di dati è necessario solo per gli studenti che lavorano sul proprio PC)
- Passi preliminari di configurazione (pdf)
- Risultati query (pdf)
- Soluzioni (pdf)
- Secondo laboratorio (Oracle e SQL)
- Testo (pdf) e base di dati (script sql) (N.B. Lo script per il caricamento della base di dati è necessario solo per gli studenti che lavorano sul proprio PC)
- Risultati query (pdf)
- Soluzioni (pdf)
- Terzo laboratorio (Oracle e SQL)
- Testo (pdf)
- Soluzioni (pdf) (script soluzione parte II – .zip)
- N.B. Per lo svolgimento della parte I dell’esercitazione (risoluzione di alcune query in linguaggio SQL) è necessario riutilizzare lo script per la creazione della base di dati reso disponibile per le precedenti esercitazioni
- Quarto laboratorio (JDBC)
- Testo (pdf), zip contenente il progetto Eclipse di partenza (progetto Eclispe (.zip)), script per creazione della base di dati (esercitazionejdbcOracle.sql), jar contenente il driver Oracle (Libreria classes.jar)
- Testo e progetto Eclipse di partenza per chi decide di svolgere a casa il laboratorio usando SQLite invece di Oracle (esercitazioneJDBCSQLite.zip)
- Semplice programma d’esempio che usa JDBC (il programma d’esempio non è legato alla base di dati usata nel quarto laboratorio) (java)
- Testo (pdf), zip contenente il progetto Eclipse di partenza (progetto Eclispe (.zip)), script per creazione della base di dati (esercitazionejdbcOracle.sql), jar contenente il driver Oracle (Libreria classes.jar)
Materiale aggiuntivo
- Per gli interessati, è possibile installare Oracle sul proprio PC personale. Per avere sia il DBMS, sia l’ambiente di sviluppo che serve per interagire con il DBMS, è necessario scaricare e installare due software separati (Oracle Database 11g Express Edition e SQL Developer)
- Installazione del DBMS Oracle 11g Express Edition – Scaricare Oracle Database 11g Express Edition all’indirizzo http://www.oracle.com/technetwork/database/express-edition/overview/index.html. La relativa documentazione è reperibile all’indirizzo http://download.oracle.com/docs/cd/E17781_01/index.htm.
- Installazione dell’ambiente di sviluppo SQL Developer – SQL Developer è scaricabile all’indirizzo http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html
- Tutorial sulla procedura di download e installazione del DBMS Oracle 11g Express Edition e di SQL Developer
- Tutorial installazione DBMS Oracle 11g Express Edition e SQL Developer (pdf)
Temi d’esame
- Esempio domande di teoria (pdf)
- Tema d’esame 17 luglio 2015 (pdf)
- Tema d’esame 17 luglio 2014 (pdf)
- Tema d’esame 3 luglio 2014 (pdf)
- Tema d’esame 23 gennaio 2014 (pdf)
- Tema d’esame 7 settembre 2007 (pdf)
- Bozza di soluzione del modello ER** (pdf)
- Tema d’esame 15 febbraio 2007 (pdf)
- Bozza di soluzione del modello ER (pdf)
- Tema d’esame 16 settembre 2005 (pdf)
- Tema d’esame 19 novembre 2004 (pdf)
- Tema d’esame 12 novembre 2004 (pdf)
- Tema d’esame 10 settembre 2004 (pdf)
- Tema d’esame 10 novembre 2003 (pdf)
** Segnalazione di refuso: nella soluzione del T.E. del 7/9/2007 va considerata anche la relazione STIPULA nel modello logico normalizzato non presente nella soluzione digitalizzata.