Le indicazioni in grigio in questa pagina sono
relative allo scorso anno accademico e sono quindi da considerare
come riferimento preliminare, anche se le variazioni previste
sono relativamente poche
Durante il corso vengono proposte prove di autovalutazione,
alcune delle quali sono obbligatorie per gli studenti che intendono essere
valutati secondo la modalità in itinere.
Si consiglia di svolgerle, in prima battuta, "simulando
l'esame" sulla carta e
senza ausilio di libri e appunti.
In questa pagina vengono via via pubblicati gli esempi mostrati a lezione, gli esercizi proposti e quelli svolti
Prove di autovalutazione
Prova proposta l'8/11/2020
vedere il sito moodle e completare entro il 24/11/2020, cioè due giorni prima della prima prova parziale (oppure, se non interssati alla prova, prima dell'esame)
per comodità:
url per lanciare RelaX e formulare le interrogazioni in algebra relazionale
script per creare e popolare la base di dati su cui formulare le interrogazioni SQL
Esercizi proposti e svolti
Esercizio proposto il 4/10/2021
compito d'esame del 6/09/2018, esercizio 1 (vincoli di ennupla), , da svolgere autonomamente, con gli strumenti illustrati nella lezione del 4/10/2021 (https://sqliteonline.com/): utilizzare il sistema per definire i vincoli e verificarne il soddisfacimento da parte delle quattro relazioni mostrate. Utilizzare, come mostrato in aula, il sistema PostgreSQL, che è più completo.
Esempi (cercare nei lucidi) discussi in aula il 14/10/2021 (algebra relazionale, esempi base, seconda parte).
Si suggerisce di svolgere anche questi esempi con RelaX, stessi link del punto precedente.
Esercizi proposti il 21/10/2021, da svolgere autonomamente ed eventualmente da discutere a lezione
esercizio 2 della prova parziale del 13/11/2017, compito A (studenti, corsi ed esami); formulare in algebra tutte le interrogazioni, anche quelle proposte per SQL; si suggerisce di svolgere anche con RelaX usando eventualmente un insieme di dati predisposto dal docente; si segnala che, per una delle interrogazioni, potrebbe essere necessario l'utilizzo di una relazione "costante", che può essere definita scrivendo, come operando, qualcosa del genere seguente
{ NumeroEsami 0 }
Nota bene, lo 0 deve essere su una riga separata dalla precedente. L'esempio produce una relazione con un attibuto, chiamato NumeroEsami, e una ennupla con il valore 0 per tale attributo -- che è probabilmente ciò che serve nell'esercizio).
Ad esempio, se vogliamo una relazione ottenuta dalla relazione Corsi aggiungendo un attributo NumeroEsami, con valore 0 per tutte le ennuple, scriveremo:
Corsi JOIN { NumeroEsami 0 }
Possibili soluzioni per le interrogazioni 1-4 discusse a lezione il 25/10/2021.
Possibili soluzioni per l'interrogazione 5 discussa a lezione il 28/10/2021.
Esempi discussi a lezione il 28/10/2021 (SQL, persone e genitori, fino al lucido 40).
Si suggerisce di svolgere questi esempi (e tutti gli altri successivi su SQL) con un DBMS, ad esempio Postgres oppure un servizio online (software per il corso).
È disponibile uno script con lo schema e il contenuto della base di dati utilizzata per gli esempi.
Esempi discussi a lezione il 04/11/2021 (SQL, persone e genitori, fino al lucido 82).
Esempi discussi a lezione l'08/11/2021 (SQL, persone e genitori, lucidi 83-115).
Esercizi svolti a lezione l'8/11/2021 (prova parziale del 18/11/2019, compito C, esercizi 2, 3, 4, 5 discussi a lezione l'8/11/2021 (SQL, persone, ordini, rate)
script SQL per creare e popolare la base di dati per questi esercizi
Esercizi 1 e 2 dell'11/09/2007 (schema concettuale da esempio dati, progammazione film; poi estensione con altre specifiche): testo --- svolgimento alla lavagna
Esercizi discussi il 16/12/2021
Esercizio 2 del 10/01/2021 primo turno (schema concettuale supermercati): testo --- possibili soluzioni
Esercizio 1 del 9/09/2020 (progettazione concettuale da esempio dati, stagione teatrale): testo e possibile soluzione
Esercizio discusso il 20/12/2021 (esame del 14/11/2001, esercizio 5, analisi di ridondanza di saldo conto corrente):
testo --- possibili soluzioni
Esercizio discusso il 13/01/2022 (esame del 7/02/2017, compito A, esercizio 3, raffinamento di relationship, impiegati-progetti-clienti-reparti):
testo
e possibili soluzioni
Esercizio 2 del 12/07/2013 (analisi attributo ridondante):
testo
Nota bene: tutte le basi di dati e gli schemi concettuali mostrati in aula durante lo svolgimento di esercizi (e riportati su questo sito) potranno essere utilizzati come punto di partenza per domande di esame o prove parziali, assumendo un minimo di familiarità con il dominio applicativo.