Sistemi Informativi L-A 15 Gennaio 2010 – Compito 1 Tempo a disposizione: 1 ora e 1/2 La soluzione comprende la consegna elettronica dei seguenti file mediante l’apposito applicativo Web Esamix (http://esamix.labx): compito1.java compito1.class statistiche.txt querySQL.txt, ris.txt algebra.doc teoria.txt file contenente il sorgente java dell’applicazione file contenente il bytecode dell’applicazione file contenente il risultato del punto 1.3) descritto nel seguito file contenenti query e risultato dell’esercizio 2 file contenente la soluzione dell’esercizio 3 file contenente la risposta dell’esercizio 4 N.B. Per superare la prova è necessario totalizzare 6 punti, di cui almeno 3 punti nell’esercizio 1, almeno 2 punti negli esercizi 2 e 3 e 1 punto nell’esercizio 4 Esercizio 1 (5 punti) Scrivere l’applicazione Java compito1 che, caricando l’opportuno driver JDBC, si connette al database STUDENTI e, facendo uso delle tabelle presenti nello schema esame, ovvero: VISITA(ID_VISITA CHAR(5) NOT NULL PRIMARY KEY, -- id univoco della visita URL_SITO VARCHAR(200) NOT NULL, -- indirizzo Web del sito visitato INDIRIZZO_IP CHAR(15) NOT NULL, -- macchina che effettua la visita BROWSER VARCHAR(20) NOT NULL, -- nome del browser con cui si visita TIMESTAMP TIMESTAMP NOT NULL) -- timestamp visita 1.1) genera nel proprio schema la tabella STATISTICHE con i seguenti campi (e vincoli opportuni): URL_SITO VARCHAR(200) -- indirizzo Web del sito visitato BROWSER VARCHAR(20) -- nome del browser con cui si visita DATA DATE -- data visita NUM_VISITE INT -- numero totale di visite effettuate a quel sito, con quel browser e in quella data 1.2) popola la tabella STATISTICHE sulla base dei dati presenti nella tabella VISITA (N.B. l’estrazione della DATA da un TIMESTAMP si ottiene mediante la funzione scalare “date(Timestamp) → Date”) 1.3) stampa sul file statistiche.txt informazioni relative alla tabella STATISTICHE sulla base della preferenza espressa dall’utente da standard input. In particolare, per ogni sito Web, la preferenza può assumere il valore: • N: non stampa nessuna statistica • T: stampa tutte le statistiche contenute nella tabella STATISTICHE • S: stampa l’URL del sito e il numero totale di accessi al sito stesso N.B. Per la parte di codice standard dell’applicazione si faccia riferimento al file di input Esame.java. È obbligatorio ridenominare opportunamente il file, e la classe in esso contenuta, seguendo le specifiche riportate nel testo! 1/2 Sistemi Informativi L-A 15 Gennaio 2010 – Compito 1 Esercizio 2 (2 punti) - SQL interattivo sul database SAMPLE Si determinino i nomi dei progetti cui hanno partecipato tutti gli impiegati donna Esercizio 3 (2 punti) - Algebra Relazionale mediante il tool “AlgebraEditor” Si forniscano ID_VISITA e TIMESTAMP di tutte le visite al sito di URL “www. … .belsito.com” eseguite con browser “Firefox” oppure “Kmeleon” da una macchina con indirizzo IP 192.xxx.yyy.zzz (ad esempio, 192.168.000.003) Esercizio 4 (1 punto) - Domanda a risposta aperta Si descriva brevemente quando uno schema relazionale si dice essere in 1NF e in che cosa consiste il processo di normalizzazione in 1NF 2/2