Esercitazione
Obiettivi



Sperimentare i comandi dell’ambiente MySql conosciuti fino ad ora
Saper monitorare la consistenza di una base di dati
Saper ristrutturare una base di dati (far fronte a sopraggiunte esigenze)
Traccia
Creare ex-novo la base di dati che registra l’esito delle interrogazioni sostenute da una classe di
studenti in un certo numero di materie. Popolare il database con una decina di record in tutto.
Successivamente ristrutturare la base di dati inserendo gli attributi … alla tabella … (comando
UPDATE). Integrare la base di dati con i dati mancanti secondo gli attributi aggiunti. Il tutto sarà
monitorato tenendo sotto controllo la consistenza dei dati.
Specifiche
o
o
o
Tutti i comandi che verranno impostati nelle varie sessioni mysql (anche quelli con esito
negativo) dovranno essere registrati in un file di log (fare uso del comando tee o
equivalentemente \T)
A conclusione dell’esercitazione, dopo aver inserito il contenuto del file di log di cui al punto
precedente in un documento Word (Inserisci > File…) commentare i singoli comandi impartiti
e i rispettivi esiti
Il database dovrà prevedere le tabelle studenti e materie di tipo InnoDB per la registrazione
delle istanze delle entità Studente e Materia rispettivamente, la tabella voti1 che registrerà
l’esito delle singole interrogazioni anch’essa di tipo InnoDB ed infine la tabella voti2, anch’essa
usata per registrare l’esito delle interrogazioni ma di tipo MyIsam.
Suggerimenti operativi
Si forniscono alcuni suggerimenti per popolare la base di dati in modo da
1. Inserire 2 studenti e 2 materie con id progressivo (ad esempio 1 e 2, vanno bene anche 2 e 3)
2. inserire un altro studente con id non successivo all’ultimo inserito (esempio se l’ultimo
inserito è 2 inserire lo studente con id pari a 5): questo stato dei dati è consistente?
3. operare sulla tabella materie allo stesso modo indicato nel punto 2 per la tabella studenti: il
nuovo stato della tabella materie è consistente?
4. inserire un record nella tabella voti1: il sistema consente di inserire un record che mantiene la
consistenza della base di dati? Perché? Il sistema consente di inserire un record che rende
inconsistente la base di dati? Perché?
5. inserire un record nella tabella voti2: il sistema consente di inserire un record che mantiene la
consistenza della base di dati? Perché? Il sistema consente di inserire un record che rende
inconsistente la base di dati? Perché?
6. tentare di cancellare uno studente che ha almeno una interrogazione registrata nella tabella
voti1: il sistema consente questa operazione? Perché?
7. tentare di cancellare uno studente che ha almeno una interrogazione registrata nella tabella
voti2: il sistema consente questa operazione? Perché?
8.