Basi di dati e Laboratorio - Note del docente
Docente: Prof. Luca Tomassetti
Laboratorio di Basi di Dati:
Istruzioni per avviare il server Web e mysql:
sudo /etc/init.d/apache2 start | stop | status | restart
sudo /etc/init.d/mysql start | stop | status | restart
Progetto per Laboratorio, A.A. 2015/2016
Requisiti disponibili qui.
Il progetto deve essere consegnato prima di sostenere la prova orale secondo le modalità indicate nei requisiti.
Esercitazioni:
1. consegna entro le ore 24:00 del 24/11/2013
Realizzare (almeno) due pagine Web per gestire le interrogazioni ai dati contenuti in un file di testo nel formato:
matricola;cognome;nome [es. 123;Tomassetti;Luca\n]
La prima pagina (realizzata in xhtml 1.0 strict, con foglio di stile css) deve permettere l'inserimento da parte dell'utente di uno o più parametri tra matricola, cognome e nome; la seconda (realizzata in xhtml 1.0 strict + php) deve gestire i parametri in ingresso, leggere da file e gestire le ricerca di quanto richiesto.
OPZIONALE (ma suggerito), aggiungere il codice necessario ad effettuare gli inserimenti di nuove righe nel file.
Per consegnare il lavoro svolto e' sufficiente inviare un email al'indirizzo: luca.tomassetti@unife.it
con oggetto: "ES. LABDB 1 - Cognome Nome"
e allegare i file realizzati (form.html, ricerca.php, studenti.txt)
2. consegna entro le ore 24:00 del 24/11/2013
Sulla base dell'esercizio relativo alla BIBLIOTECA (es. 6.18, pag. 224), creare lo schema relazionale in mysql, includendo tutte le tabelle e i relativi vincoli di integrità referenziale. Preparare un file di testo denominato biblio_schema.sql contenente tutto il codice SQL necessario allo scopo.
Inserire un numero ragionevole di tuple in ciascuna relazione e preparare un file di test denominato biblio_stato.sql contenente tutto il codice SQL necessario allo scopo.
Preparare inoltre un file di testo (biblio_dump.sql) contenente il dump del database ottenuto mediante il comando mysqldump (codice SQL per generare lo schema e lo stato).
Eseguire le interrogazioni SQL corrispondenti alle domande da a. a g. dell'esercizio; per ciascuna di esse riportare in un file di testo biblio_query.txt il codice SQL e il risultato fornito da mysql.
Allegare ad un messaggio email (con oggetto: "ES. LABDB 2 - Cognome Nome") i file biblio_* realizzati.
3. consegna entro le ore 24:00 del 28/02/2011
Realizzare in mysql un database per la gestione degli studenti (anagrafica) contenente una sola tabella studente(matricola,nome,cognome). Creare un apposito utente di mysql (ad es. webuser@localhost) con i privilegi di usage, select, insert, update, delete sul database studenti.
Realizzare le pagine web (html+php) necessarie a riprodurre le specifiche della prima esercitazione utilizzando il database anziche' il file.
Nello specifico, l'interfaccia Web dovrà consentire la ricerca di uno studente in base ai parametri matricola, nome e cognome (o combinazioni di essi), mostrando un elenco degli studenti che soddisfano i criteri di ricerca. La ricerca dovrebbe essere case-insensitive e su parte di stringa (inizio).
Deve essere possibile inserire nuovi studenti e modificarne di esistenti. In quest'ultimo caso deve essere possibile modificare il valore di qualunque attributo (compresa la chiave matricola) e la query di update dovrebbe avere nella clausola where la condizione sul valore della matricola precedente.
E' possibile realizzare le funzionalità richieste tramite un congruo numero di pagine php (una per ciascuna funzionalità).
OPZIONALE (ma suggerito!): realizzare l'interfaccia con il minor numero possibile di pagine php.
Si consiglia di scrivere i parametri di connessione al database (user, pwd) in un file separato, da includere nelle pagine php che lo necessitano.
Per consegnare il lavoro svolto e' sufficiente inviare un email al'indirizzo: luca.tomassetti@unife.it
con oggetto: "ES. LABDB 3 - Cognome Nome"
e allegare i file realizzati (html/php + css + dump del database)