Sviluppo di applicazioni per basi di dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sviluppo di applicazioni per basi di dati"

Transcript

1 Sviluppo di applicazioni per basi di dati 1

2 Sviluppo di applicazioni per basi di dati Quattro parti: Gestione dati Business rules (vincoli di integrità e dati derivati) Logica applicativa Interfaccia utente Molte possibili architetture 2

3 Architetture Client-Server Logica + interfaccia Logica + interfaccia Sistema di comunicazione DBMS: dati e business rules Thin Client Interfaccia Interfaccia Sistema di comunicazione DBMS+application server: logica, dati e business rules 3

4 Architetture Three Tiers Client: Interfaccia Client: Interfaccia application server: logica applicativa DBMS server: dati e business rules 4

5 Il problema Scrivere un applicazione che visualizzi una schermata, raccolga dei dati, effettui elaborazioni, segnali eventuali inconsistenze con i dati nella BD oppure inserisca nuovi dati Serve un linguaggio che possa: Effettuare I/O Effettuare interrogazioni Controllare il flusso in un modo che dipende dal risultato dell interrogazione Effettuare aggiornamenti 5

6 Il problema SQL permette di accedere ai dati memorizzati in una base di dati e di aggiornarli Per scelte progettuali, il suo potere espressivo è però limitato (rispetto a quello di un generico linguaggio di programmazione) Questo significa che non tutte le elaborazioni che possiamo volere applicare ai dati possono essere espresse in SQL In particolare, SQL non è: computazionalmente completo, né operazionalmente completo 6

7 Completezza computazionale E relativa alla capacità di esprimere nel linguaggio tutte le computazioni teoricamente possibili In SQL mancano costrutti tipici dei generici linguaggi di programmazione (imperativi) quali il costrutto di scelta o quello di iterazione 7

8 Completezza operazionale E relativa alla capacità di esprimere nel linguaggio operazioni che richiedono una comunicazione diretta con il sistema operativo e, attraverso di esso, con l hardware e le periferiche: In SQL mancano, ad esempio, costrutti per scrivere in un file, stampare, sviluppare un interfaccia utente 8

9 Soluzione Per le due motivazioni viste nei lucidi precedenti è necessario estendere il potere espressivo di SQL Idea: combinare SQL con un linguaggio di programmazione generico: SQL: consente accesso ottimizzato ai dati Linguaggio di programmazione: garantisce completezza computazionale ed operazionale 9

10 Approcci all integrazione Accoppiamento interno Estensioni procedurali di SQL SQL viene esteso con gli usuali costrutti dei linguaggi di programmazione Può essere utilizzato all interno del DBMS, per definire funzioni e procedure richiamabili da qualunque applicazione Permette di garantire la completezza computazionale ma non sempre garantisce la completezza operazionale Lo standard SQL propone un estensione procedurale (SQL/PSM), ma la sintassi varia sensibilmente tra i vari DBMS 10

11 Approcci all integrazione Accoppiamento esterno Un linguaggio di programmazione esistente (es. C, Java) viene integrato con SQL Il codice viene eseguito in un ambiente esterno al DBMS La completezza (computazionale e operazionale) è garantita Due approcci principali: Librerie di funzioni SQL ospitato 11

12 Librerie di funzioni Viene resa disponibile per il linguaggio una libreria di funzioni (API) che definisce l interfaccia di comunicazione tra il DBMS ed il linguaggio di programmazione: Funzioni per la connessione alla base di dati e l esecuzione di comandi SQL Oltre alle librerie proprietarie dei vari DBMS, esistono anche librerie standard, che garantiscono interoperabilità (es. ODBC, JDBC) 12

13 SQL ospitato I comandi SQL vengono utilizzati direttamente all interno di un linguaggio di programmazione Uno speciale pre-compilatore, dato un programma nel linguaggio esteso, produce un programma interamente scritto nel linguaggio ospite In genere, i comandi SQL vengono sostituiti con chiamate al DBMS tramite interfacce di connessione standard o proprietarie 13

14 Approcci all integrazione L accoppiamento esterno (più diffuso) è scelta ovvia quando applicazioni esistenti devono essere estese per interagire con un DBMS Accoppiamente interno utilizzato da nuove applicazioni che richiedono una forte interazione con il DBMS Approccio più diffuso: combinazione dei due Con soluzione ad accoppiamento interno, si definiscono procedure e funzioni relative alle operazioni più frequenti sulla base di dati Tali procedure e funzioni sono poi richiamate da applicazioni sviluppate con approccio ad accoppiamento esterno 14

15 Accoppiamento esterno L accoppiamento esterno richiede l integrazione di due linguaggi: SQL ed linguaggio di programmazione generico Impedance mismatch dovuto alle differenze tra i due linguaggi Due differenze principali: Differenze nei tipi di dato: necessità di binding tra i tipi di dato del linguaggio e quelli di SQL (es. VARCHAR String per Java) Differenze nella modalità di elaborazione: setoriented per SQL, tuple-oriented per linguaggi di programmazione 15

16 Accoppiamento esterno È necessario tradurre il risultato di un interrogazione SQL (relazione) in una struttura dati del linguaggio di programmazione Se l interrogazione restituisce solo una tupla: Il numero di informazioni da analizzare è noto a tempo di compilazione e pari al numero degli attributi della relazione E possibile definire variabili di comunicazione da utilizzare per inserire i valori degli attributi della tupla restituita Se l interrogazione restituisce più tuple: La dimensione del risultato può non essere nota o troppo grande per essere memorizzata in memoria principale E necessario un meccanismo (cursore) che permetta di muoversi sulle tuple del risultato, una ad una, e manipolarle 16

17 Cursore Un cursore è un puntatore ad una tupla contenuta nel risultato di un interrogazione SQL Un cursore è quindi associato alla valutazione di un interrogazione In ogni momento, la tupla puntata dal cursore, e quindi i valori degli attributi di tale tupla, possono essere letti ed inseriti in una struttura dati del linguaggio ospite I cursori sono utilizzati anche nelle soluzioni ad accoppiamento interno quando è necessario iterare sulle tuple risultato di un interrogazione 17

18 Cursore 18

19 Cursore Operazioni sui cursori: Dichiarazione: associa un cursore ad un interrogazione Apertura: esegue l interrogazione associata al cursore e lo inizializza Posizionamento: sposta il cursore sulla tupla successiva o precedente rispetto a quella correntemente puntata (o sulla prima o sull ultima tupla del risultato) Chiusura: disabilita il cursore 19

20 Flusso di esecuzione Qualunque sia l approccio scelto, il programma deve eseguire i seguenti passi fondamentali: 1. Connessione alla base di dati 2. Esecuzione dei comandi SQL 3. Chiusura della connessione 20

21 Connessione Affinché un'applicazione possa utilizzare una base di dati, deve aprire una connessione verso il DBMS su cui la base di dati risiede Nelle soluzioni ad accoppiamento interno, tale connessione è già implicitamente aperta (l'applicazione viene eseguita direttamente da un DBMS server) Nelle soluzioni ad accoppiamento esterno, è necessario specificare il server con cui vogliamo aprire la connessione, fornendo: Stringa di locazione Credenziali di accesso (nome utente e password) 21

22 Chiusura della connessione Quando l'interazione con la base di dati è terminata, la connessione con il DBMS dovrebbe essere chiusa I DBMS ammettono infatti un numero massimo di connessioni contemporaneamente attive Chiudere una connessione dà la possibilità ad altre applicazioni di accedere al DBMS In genere, la terminazione di un'applicazione comporta la chiusura automatica di tutte le connessioni aperte 22

23 Esecuzione di comandi SQL Per ogni comando SQL, l'interazione tra il linguaggio di programmazione ed il DBMS coinvolge tre passi: Preparazione del comando: generazione delle strutture dati necessarie per la comunicazione con il DBMS ed eventuale compilazione ed ottimizzazione del comando da parte del DBMS Esecuzione del comando: il comando viene eseguito utilizzando le strutture dati e le informazioni generate durante la fase di preparazione Manipolazione del risultato: il risultato del comando, tradotto nelle strutture del linguaggio di programmazione, viene manipolato secondo la logica dell applicazione 23

24 Esecuzione di comandi SQL Il risultato dell esecuzione di un comando SQL è: Un insieme di tuple per le interrogazioni Un valore numerico per INSERT/UPDATE/DELETE e comandi del DDL Spesso la fase di preparazione e la fase di esecuzione di un comando SQL sono disaccoppiate Un comando SQL può essere preparato, in modo separato dalla sua esecuzione, durante la compilazione o l'esecuzione dell'applicazione che lo contiene Il disaccoppiamento è molto utile nel caso in cui lo stesso comando SQL debba essere eseguito più volte, magari cambiando solo i valori di alcuni parametri 24

25 Esempio Applicazione che vuole determinare più volte il numero medio dei noleggi per un particolare genere di film, preso in input: Il comando SQL da eseguire è sempre lo stesso La fase di preparazione permette di determinare il piano più efficiente per l'esecuzione dell'operazione, indipendentemente dal valore del parametro Tale piano di esecuzione può poi essere utilizzato in tutte le elaborazioni del comando nel contesto della stessa esecuzione dell'applicazione 25

26 SQL statico e dinamico SQL statico: Uso di comandi SQL noti a tempo di compilazione SQL dinamico: Uso di comandi SQL noti solo a tempo di esecuzione Esempio: clausola WHERE in un comando SELECT che cambia (ad es. contiene o meno un determinato congiunto) in relazione al fatto che una certa condizione (che può dipendere da valori presi in input) sia vera o falsa Facilita lo sviluppo di applicazioni on-line 26

27 Esempio Applicazione che: Prende in input il titolo ed il regista di un film Se la valutazione del film è minore od uguale a 1, allora ritira dal noleggio (e quindi cancella dalla base di dati) tutti i video relativi al film Se la valutazione del film è maggiore od uguale a 4, rimpiazza i video di tipo vhs con video di tipo dvd Negli altri casi, seleziona il titolo, il regista e la valutazione di tutti i film 27

28 SQL dinamico Se le richieste che possono essere immesse da terminale sono poche e note a priori, è possibile ``cablarle'' nel programma applicativo, utilizzando una logica a casi Il comando SQL che verrà ``effettivamente'' eseguito sarà noto solo al momento dell'esecuzione, quando l'utente preciserà la sua richiesta Non sempre è però possibile prevedere tutte le possibili richieste in ingresso (o il loro insieme può essere molto grande): Ad esempio lo stesso comando SQL, o parte di esso, può essere fornito direttamente in input 28

29 SQL dinamico I comandi SQL dinamici comportano maggiori problemi in termini di ottimizzazione, compilazione ed esecuzione Per questo motivo alcuni approcci di accoppiamento non ne permettono l'esecuzione Un comando SQL statico può essere preparato durante la compilazione del programma ed il risultato della preparazione può essere utilizzato un numero arbitrario di volte, nel contesto di esecuzioni distinte Un comando SQL dinamico può invece essere preparato soltanto durante l'esecuzione del programma, con un conseguente aumento del tempo di risposta 29

30 Libreria di funzioni 30

31 Librerie di funzioni L accesso alla base di dati avviene tramite un interfaccia chiamata Call Level Interface (CLI) Ogni CLI è una libreria per uno specifico linguaggio La maggioranza dei DBMS offre soluzioni di questo tipo, che però sono proprietarie e quindi vanno bene solo per uno specifico DBMS Lo standard SQL prevede SQL/CLI Standard de facto: ODBC, JDBC 31

32 JDBC/ODBC La portabilità a livello di eseguibile è ottenuta attraverso driver Un driver è un programma che traduce tutte le chiamate ODBC/JDBC in chiamate specifiche per un DBMS Nel seguito ci concentreremo su JDBC 32

33 JDBC: Architettura di riferimento 33

34 Driver Manager È una classe che gestisce la comunicazione tra applicazione e driver Risolve problematiche comuni a tutte le applicazioni: Quale driver caricare, basandosi sulle informazione fornite dall applicazione Caricamento driver Chiamate alle funzioni dei driver L applicazione interagisce solo con il driver manager 34

35 DBMS Il DBMS sostanzialmente rimane inalterato nel suo funzionamento Riceve sempre e solo richieste nel linguaggio supportato Esegue il comando SQL ricevuto dal driver e invia i risultati 35

36 JDBC JDBC è una API Java standard per interagire con basi di dati da Java Cerca di essere il più semplice possibile rimanendo al contempo flessibile Permette di ottenere una soluzione pure Java per l interazione con DBMS Indipendenza dalla piattaforma 36

37 Driver JDBC Esistono quattro tipi di driver I driver si differenziano per come interagiscono con la base di dati Il più semplice è il JDBC-ODBC Bridge che utilizza ODBC per connettersi alla base di dati 37

38 Applicazione Un applicazione è un programma che chiama specifiche funzioni API per accedere ai dati gestiti da un DBMS Flusso tipico: Caricamento driver Selezione sorgente dati (DBMS e specifico database) e connessione Invio statement SQL Recupero risultati e elaborazione Disconnessione 38

39 Esempio 1 39

40 import java.sql.*; import java.io.*; class examplejdbc {public static void main (String args []) { Connection con = null; try{ String my_department = "research"; Class.forName ("sun.jdbc.odbc.jdbcodbcdriver"); con =DriverManager.getConnection("jdbc:odbc:my_DB", "my_login", "my_password"); Statement st = con.createstatement(); Esempio 2 ResultSet rs = st.executequery("select AVG(salary) FROM employee"); 40

41 rs.next(); if (rs.getbigdecimal(1) < 1000) st.executeupdate("update employee SET salary = salary*1,05"); else st.executeupdate("update employee SET salary = salary*0,95"); PreparedStatement pst = con.preparestatement("select name,salary FROM employee WHERE department =?"); pst.setstring(1,my_department); rs = pst.executequery(); while (rs.next()) System.println("Name: "+rs.getstring(1)+ "Salary:"+rs.getInt(2)); con.close(); } 41

42 catch(java.lang.classnotfoundexception e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage());} catch (SQLException e) {while( e!=null) { System.out.println("SQLState: " + e.getsqlstate()); System.out.println(" Code: " + e.geterrorcode()); System.out.println(" Message: " + e.getmessage()); e = e.getnextexception(); }}}}} 42

43 SQL Ospitato 43

44 Concetti di base I comandi SQL vengono direttamente inseriti in programmi scritti in un estensione di un linguaggio di programmazione, chiamato linguaggio ospite Il linguaggio ospite permette di utilizzare SQL senza il bisogno di funzioni di interfaccia I comandi SQL (embedded SQL) possono apparire in ogni punto in cui può comparire un istruzione del linguaggio ospite 44

45 Concetti di base Lo standard SQL definisce come SQL possa essere ospitato in un insieme di linguaggi di programmazione, tra cui: C, COBOL Pascal, Fortran Anche se Java non è incluso nei linguaggi previsti, dopo lo sviluppo di JDBC è stata proposta una specifica ANSI/ISO per incapsulare comandi SQL in programmi Java: SQLJ (SQL Java) sviluppato dall SQLJGroup 45

46 Concetti di base Ogni istruzione SQL deve essere chiaramemente identificabile nel testo del programma: Preceduta da un prefisso e seguita da un terminatore Per molti linguaggi (C, Pascal, Fortran, Cobol): Prefisso = EXEC SQL Terminatore = ; SQLJ: Prefisso = #sql Terminatore = ; 46

47 Architettura di riferimento L esecuzione dei programmi avviene in tre passi: precompilazione, compilazione, esecuzione Precompilazione: Il programma viene passato ad un precompilatore (specifico del linguaggio ospite) Il precompilatore elimina i comandi SQL sostituendoli con chiamate al DBMS espresse nella sintassi del linguaggio ospite Il risultato è un programma scritto completamente nel linguaggio ospite Compilazione: Il programma risultato della fase precedente viene compilato utilizzando un compilatore per il linguaggio ospite 47

48 Esempio 1 48

49 import java.sql.*; import java.io.*; import java.math.*; import sqlj.runtime.*; import sqlj.runtime.ref.*; import oracle.sqlj.runtime.*; import java.sql.*; Esempio 2 class examplesqlj { #sql iterator Name_Salary_Iter(String name, int salary); public static void main (String args []) { try{ BigDecimal avg_sal; String my_department = "research"; oracle.connect("jdbc:odbc:my_db","my_login", "my_password", false); 49

50 #sql{select AVG(salary) INTO :avg_sal FROM employee}; if (avg_sal > 1000) #sql{update employee SET salary = salary*1,05}; else #sql{update employee SET salary = salary*0,95}; Name_Salary_Iter my_iter = null; #sql my_iter ={SELECT name,salary FROM employee WHERE department = :my_department}; while (my_iter.next()) System.println("Name: "+my_iter.name()+ "Salary:"+my_iter.salary()); } 50

51 catch(java.lang.classnotfoundexception e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage());} catch (SQLException e) { while( e!=null){ System.out.println("SQLState: " + e.getsqlstate()); System.out.println(" Code: " + e.geterrorcode()); System.out.println(" Message: " + e.getmessage()); e = e.getnextexception();}}}}} 51

Motivazione. SQL e linguaggi di programmazione. Completezza computazionale. Completezza a livello di sistema. Accoppiamento (coupling)

Motivazione. SQL e linguaggi di programmazione. Completezza computazionale. Completezza a livello di sistema. Accoppiamento (coupling) SQL e linguaggi di programmazione Motivazione SQL supporta la definizione e la manipolazione di dati relazionali tuttavia, SQL da solo non è sufficiente a programmare un intera applicazione non è computazionalmente

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

SQL e applicazioni. Capitolo 8. SQL e linguaggi di programmazione. Applicazioni ed SQL: architettura. Una difficoltà importante.

SQL e applicazioni. Capitolo 8. SQL e linguaggi di programmazione. Applicazioni ed SQL: architettura. Una difficoltà importante. SQL e applicazioni Capitolo 8 Applicazioni tradizionali In applicazioni complesse, l utente non vuole eseguire comandi SQL, ma programmi, con poche scelte SQL non basta, sono necessarie altre funzionalità,

Dettagli

Accesso a Database con JDBC

Accesso a Database con JDBC 1 Sommario Accesso a Database con JDBC Introduzione architettura generale di riferimento flusso tipico delle applicazioni ODBC/JDBC ODBC architettura il flusso generale di un applicazione ODBC JDBC architettura

Dettagli

Esercitazione su JDBC

Esercitazione su JDBC Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come

Dettagli

Introduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO

Introduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO 8- Programmazione di una base di dati attraverso JDBC Introduzione ai differenti approcci - JDBC: Architettura e Programmazione Introduzione Nella pratica gli utenti finali accedono al contenuto di una

Dettagli

JDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione

JDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione Interfacce DBMS in breve Corso di BD1 Ripasso comandi applicazione JDBC Manipolazione estensioni OR in JDBC Interfacce per DBMS Problema: Far accedere un applicazione ad una base di dati Soluzione: Librerie

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm Dott.ssa Francesca A. Lisi dott.ssa Francesca A.

Dettagli

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

Dettagli

JDBC. A. Bechini 2004. Accesso a DataD con Java

JDBC. A. Bechini 2004. Accesso a DataD con Java JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione

Dettagli

Come trattare il risultato di un comando SQL (relazioni) che

Come trattare il risultato di un comando SQL (relazioni) che USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

JDBC per l accesso Java a DB. Tito Flagella tito@link.it

JDBC per l accesso Java a DB. Tito Flagella tito@link.it JDBC per l accesso Java a DB Tito Flagella tito@link.it JDBC fornisce una libreria standard per l accesso a database relazionali Non è un acronimo ufficiale ma è comunemente interpretato come Java DataBase

Dettagli

Scheda 15 Accedere ai DataBase con JDBC

Scheda 15 Accedere ai DataBase con JDBC Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

JDBC. Dispense per il corso di Ingegneria del Web

JDBC. Dispense per il corso di Ingegneria del Web JDBC Dispense per il corso di Ingegneria del Web Revisione 05/11 Giuseppe Della Penna (giuseppe.dellapenna@di.univaq.it) Dipartimento di Informatica Università degli studi dell'aquila Java Database Connectivity:

Dettagli

APPLICAZIONI DELLE BASI DI DATI

APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI TRADIZIONALI APPLICAZIONI INTERNET SQL EMBEDDED SQL nel codice applicativo! I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio

Dettagli

Basi di Dati Esercitazione JDBC. Giugno 2007

Basi di Dati Esercitazione JDBC. Giugno 2007 Basi di Dati Esercitazione JDBC Giugno 2007 Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello) Catalogo (CodiceFornitore,

Dettagli

SQL nei linguaggi di programmazione

SQL nei linguaggi di programmazione SQL nei linguaggi di programmazione Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia, Capitolo 6 SQL in Linguaggi di Programmazione L uso diretto

Dettagli

Esercitazione 4 JDBC

Esercitazione 4 JDBC JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 10 Raffaella Gentilini 1 / 46 Sommario 1 Introduzione: DB e Programmazione 2 3 2 / 46 Approcci alla Programmazione di un DB Meccanismi Disponibili 1 Linguaggi

Dettagli

DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures

DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures 1 DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE

Dettagli

Dominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures

Dominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Dominio applicativo (Capitolo 6) v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Basi di dati 1 Docente Claudia Amari 1 Progettazione PROGETTAZIONE

Dettagli

Funzioni scalari in SQL. Capitolo 5. coalesce. nullif. Altre funzioni scalari. case

Funzioni scalari in SQL. Capitolo 5. coalesce. nullif. Altre funzioni scalari. case Funzioni scalari in SQL Capitolo 5 Costrutti definiti in SQL-2 che estendono la sintassi delle espressioni nella target list coalesce nullif case Prof. Stefano Paraboschi Vengono valutate per ogni riga

Dettagli

Laboratorio di reti II: Gestione di database lato server

Laboratorio di reti II: Gestione di database lato server Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm Dott.ssa Francesca A. Lisi dott.ssa Francesca A.

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC Fondamenti di JDBC Concetto di driver Il dialogo fra applicazione e DBMS non è mai gestito direttamente ma passa in genere per un opportuno modulo software chiamato driver che agisce da interfaccia fra

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

Dettagli

JDBC: Java e database.

JDBC: Java e database. JDBC: Java e database. Introduzione all architettura e esempi di utilizzo 1.0 INTRODUZIONE ALL ARCHITETTURA JDBC è (anche se non ufficialmente riconosciuto da Sun) l acronimo per Java DataBase Connectivity.

Dettagli

Programmazione Java Avanzata Spring - JDBC

Programmazione Java Avanzata Spring - JDBC Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008

Dettagli

PROVA FINALE Ingegneria del software

PROVA FINALE Ingegneria del software PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 4 Cos è JDBC 2 JDBC significa Java Database Connectivity Standard definito da Sun MicroSystems per connettere programmi

Dettagli

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura SQL e applicazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 5: SQL nei linguaggi di programmazione 21/10/2002 In applicazioni complesse, l utente non vuole eseguire

Dettagli

Java: la libreria delle classi

Java: la libreria delle classi Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare

Dettagli

Applicazioni tradizionali

Applicazioni tradizionali 1 BASI DI DATI Paolo Zirilli Applicazioni tradizionali Concetti di questa lezione SQL nel codice applicativo SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures I

Dettagli

Interoperabilità. Open Database Connectivity (ODBC)

Interoperabilità. Open Database Connectivity (ODBC) Interoperabilità L utilizzo contemporaneo di sorgenti di dati (data source) eterogenee in singole applicazioni è il principale problema in progetti complessi e distribuiti. La soluzione passa attraverso

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture L approccio tradizionale: uso di un linguaggio PLSQL 1.1

Dettagli

Accesso Web a Data Base

Accesso Web a Data Base Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Accesso Web a Data Base Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei -

Dettagli

Indice. Java. JDBC è l interfaccia di base standard di Java ai database relaionali

Indice. Java. JDBC è l interfaccia di base standard di Java ai database relaionali Java java database connectivity -- jdbc G. Prencipe prencipe@di.unipi.it Indice JDBC: Java Data Base Connectivity connessioni a basi di dati esecuzione di statement SQL accesso ai result set JDBC: Java

Dettagli

JAVA JDBC. Andrea BEI (andrea.bei@libero.it)

JAVA JDBC. Andrea BEI (andrea.bei@libero.it) JAVA JDBC Andrea BEI (andrea.bei@libero.it) JDBC: API JDBC (Java DataBase Connectivity) è una API per l accesso a DataBase relazionali sviluppata da SUN. Permette ad applicazioni JAVA di eseguire istruzioni

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Accesso ai Dati Ing. Giuseppe D'Aquì Testi Consigliati Eclipse In Action Core J2EE Patterns - DAO [http://java.sun.com/blueprints/corej2eepatterns/patterns/dataaccessobject.html]

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS:

Dettagli

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Esercitazione 02: JDBC, SQL e DB SAMPLE

Esercitazione 02: JDBC, SQL e DB SAMPLE Esercitazione 02: JDBC, SQL e DB SAMPLE Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione02.pdf Sistemi Informativi L-A Applicazione

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Programmazione delle basi di dati attraverso JDBC

Programmazione delle basi di dati attraverso JDBC Programmazione delle basi di dati attraverso JDBC Dispense di Basi di dati Queste breve note non hanno la pretesa di essere un nuovo libro di testo sulle tecnologie informatiche. Vogliono invece costituire

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

19.1 - Lavorare con JDBC L'impiego di JDBC è semplice, e solitamente si articola attraverso quattro passi:

19.1 - Lavorare con JDBC L'impiego di JDBC è semplice, e solitamente si articola attraverso quattro passi: Lezione 19 Accesso ai database con JDBC JDBC (non è una sigla, secondo quanto sostenuto da Sun, anche se molti la interpretano come Java DataBase Connectivity) è un'interfaccia di programmazione che lavora

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Come configurare JCREATOR (1/3)

Come configurare JCREATOR (1/3) Esercitazione 02: JDBC, SQL e DB SAMPLE Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione02.pdf Sistemi Informativi L-A Come configurare

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Tecnologie dell Informazione: Multimedia Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 7 Java DataBase Connectivity JDBC consente

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire

Dettagli

Web & basi di dati. Basi di dati & Web. Problema. Pregi e difetti di basi di dati e Web. Architettura generale a livelli. Una gerarchia di soluzioni

Web & basi di dati. Basi di dati & Web. Problema. Pregi e difetti di basi di dati e Web. Architettura generale a livelli. Una gerarchia di soluzioni Basi di dati & Web Web & basi di dati Obiettivi: : ottenere la generazione dinamica di pagine a partire da dati contenuti in una base di dati sfruttare i pregi di Web e basi di dati, aggirandone i difetti

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement

Caricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement JDBC Programmazione in Ambienti Distribuiti V 1.4 Marco Torchiano 2006 Uso di JDBC Caricamento della classe driver Class.forName() Apertura della connessione DriverManager.getConnection() Creazione di

Dettagli

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

SQL e linguaggi di programmazione

SQL e linguaggi di programmazione SQL e linguaggi di programmazione Complementi di Basi di Dati 1 SQL e linguaggi di programmazione Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine SQL e linguaggi di programmazione

Dettagli

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Versione Preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi

Dettagli

BASI DI DATI I Lezione n 2 25/09/2009

BASI DI DATI I Lezione n 2 25/09/2009 BASI DI DATI I Lezione n 2 25/09/2009 Fumarola Roberta, Galeano Antonio Andrea Linguaggio di modellazione Insieme di simboli e regole atto a descrivere la struttura e le funzionalità di un Database prima

Dettagli

Java e PL/SQL. Simona Rotolo

Java e PL/SQL. Simona Rotolo Java e PL/SQL Simona Rotolo 2 Con l'uscita di Oracle 8i è possibile costruire componenti software che accedono ai dati Oracle utilizzando in modo congiunto i linguaggi PL/Sql e Java. In tal modo è possibile

Dettagli

Il problema. SQL da programma. Il problema - Esempio. Il problema. Estensioni imperative di SQL. Approcci

Il problema. SQL da programma. Il problema - Esempio. Il problema. Estensioni imperative di SQL. Approcci Il problema Come abbiamo visto, SQL permette in modo dichiarativo di accedere i dati memorizzati in una base di dati il suo potere espressivo è però limitato questo significa che non tutte le elaborazioni

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: ADO.NET versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it

Dettagli

Interfaccia JDBC. Sistemi Informativi L-A. Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: JDBC.

Interfaccia JDBC. Sistemi Informativi L-A. Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: JDBC. Interfaccia JDBC Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: JDBC.pdf Sistemi Informativi L-A come usare SQL (1) Le istruzioni SQL possono

Dettagli

Tecnologia e Applicazioni Internet 2011/12

Tecnologia e Applicazioni Internet 2011/12 Tecnologia e Applicazioni Internet 2011/12 Lezione 4 - Persistenza Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it Perché usare un DB relazionale? Per l accesso concorrente ai dati

Dettagli

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Minicorso tematico: Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria ricca@mat.unical.it Presentiamoci

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE

JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE Disheng Qiu disheng.qiu@gmail.com SQL e Applicazioni In applicazioni complesse, l utente non vuole eseguire comandi SQL, ma programmi, con poche scelte SQL non

Dettagli

SQL da programma. Il problema

SQL da programma. Il problema 1 Il problema Come abbiamo visto, SQL permette in modo dichiarativo di accedere i dati memorizzati in una base di dati il suo potere espressivo è però limitato questo significa che non tutte le elaborazioni

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

PL/SQL Uso di un linguaggio procedurale per un database

PL/SQL Uso di un linguaggio procedurale per un database PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a. 2000-2001 Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Lezione 5 Dott. Alessandro Roncato 08/11/2011 Riassunto Pattern Singleton Pattern Plolimorfismo Classi e Interfacce 2 Ereditarietà multipla In Java una classe può estendere

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli