JDBC: Java e database.

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JDBC: Java e database."

Transcript

1 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. In questa dicitura è racchiusa l essenza dell architettura. JDBC in pratica è una API Java che permette, a partire da un qualsiasi programma scritto in java di accedere ad una sorgente di dati esterna: nella maggior parte dei casi un DBMS relazionale. Quello che ha voluto fare Sun con la creazione di JDBC è stato fornire delle api standard che permettessero l accesso in maniera uniforme a tipi di dati differenti tra loro. In pratica JDBC costituisce una sorta di layer che si interpone tra applicazione e database vero e proprio. Architettura JDBC Le applicazioni infatti che utilizzano JDBC nella maggior parte dei casi sono utilizzabili con differenti tipi di database senza la necessità di particolari modifiche al codice. E naturale però che in fase di progettazione deve essere stata prestata la massima attenzione al fatto che un database supporti o meno certe caratteristiche, predisponendo di conseguenza adeguati meccanismi di gestione degli errori e delle eccezioni. Elevata portabilità quindi e riutilizzo del codice che guarda caso sono proprio due delle caratteristiche vincenti di Java che come sappiamo basa il proprio successo sul paradigma WORE (Write Once Run Everywhere).

2 JDBC svolge il suo lavoro mediante alcune interfacce, le quali vengono implementate da un set di classi specifico per ogni differente tipo di database andando così a costituire il cosiddetto driver JDBC. Il programmatore che vuole scrivere applicazioni che utilizzano i database non si deve in alcun modo preoccupare di come queste classi vengano implementate: a lui interessa usare il driver per interfacciarsi con i dati e poterli così manipolare a proprio piacimento. Ecco quindi che come accennavamo sopra JDBC maschera la struttura e l implementazione di tutto ciò che sta sotto di lui, mostrando una chiara e semplice interfaccia con dei metodi da invocare. Ma cosa permette di fare JDBC? Sostanzialmente un driver JDBC consente di effettuare tre operazioni: 1. stabilire una connessione con una sorgente di dati (un database relazionale per es.) 2. inviare comandi SQL come update, insert, select, etc. 3. elaborare e manipolare i risultati ottenuti Nell accedere ad una basi di dati possiamo individuare sostanzialmente due tipi di architetture o modelli che dir si voglia. Il primo modello è il two-tier model mentre il secondo è il three-tier model. Il two-tier model prevede che l applicazione dialoghi in maniera diretta con il database sottostante. L utente in questa maniera sfruttando il driver JDBC adatto agisce direttamente sulla sorgente di dati. In particolare i comandi dell utente vengono inviati al database il quale ritorna all utente i risultati opportunamente costruiti. E chiaro come questo modello sia l esempio più classico di architettura client/server in cui l host dell utente è il client, mentre la macchina che ospita il database svolge la parte del server. In questo particolare modello proprio perché l interazione con la sorgente di dati è stretta e diretta, l applicazione potrebbe sfruttare eventuali conoscenze sulle specifiche di implementazione del database per migliorare le performance o utilizzare caratteristiche o proprietà non standard. E logico però, che questa pratica, ha anche l immediato svantaggio di limitare fortemente la portabilità e il riuso del codice con sorgenti di dati differenti.

3 Il two-tier model L architettura three-tier model è studiata con lo scopo fondamentale di fornire migliori performance, scalabilità e disponibilità di servizi/controlli aggiuntivi: è per questo che è tipicamente usata per lo sviluppo di applicazioni enterprise. Il three-tier model

4 Come si può chiaramente vedere in figura si possono individuare tre componenti fondamentali: 1. Client tier essa rappresenta lo strato presentazione con il quale l utente interagisce (un browser, una gui di un programma, etc.). Non c è alcuna necessità che questa componente conosca dettagli implementativi del database sottostante. 2. Middle tier server questo strato intermedio comprende tutti quei servizi posti tra base di dati e utente. A questo livello c è la possibilità di controllare e gestire l accesso alla base di dati e altresì gestire in maniera adeguata le risposte provenienti dalla stessa. I servizi aggiuntivi vengono per l appunto forniti da applicazioni di diverso tipo che possono interagire fra loro. 3. Data Source Tier il livello a cui sono collocati i dati veri e propri: il database relazionale o qualsiasi altra sorgente di dati. La cosa fondamentale è che questa base di dati sia accessibile mediante un driver che rispetti le specifiche JDBC. Dopo questa breve analisi si sarà capita l importanza che ha il driver JDBC come intermediario tra utente e dati. Senza driver infatti bisognerebbe di volta in volta scrivere codice (anche molto complicato) che dialoga e lavora con la base di dati. Ciò oltre ad essere improponibile non è spesso possibile, perché richiederebbe una conoscenza dettagliata e approfondita dell implementazione del database con il quale di volta in volta si lavora. Come sappiamo questo non è possibile per la maggior parte dei database commerciali. Ecco quindi che i driver opportunamente implementati (a seconda del diverso db) permettono al programmatore di invocare quei metodi esposti dalle API JDBC e di non preoccuparsi di come queste effettivamente funzionino. Trasparenza prima di tutto!

5 I driver però non sono tutti uguali e possono essere divisi fondamentalmente in quattro categorie: 1. JDBC-ODBC bridge: si tratta in pratica di driver JDBC che fanno da ponte, fornendo accesso ai driver ODBC di Microsoft. 2. Native-API partly Java driver: questi driver convertono le chiamate JDBC nelle corrispondenti chiamate dei client dei relativi DBMS (Oracle, Sybase, Informix, etc.). Questo significa che il driver per effettuare l accesso alla base di dati contiene codice java che invoca metodi nativi C/C++ messi a disposizione dai produttori del database. 3. JDBC-Net pure Java driver: è la soluzione forse più flessibile, visto che consente la connessione a database differenti. Questo perché le chiamate JDBC sono convertite in un protocollo generico, per poi essere riconvertite lato server nelle API specifiche del database. In pratica il client invoca mediante i socket una applicazione middleware sul server che traduce le richieste in base alle specifiche del driver. 4. Native-protocol pure Java driver: questo tipo di driver dialoga direttamente con il DBMS mediante socket, convertendo le chiamate JDBC nel protocollo di rete utilizzato. Si tratta della soluzione tipicamente adottata dagli stessi produttori del database, visto che richiede una conoscenza diretta e approfondita della struttura e dell architettura del DBMS.

6 2.0 ESEMPI INTRODUTTIVI ALL USO DI JDBC In questa sezione cercheremo di vedere attraverso alcuni esempi pratici, con frammenti di codice i passaggi fondamentali che un applicazione dovrebbe seguire (o può seguire) nell accedere a basi di dati mediante l interfaccia JDBC. 2.1 Recuperare una connessione Prima di tutto occorre creare una connessione in maniera da poter dialogare col database, inviando comandi sql e ricevendo risultati delle query o delle update. In questo passaggio sono coinvolte tipicamente una classe (java.sql.drivermanager) e due interfacce (java.sql.driver e java.sql.connection). La prima parte dell operazione prevede il caricamento del Driver che si vuole utilizzare: basta una semplice riga di codice. Nel caso ad esempio del driver per Mysql: Class.forName( com.mysql.jdbc.driver ); Questa semplice istruzione non fa altro che registrare presso un istanza della classe DriverManager (creata mediante l invocazione di questo metodo), il driver specificato. Come è possibile ciò? Basti pensare al fatto che ogni Driver deve contenere una sezione speciale di codice al suo interno detta per l appunto static initializer e che è simile a questa: static { try{ java.sql.drivermanager.registerdriver(new Driver()); } catch (SQLException E) { E.printStackTrace(); } } Come si nota viene invocato il metodo registerdriver() della classe DriverManager. La classe DriverManager ha infatti la funzione di mantenere una lista dei vari driver presenti, che possono essere usati di volta in volta dall applicazione.

7 Oltre al metodo registerdriver(), da segnalare anche deregisterdriver() che consente di rimuovere dalla lista il driver specificato. Per avere infine una lista completa dei driver registrati presso la classe DriverManager basta invocare il metodo DriverManager.getDrivers(). Ora che il driver è registrato e caricato, possiamo passare a negoziare la connessione. Per far questo basta usare una istruzione simile a questa (arricchita in questo caso del controllo delle eccezioni): try { Connection con = DriverManager.getConnection(url_jdbc, username, password); } catch (SQLException exc) { exc.printstacktrace(); } L url jdbc è un parametro molto importante ed è legato al tipo di driver che stiamo utilizzando. Tipicamente ha una sintassi di questo tipo : jdbc:<protocollo>://<hostname o ipaddress>:<numero_porta>/<nome_db> Un esempio concreto potrebbe essere questo (sempre rifacendoci a Mysql): jdbc:mysql:// :3306/utenti Se tutto va a buon fine e non vengono lanciate eccezioni allora significa che la connessione verso il DBMS è stata aperta con successo e ora possiamo inviare statement SQL. 2.2 Inviare comandi SQL al server Ora possiamo creare degli oggetti del tipo Statement o PreparedStatement e inviare al database una serie di comandi SQL, siano essi semplici query o comandi di update come UDPATE, DELETE, INSERT. Prendiamo per esempio il caso di voler creare la nuova tabella STUDENTI. Ogni entry conterrà svariate informazioni, quali nome e cognome, numero di matricola, indirizzo e così via.

8 Vediamo il codice SQL come si presenta: CREATE TABLE Studenti ( username VARCHAR(8) NOT NULL, nome VARCHAR(30) NOT NULL, cognome VARCHAR(30) NOT NULL, VARCHAR(20) NOT NULL, matricola (6) NOT NULL, PRIMARY KEY (matricola)) Questo è un puro e semplice esempio. Ora non ci resta altro da fare che assegnare quel codice che abbiamo scritto poco sopra ad una stringa: String createtablestudenti = codice_sql; Il prossimo passo fondamentale è quello di creare un oggetto Statement che mi permetta di inviare il codice SQL al DBMS. Con gli oggetti Statement sostanzialmente facciamo uso di due metodi: Statement.executeQuery() per inviare le query e ottenere in risposta un ResultSet. Statement.executeUpdate() per inviare comandi di creazione o modifica di tabelle. Per creare un istanza di Statement, sfruttiamo l oggetto Connection, quindi: Statement stmt = con.createstatement(); Una volta fatto questo, dovremmo passare all oggetto il codice SQL da inviare al dbms, nel nostro caso il codice sql definito sopra (la stringa createtablestudenti). Usiamo executeupdate() visto che ci interessa creare una nuova tabella. Stmt.executeUpdate(createTableStudenti); Fatto questo possiamo passare quindi a inserire i dati all interno di questa tabella. Lo possiamo fare semplicemente come segue: stmt.executeupdate( INSERT INTO Studenti + "VALUES ( mrossi, Mario, Rossi, ')");

9 E chiaro che operazioni del genere possono essere ripetute più volte: nella fattispecie potremmo voler inserire nel database ad esempio una lista di 100 nuovi studenti (iscritti quest anno), i cui dati sono stati recuperati da un apposito file formattato. E chiaro che potremmo tranquillamente studiare, ad esempio un ciclo while con opportuni controlli che legge dal file e inserisci gli studenti mediante operazioni tipo quella che abbiamo visto sopra. Esiste tuttavia una maniera molto più efficace e performante per affrontare situazioni tipo questa: consiste nell usare oggetti di tipo PreparedStatement. La caratteristica principale è per l appunto che oggetti di tipo PreparedStatement, a differenza degli Statement, quando vengono creati viene passato loro in input del codice SQL. Il vantaggio sta nel fatto che il codice SQL in questione viene passato al DBMS, e se questo supporta funzionalità di precompilazione, l oggetto restituito sarà non un semplice statement ma uno statement con codice SQL precompilato. Questo implica che il DBMS non dovrà ricompilarlo una seconda volta nel caso di chiamate del tipo execute() o executequery(). Vediamo come si crea un oggetto di tipo PreparedStatement: PreparedStatement insertstudenti = con.preparestatement( INSERT INTO Studenti VALUES (?,?,?,?,?) ); Come si nota chiaramente al posto di quelli che dovrebbero essere i valori da inserire nel database sono presenti dei punti di domanda che indicano la presenza di parametri che dovranno essere inseriti con opportuni metodi (come vedremo tra breve). Per impostare i parametri mancanti basta fare quanto segue: insertstudenti.setstring(1, mbianchi ); insertstudenti.setstring(2, Marco ); insertstudenti.setstring(3, Bianchi ); insertstudenti.setstring(4, ); insertstudenti.setstring(5, ); insertstudenti.executeupdate(); I parametri vengono impostati mediante l uso di metodi del tipo setxxx(<numero_colonna>, <valore_da_inserire>);

10 dove XXX dipende sostanzialmente dal tipo di dato da inserire nel dbms, anche in relazione al tipo di dati che questo supporta. Nel nostro caso i VARCHAR corrispondono in pratica al tipo Java String. Infine il tutto viene inviato al database mediante il metodo executeupdate(). E chiaro che non ha molto senso utilizzare i PreparedStatement quando il numero di query/update simili da eseguire sono una o due. Tuttavia quando cominciamo a ragionare in termini di molte operazioni simili, magari sfruttando l uso di cicli for o while, allora l uso dei PreparedStatement è la soluzione ottimale. 2.3 Elaborare e manipolare i risultati ottenuti Finora abbiamo visto per lo più comandi di update o modifica al database. Vediamo invece ora qualche esempio di query sql, che hanno come scopo principale quello di ritornare un tabella o meglio un istanza di ResultSet contenente i dati che soddisfano i criteri specificati all interno della query. Poniamo ad esempio di voler recuperare le informazioni di tutti gli studenti che si chiamano Marco. Ecco come potrebbe essere il codice. String queryname = SELECT * FROM Studenti WHERE nome = Marco ; Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery(queryname); Ora che abbiamo a disposizione un ResultSet, su di questo possiamo lavorare e muoverci consultando i risultati in esso contenuti e eventualmente utilizzarli a nostro piacimento. Pensiamo al resultset proprio come ad una tabella, o anche volendo ad un array bidimensionale composto da colonne e righe per l appunto. Nel caso di una query come quella che abbiamo presentato precedentemente otterremmo un ResultSet simile a questo:

11 username nome cognome matricola mrossi Marco Rossi mivaldi Marco Ivaldi mtorrett Marco Torretta msarpi Marco Sarpi Per spostarci all interno del ResulSet non basta far altro che utilizzare uno dei tanti metodi messi a disposizioni dalle API JDBC. Una cosa importante da ricordare è che quando viene creato il ResultSet il cursore è posizionato non sulla prima riga, ma prima di questa: in un certo senso fuori dal ResultSet stesso. Per questo tipicamente il primo metodo che si invoca è next() che consente di posizionarci sulla prima riga del ResultSet e quindi all interno dello stesso. Spesso per visitare un result set si utilizza un ciclo for o un ciclo while (preferibilmente quest ultimo). while (rs.next()) { String username = rs.getstring("username"); String nome = rs.getstring("nome"); String cognome = rs.getstring("cognome"); String = rs.getstring(" "); String matricola = rs.getstring("matricola"); //altro codice } Per recuperare i dati dal result set si fa uso di funzioni del tipo getxxx in base al tipo di dato memorizzato nel database. Il parametro delle funzioni getxxx può essere a scelta o il numero di colonna del campo da recuperare oppure il nome della colonna stessa. Nel nostro esempio sopra abbiamo utilizzato quest ultima soluzione. Attenzione che quando si fa uso della prima soluzione la numerazione delle colonne parte da 1, a differenza di come siamo abituati a considerare gli array in cui la numerazione sappiamo parte da 0.

12 Esistono molti metodi, che come dicevamo consentono di spostarsi tra le righe del result set. Metodi per il posizionamento assoluto o relativo, metodi che permettono di spostarsi all indietro (invece di next() si usa previous()) e metodi che permettono di posizionarsi direttamente alla prima o all ultima riga del result set o addirittura prima o dopo delle stesse. Questi metodi sono stati fondamentalmente introdotti a partire da JDBC 2.0. Vediamo i più importanti: boolean absolute(int row); void afterlast(); void beforefirst(); boolean first(); boolean isafterlast(); boolean isbeforefirst(); boolean isfirst(); boolean islast(); boolean last(); boolean previous(); boolean relative(); Il fatto che questi metodi possano essere utilizzati o meno dipende anche dal tipo di ResultSet che viene restituito, a seconda ad esempio che sia un result set scorrevole (novità JDBC 2.0) o di tipo forward-only. Questa parte introduttiva all uso di JDBC si conclude.

13 BIBLIOGRAFIA [1] JDBC Data Access API For Driver Writers : [2] JDBC 2.0 Core Api : [3] JDBC 2.0 Standard Extension Api : [4] M. FISHER, J. ELLIS, J. BRUCE. JDBC Api Tutorial and Reference. Third Edition. Addison Wesley, [5] G. REESE. Database Programming with JDBC and Java. Second Edition. O Reilly and Associates, Questo documento può essere liberamente copiato e distribuito da chiunque, ma a nessuno è permesso di cambiarlo in alcun modo. Ogni copia o documento derivato dovrà riportare l'indicazione alla fonte. Qualsiasi commento o suggerimento è benvenuto e può essere inviato al seguente indirizzo: Eventuali correzioni di questa pubblicazione saranno disponibili sul sito internet

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. 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

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

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

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

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

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

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

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

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

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

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

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JDBC. Di Michele de Nittis Versione 06/08/2008 www.mdenittis.it

JDBC. Di Michele de Nittis Versione 06/08/2008 www.mdenittis.it JDBC Di Michele de Nittis Versione 06/08/2008 www.mdenittis.it JDBC...1 Introduzione...2 Caricamento dell appropriato Driver JDBC...2 Classi...3 Connection...4 Statement...5 PreparedStatement...6 ResultSet...7

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

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

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

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Programmazione Java: JDBC

Programmazione Java: JDBC Programmazione Java: JDBC romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Introduzione Risorse Driver Contesto Applicativo SQL Classi e interfacce Passi» Registrare un driver» Stabilire

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

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

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

Corso Web programming

Corso Web programming Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione

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

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

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

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web L-A A.A. 2014 2015. Esercitazione 08 DAO e Hibernate Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web L-A A.A. 2014 2015 Esercitazione 08 DAO e Hibernate Agenda Pattern DAO e framework Hibernate progetto d'esempio relativo alla gestione

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

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

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

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

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

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

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

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

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

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

JDBC Un API JAVA per accedere a Basi di Dati Relazionali. Contenuti. Cos è JDBC? Introduzione a JDBC. Perché JDBC. Inside JDBC.

JDBC Un API JAVA per accedere a Basi di Dati Relazionali. Contenuti. Cos è JDBC? Introduzione a JDBC. Perché JDBC. Inside JDBC. JDBC Un API JAVA per accedere a Basi di Dati Relazionali 1 Contenuti Introduzione a JDBC Perché JDBC R, Architetture client-server, ODBC Inside JDBC Driver, classi, interfacce Un esempio 2 Cos è JDBC?

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

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Sviluppo di applicazioni per basi di dati

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

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

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

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

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

Dettagli

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows i SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows Per ulteriori informazioni sui prodotti software SPSS Inc., visitare il sito Web all indirizzo http://www.spss.it o contattare: SPSS

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

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o Navigare verso il cambiamento La St r a d a p i ù semplice verso il ca m b i a m e n t o Le caratteristiche tecniche del software La Tecnologia utilizzata EASY è una applicazione Open Source basata sul

Dettagli

schema riassuntivo del corso di access

schema riassuntivo del corso di access schema riassuntivo del maggio-settembre 2006 Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun

Dettagli

F.O.A.M. Free Object Access Method. Un introduzione. Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo

F.O.A.M. Free Object Access Method. Un introduzione. Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo F.O.A.M. Free Object Access Method Un introduzione Documento: Introduzione FOAM.doc Versione: 0.03.2k30131 Autore: Mario Meo Colombo Il protocollo FOAM. FOAM (Free Object Access Method) è un protocollo

Dettagli

RE Registro Elettronico SISSIWEB

RE Registro Elettronico SISSIWEB RE Registro Elettronico e SISSIWEB Guida per le Famiglie Copyright 2013, Axios Italia 1 SOMMARIO SOMMARIO... 2 Novità di questa versione... 3 Piattaforma Web di Axios... 4 Premessa... 4 Avvertenze... 5

Dettagli

Nell esempio riportato qui sopra è visibile la sfocatura intenzionale di una sola parte della foto

Nell esempio riportato qui sopra è visibile la sfocatura intenzionale di una sola parte della foto LE MASCHERE DI LIVELLO Provo a buttare giù un piccolo tutorial sulle maschere di livello, in quanto molti di voi mi hanno chiesto di poter avere qualche appunto scritto su di esse. Innanzitutto, cosa sono

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

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

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

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Cercare è per metà trovare

Cercare è per metà trovare Introduzione Cercare è per metà trovare Cercare su Internet Un Web nella Rete Struttura del libro I n t r o d u z i o n e La prima edizione del libro che avete tra le mani nasceva nel 2005. Si trattava

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

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

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

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli