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.