Esercitazione 03: JDBC e Prepared Statements



Похожие документы
Esercitazione 02: JDBC, SQL e DB SAMPLE

Come configurare JCREATOR (1/3)

Soluzione esercitazione 01

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Esercitazione 4: Trigger in DB2

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

ESERCITAZIONE: Fornitore-Fornisce-Articolo

Esercitazione 1 SQL: DDL e DML di base

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Esercitazione 1 SQL: DDL e DML di base

Esercitazione 1 SQL: DDL e DML di base

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Esercitazione 01: DDL e DML di base

Esercitazione 01: DDL e DML di base

Capitolo 5. Soluzione: Soluzione in C:

Basi di Dati Esercitazione JDBC

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Lezione 4. Dallo schema ER al relazionale

SQL. Lezione 1. Docente: Alberto Belussi

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

EDI Manuale Sistemista. EDI Manuale Sistemista

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi per

Dichiarazione degli schemi in SQL DDL 1

Il linguaggio SQL: autorizzazioni

SQL - Structured Query Language

SQL: Definizione e Manipolazione di Relazioni. Capitolo 2

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.

Esercitazione 4 SQL: cataloghi e viste

La connessione ai database MySQL tramite script PHP versione 5.5

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

A. Veneziani Analisi e soluzione esercizio 2 pagina 53

OBIETTIVI DELL'ESERCITAZIONE

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m

1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER

Esercitazione su JDBC

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Interrogazioni in SQL

Esercitazione 1: DB-MAIN e modello E/R

Ese1: DB-MAIN e modello E/R

Data Science e Tecnologie per le Basi di Dati

DATABASE - MODELLO E-R CHIAVI E ATTRIBUTI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

ESAME 16/02/2016 (A) Prof. C. DE MAIO

GESTIONE ABBONAMENTI RIVISTE

Транскрипт:

Esercitazione 03: JDBC e Prepared Statements Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione03.pdf Sistemi Informativi L-A

Applicazione Java Sample1 (1) Scrivere l applicazione Java Sample1 che, caricando l opportuno driver JDBC, si connette al database SAMPLE e: 1. Richiede all utente, da standard input, username e password (a tale fine fare riferimento al metodo readentry di cui è riportata la specifica nelle slide relative a JDBC) 2. Definisce un vettore di interi (anno[]) adatto a contenere le date comprese tra il 1973 e 1980 3. Definisce un oggetto di tipo PreparedStatement a cui viene passata la stringa rappresentante la soluzione dell interrogazione Nome, cognome e data di assunzione degli impiegati che sono stati assunti negli anni anno[0] o anno[1]o anno[n], ordinati per ordine crescente di data (osservazione: i dati sconosciuti in fase di formulazione dell interrogazione SQL vengono rappresentati con?) 4. Inizializza il vettore con le date 1973-1980 e attribuisce i valori degli elementi dell array (anno[i]) ai valori dell attributo data assunzione Sistemi Informativi L-A 2

Applicazione Java Sample1 (2) 5. Esegue lo statement 6. Produce la stampa di nome, cognome e data di assunzione sul file di testo Censimento73-80.txt varianti: 1. Produrre gli stessi dati, oltre che per l intervallo 73-80, per i sottointervalli 73-75, 76-78 e 79-80 2. Calcolare, da statement SQL, anche il numero rappresentante i giorni di anzianità di ciascun impiegato (facendo riferimento alla data corrente: current date) producendone la stampa sullo stesso file 3. Come al punto 2. ma calcolando l anzianità in anni Sistemi Informativi L-A 3

DEPARTMENT DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION EMPLOYEE EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE EDLEVEL SEX BIRTHDATE SALARY BONUS COMM EMP_ACT SALES EMPNO PROJNO ACTNO EMPTIME EMSTDATE EMENDATE STAFF ID NAME DEPT JOB YEARS SALARY SALES_DATE SALES_PERSON REGION SALES PROJECT PROJNO PROJNAME DEPTNO RESPEMP PRSTAFF PRSDATE PRENDATE MAJPROJ COMM Sistemi Informativi L-A 4

Applicazione Java Progetti (1) Scrivere l applicazione Java Progetti che, caricando l opportuno driver JDBC, si connette al database STUDENTI e: 1. Crea (e popola) gli schemi riportati di seguito PROGETTI( COD_PROG CHAR(3) NOT NULL PRIMARY KEY, -- codice progetto IMP_ASSEGNATO DECIMAL(8,2) NOT NULL CHECK (IMP_ASSEGNATO > 0)) --importo assegnato al progetto SPESE( COD_SPESA CHAR(4) NOT NULL PRIMARY KEY, -- id di una spesa COD_PROG CHAR(3) NOT NULL, -- progetto a cui la spesa è imputata COD_RIC CHAR(3) NOT NULL, -- ricercatore che ha eseguito la spesa IMPORTO DECIMAL(8,2) NOT NULL CHECK (IMPORTO > 0), -- importo della spesa FOREIGN KEY COD_PROG REFERENCES PROGETTI) Sistemi Informativi L-A 5

Applicazione Java Progetti (2) 2. Genera la tabella CONSUNTIVO con i seguenti campi (e vincoli opportuni): COD_PROG IMP_ASSEGNATO RESIDUO COEFF_SPESA dove: CHAR(3), DECIMAL(8,2), DECIMAL(8,2), CHAR(1) RESIDUO: corrisponde all importo assegnato a un dato progetto e non ancora speso (ad esempio, se un progetto ha assegnati 6000 Euro e ha due spese, rispettivamente di 1000 e di 800 Euro, il residuo è pari a 4200 Euro) COEFF_SPESA: è un valore appartenenente all insieme ( A, B, C, D ) che viene calcolato dal metodo Java fasciaspesa. Tale metodo viene invocato fornendo in input il valore (di tipo double) del rapporto tra il residuo e l importo assegnato (ad esempio, nel caso illustrato, viene fornito in input il valore 4200/6000) 3. Inserisce in CONSUNTIVO, sulla base dei dati presenti in PROGETTI e SPESE, una tupla per ogni progetto, inclusi quelli che non hanno avuto alcuna spesa 4. Stampa sul file consuntivo.txt il contenuto di CONSUNTIVO Sistemi Informativi L-A 6

Query database Videonoleggio Facendo riferimento alle tabelle CLIENTI, DVD e NOLEGGI relative all esercitazione scorsa, risolvere le seguenti interrogazioni SQL mediante CLP e file di input e di output: 1. Numero complessivo di noleggi relativi al dvd noleggiato più volte 2. Codice e trama dei dvd per cui non ci sono noleggi 3. Numero Tessera e numero totale di dvd noleggiati relativi ai clienti che hanno noleggiato almeno 2 dvd Sistemi Informativi L-A 7