Esercizi sql e java PDF

Title Esercizi sql e java
Course Strumenti per la gestione di basi di dati
Institution Università degli Studi di Catania
Pages 1
File Size 69.1 KB
File Type PDF
Total Downloads 89
Total Views 186

Summary

Esercizi su sql e java bisogna fare un piccolo progetto che si interfacci con il dbms...


Description

Basi di Dati, Assignment 3, 2021/22

Consegna entro: 19/12/2021, 23:59

Database driver (id:int, name:char(50), address:char(50), age:int, level:float) car (cid:char(25), brand:char(50), weight:char(30), owner:int)

-

owner ha un vincolo di chiave esterna verso driver Nessun attributo può essere null.

Task Creare un programma Java che si connette al tuo database, e cioè quello che ti è stato assegnato sul server scididattica.unitn.it. Il programma dovrà eseguire le seguenti operazioni, in questo ordine: 1. Fare il drop delle due tabelle mostrate sopra, se esistono già. 2. Creare le due tabelle mostrate sopra. 3. Inserire 1 milione di tuple generate casualmente1 nella tabella driver, in modo tale che ciascuna tupla abbia un valore diverso nell’attributo level. Assicurarsi inoltre che l’ultima tupla inserita, e solo quella, abbia nell’attributo level il valore 1821. 4. Inserire 1 milione di tuple generate casualmente2 nella tabella car. 5. Leggere dal database e stampare su stderr gli id di tutti driver (un id per riga). 6. Aggiornare tutte le tuple della tabella driver che hanno level pari a 1821 con un level pari a 200 (la query che eseguite deve funzionare anche nel caso in cui vi fossero più tuple con level pari a 1821). 7. Selezionare dalla tabella driver e stampare su stderr l’id e l’address dei driver con level pari a 200 (va stampata una sola coppia id/address per riga, e i due valori della coppia vanno separati da virgola). 8. Creare un indice B+-tree sull’attributo level. 9. Leggere dal database e stampare su stderr gli id di tutti i driver (un id per riga). 10. Aggiornare tutte le tuple della tabella driver che hanno level pari a 200 con un level pari a 210 (la query che eseguite deve funzionare anche nel caso in cui vi fossero più tuple con level pari a 200). 11. Selezionare dalla tabella driver e stampare su stderr l’id e l’address dei driver con level pari a 210 (va stampata una sola coppia id/address per riga, e i due valori della coppia vanno separati da virgola). Per ciascuna delle operazioni indicate sopra dovrete stampare su stdout il tempo richiesto ad eseguire quella operazione. Per farlo, potreste utilizzare una variabile che contiene il tempo prima di eseguire l’operazione (in nanosecondi), a conclusione dell’operazione, ottenete nuovamente il tempo corrente, e la differenza sarà approssimativamente il tempo trascorso. Quindi, su stdout ci si aspetta un output di questa forma: Step 1 needs 10 ns Step 2 needs 27 ns Step 3 needs 77 ns ...

Note e Consegna: - Dovrete consegnare un solo file (.java) chiamato A3_XXX.java, dove XXX è la vostra matricola. - La consegna dovrà essere effettuata tramite il Google form https://forms.gle/WwQPjGDBWrxcKnDt7 - Non è necessario allegare anche il driver JDBC. - Non usare nel codice ulteriori librerie esterne. Usate solo le librerie di default Java. - È possibile modificare la propria soluzione, caricando un nuovo file, fino a un massimo di 10 volte.

1 Notare che generare tuple con, ad esempio, valori di level 1,2,3,4,5,... non è considerato casuale. Dovrete usare un generatore di numeri casuali, come quello messo a disposizione dal linguaggio, per generare le tuple. 2 Notare che generare tuple con, ad esempio, valori di level 1,2,3,4,5,... non è considerato casuale. Dovrete usare un generatore di numeri casuali, come quello messo a disposizione dal linguaggio, per generare le tuple....


Similar Free PDFs