Università di Roma T or Vergata Facoltà di Ingegneria Corso di Basi di Dati A.A. 2001/2002. Andrea D'Ambrogio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università di Roma T or Vergata Facoltà di Ingegneria Corso di Basi di Dati A.A. 2001/2002. Andrea D'Ambrogio"

Transcript

1 , di Basi di Dati 12 novembre Università di Roma T or Vergata Facoltà di Ingegneria di Basi di Dati A.A. 2001/2002 -DYD 'DWDEDVH &RQQHFWLYLW\ Andrea D'Ambrogio 12 novembre 2001! "#$% &'((%)"**"+ 6- FR. DFFHVV/ 0 '% di Basi di Dati 12 novembre $SSOLFD]LRQ 1 La maggior parte delle applicazioni SW attuali (soprattutto in ambito gestionale) sono basate sul paradigma C/S (client/server) con il server che gestisce l accesso ad uno o più DB sottostanti 1 Per la gestione di tali DB si fa solitamente uso di DBMS relazionali, che mettono a disposizione funzionalità necessarie per applicazioni missioncritical, quali: 2 Concorrenza (accesso multiutente) 2 Gestione della distribuzione 2 Gestione delle transazioni 2 Throughput elevato 2 Data recovery 3 Nell ambito dei DBMS relazionali il SQL (Structured Query Language) fornisce ai programmatori uno strumento per definire e manipolare dati in modo standard e universale, indipendentemente dallo specifico DBMS sottostante 3 In modo analogo, l' API JDBC (Java Data Base Connectivity) mette a disposizione uno strumento standard per l' accesso trasparente a DBMS relazionali (tramite SQL) da applicazioni realizzate in Java 1

2 :; <=>>;?8@6@8A di Basi di Dati 12 novembre C Presentation layer: gestisce la raccolta delle richieste utente e la presentazione dei risultati forniti dal sistema software C Application processing layer: incapsula la logica mediante cui il sistema software realizza specifiche funzionalità C Data management layer: gestisce l'accesso ai dati del sistema software (tipicamente tramite DBMS) Presentation layer Application processing layer Data management layer $SSOLFDWLRB OD\HUV D E F E G Ë HEIEJK LMNNKOHPFPHQ di Basi di Dati 12 novembre $UFKLWHWWXUR &S WZRWLHU Thin-client model Presentation Server Data management Application processing Fat-client model Presentation Application processing Server Data management 2

3 T U V U Ẅ Ü XUYUZ[ \]^^[_X`V`Xa di Basi di Dati 12 novembre c In una architettura C/S three-tier i tre strati applicativi vengono eseguiti da processi distinti che possono essere ospitati su host distribuiti ed eterogenei c Rispetto alle architetture C/S two-tier si ottengono miglioramenti in termini di: d performance d flessibilità d manutenibilità d riusabilità d scalabilità Presentation Server Application processing Server Data management $UFKLWHWWXUb &6 WKUHHWLHU e f g f ḧ f ifjfkl mnoolpiqgqir (VHPSLs G t DUFK u &6 di Basi di Dati 12 novembre WKUHHWLHU Internet banking system HTTP interaction Web server Account service provision SQL query Datab ase server SQL Customer account database 3

4 v w x w ÿ ẅ zw{w } ~ } z x zƒ di Basi di Dati 12 novembre $SSOLFD]LRQ -'%& JDBC è un insieme di classi e interfacce, scritte nel linguaggio di programmazione Java, per l'esecuzione di istruzioni SQL. Riferimenti: Sun Microsystems, JDBC 1.2 API, January 1998 Sun Microsystems, JDBC 2.1 API, November 1999 Essendo realizzate in Java, le applicazioni JDBC possono essere implementate sia come applicazioni stand-alone che come applet da eseguire all'interno di browser web (con vantaggi rispetto a soluzioni web di tipo CGI in termini di manutenibilità, robustezza, sicurezza e facilità di sviluppo) JDBC può essere usato come strumento per la realizzazione di architetture C/S sia di tipo two-tier (fat o thin client) che di tipo three-tier Rispetto a soluzioni proprietarie per l'accesso remoto a DBMS (es. Oracle SQL*Net/Net8) JDBC fornisce un vantaggio considerevole, ovvero l'indipendenza dallo specifico DBMS usato v w x w ÿ ẅ zw{w } ~ } z x zƒ di Basi di Dati 12 novembre DVV WLSLF G XQDSSOLFD]LRQˆ -'%& Caricamento del driver JDBC Apertura della connessione al DB, specificando l'url del DB (nella forma jdbc:<subprotocol>:<subname>) Eventuale interrogazione del DBMS al fine di ricavare informazioni su funzionalità aggiuntive messe a disposizione Eventuale recupero di metainformazioni (schema del DB) Definizione ed invio dell'istruzione SQL Elaborazione dei risultati (la transazione viene completata quando tutti i risultati sono stati recuperati) Chiusura della connessione al DB 4

5 Š Œ Ž Ž Œ Ž di Basi di Dati 12 novembre 'ULYH -'%& Il driver JDBC è il componente fondamentale di una applicazione JDBC Il driver permette di stabilire la connessione con il database, e implementa il protocollo necessario per la comunicazione tra client (applicazione JDBC) e server (DBMS) Dal punto di vista dell'api, realizzare un driver JDBC significa implementare l'interfaccia java.sql.connection Dal punto di vista del protocollo, l'oggetto istanziato dalla classe che implementa tale interfaccia converte le richieste di trasporto delle istruzioni SQL secondo due possibili modalità: š Conversione in chiamate native del DBMS (driver types 1 e 2) š Conversione in network stream da inviare ad un componente remoto in grado di realizzare la connessione al DBMS (driver types 3 e 4) Inoltre, il driver JDBC deve essere in grado di effettuare il mapping tra i tipi di dato del JDBC (definiti in java.sql.types) ed i tipi di dato del DBMS, ed interpretare le sequenze di escape SQL La specifica JDBC permette di introdurre estensioni ai tipi di dato, per creare tipi SQL user-defined e mapparli su classi Java Š Œ Ž Ž Œ Ž di Basi di Dati 12 novembre '% GULYHU 7\SH JDBC-ODBC bridge Richiede l'installazione di un driver ODBC (Open Data Base Connectivity). Converte le richieste JDBC in richieste ODBC, inviate al driver ODBC mediante chiamate native. Un driver JDBC di tipo 1 (sun.jdbc.odbc.jdbcodbcdriver) è incluso all'interno del Sun JDK (Java Development Kit). Application (Java) œ Ÿž ªª JDBC Dr iver T ype 1 ODBC Dr iver ² ³ µ ¹ µ «± µ º»» DB MS 5

6 ¼ ½ ¾ ½ ½ À½Á½Âà ÄÅÆÆÃÇÀȾÈÀÉ di Basi di Dati 12 novembre '%Ê GULYHU 7\SH Native API Si interfaccia direttamente ad un driver per uno specifico DBMS o ad un'api specifica, come ad es. la Oracle OCI (Oracle Call Interface). Un esempio di driver JDBC di tipo 2 è il driver JDBC OCI fornito con il DBMS Oracle. Application (Java) Ë ÌŸÍ JDBC Dr iver T ype 2 ÎÏÐÑ Ò Ó ÔÏÕÕ Vendor API Ý Þ Ö ØÚÙÛÜ ß âãã ß à á¹à ß DB MS ä å æ å ç å èåéåêë ìíîîëïèðæðèñ di Basi di Dati 12 novembre '%ò GULYHU 7\SH Open Protocol-Net Invia le richieste JDBC ad una sorgente dati remota mediante un protocollo di rete vendor-neutral (host redirection). Un esempio di driver JDBC di tipo 3 è il driver RmiJdbc sviluppato da INRIA/France Mediation Project Application (Java) ó ôÿõ JDBC Dr iver T ype 3 üúýþÿ ö øúùúû ÿ ü ÿý Net S erver Gateway DB MS 6

7 + 9 "!#$ % %"!'&)( )( * -'% GULYHU 7\SH di Basi di Dati 12 novembre Proprietary Protocol-Net Invia le richieste JDBC ad una sorgente dati remota mediante un protocollo di rete vendor-specific (host redirection). Un esempio di driver JDBC di tipo 4 è il driver JDBC Thin fornito con il DBMS Oracle. Application (Java),-/. JDBC Dr iver T ype ? 1:;=<>;=: 354'67 3A?;0 :A@@ 1 Net S erver Gateway DB MS BCDCECFC GC H"IJK L L"I'MF)N D)N FO di Basi di Dati 12 novembre UDFOH -'%& GULYHUV 7

8 ^ _ PQRQSQTQ UQ V"WXY Z Z"W'[T)\ R)\ T] di Basi di Dati 12 novembre &RPXQLFD]LRQH FOLHQWVHUYHU -'%& DPELHQW L PQRQSQTQ UQ V"WXY Z Z"W'[T)\ R)\ T] di Basi di Dati 12 novembre UDFOH -'%& 7KLQ 'ULYHU ` Driver di tipo 4 scritto interamente in Java (quindi platform-independent) e conforme allo standard JDBC 1.2 ` Usa i Java sockets per la connessione diretta al server Oracle ed è usato tipicamente per lo sviluppo di applet JDBC, sia in configurazione two-tier che three-tier (ma può essere usato anche per applicazioni Java stand-alone) ` Fornisce una propria implementazione (emulazione) dello stack TCP/IP di Oracle Net8 e, nel caso delle applet, richiede che il browser abbia la capacità di supportare i Java sockets ` Richiede che sia in esecuzione un TNS listener che accetti connessioni tramite socket TCP/IP sul DB server ` Non richiede che sia installato software Oracle sul lato client (il driver JDBC Thin può essere scaricato con l'applet da eseguire). Anche se il protocollo HTTP è stateless, una volta che il driver JDBC stabilisce la connessione con il server, la comunicazione mantiene lo stato ` Esegue connessioni con ogni DB Oracle versione o successive 8

9 abcbdbeb fb g"hij k k"h'le)m c)m en di Basi di Dati 12 novembre '%o 2&p 'ULYHU q Driver di tipo 2 orientato allo sviluppo di applicazioni C/S Java o middleware Java-based (Oracle Web Application Server) q Converte le richieste JDBC in chiamate alla OCI (Oracle Call Interface), che sono poi inviate al DB server Oracle tramite Net8 q E' scritto parte in Java e parte in C, e l'uso di chiamate native rende il driver platform-specific q Richiede l'installazione di Net8 sul lato client e la presenza delle librerie OCI (è però compatibile con tutte le versioni di Oracle e supporta tutti gli adattatori Net8) q Può essere usato nelle seguenti configurazioni: r Con una applicazione Java in esecuzione sul client in configurazione twotier r Con una applicazione Java in esecuzione su middle tier in una configurazione three-tier r Con un Java servlet in esecuzione su middle tier in una configurazione three-tier stutvtwt xt y"z{ } }"z'~w) u) w di Basi di Dati 12 novembre HTXLVLW G VLVWHPD L DPELHQWƒ 0LFURVRI :LQGRZ 17 Sun Microsystems Java Developer's Kit (JDK) versione e 1.1.x (i driver JDBC per Oracle non sono compatibili con il JDK versione 1.2) Installazione degli Oracle Java Server Products (creazione directory jdbc in [ORACLE_HOME]) Aggiunta delle voci [ORACLE_HOME]\jdbc\lib\classes102.zip (JDK 1.0.2) o [ORACLE_HOME]\jdbc\lib\classes111.zip (JDK 1.1.x) Aggiunta della voce [ORACLE_HOME]\lib alla variabile d'ambiente CLASSPATH alla variabile d'ambiente PATH (solo per driver JDBC OCI) 9

10 ˆ Š Œ Ž" " ' Œ) Š) Œ di Basi di Dati 12 novembre *HWWLQ VWDUWHG Per una semplice applicazione JDBC che si connetta ad un database Oracle (in esecuzione sull'host myhost con SID orcl) ed esegua una query occorre sviluppare codice per implementare i seguenti passi: 1. Importazione package Java 2. Registrazione dei driver JDBC 3. Apertura connessione verso il DB 4. Creazione di un oggetto Statement 5. Esecuzione della query con ritorno di oggetto ResultSet 6. Elaborazione dei risultati in ResultSet 7. Chiusura di ResultSet 8. Chiusura di Statement 9. Chiusura della connessione š œ "žÿ "ž' ) ),PSRUWD]LRQH di Basi di Dati 12 novembre SDFNDJ -DYD 9 Aldilà del tipo di driver usato, il codice dell applicazione JDBC deve contenere le seguente direttive di import: import java.sql.* import java.math.* 9 Qualora si volessero usare le Oracle JDBC Extensions (non necessarie per lo sviluppo di semplici applicazioni JDBC) vanno anche importati i seguenti package: oracle.jdbc.driver.* oracle.sql.* 10

11 ª «" ± ±" '²«)³ )³ «di Basi di Dati 12 novembre HJLVWUD]LRQµ GH GULYH -'%& I driver Oracle installati sul sistema vanno registrati eseguendo l istruzione: DriverManager.registerDriver (new oracle.jdbc.driver.oracledriver()); oppure, in alternativa, l istruzione: Class.forName( oracle.jdbc.driver. OracleDriver ); ª «" ± ±" '²«)³ )³ «di Basi di Dati 12 novembre $SHUWXU FRQQHVVLRQµ YHUV¹ L º '%» driver JDBC OCI Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@myhoststring", "scott", "tiger"); se MyHostS tring è una entry in T NS NAME S.OR A corrispondente a myhost, altrimenti: Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@(description=(address=(host=myhost) (protocol=tcp)(port=1521))(connect_data=(sid=orcl)))", "scott", "tiger");» driver JDBC Thin Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger"); oppure, in alternativa: Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@(description=(address=(host=myhost) (protocol=tcp) (port=1521))(connect_data=(sid=orcl)))", "scott", "tiger"); 11

12 ¼½¾½ ½À½ Á½ Â"ÃÄÅ Æ Æ"Ã'ÇÀ)È ¾)È ÀÉ di Basi di Dati 12 novembre Ê Creazione oggetto Statement *HVWLRQH TXHU\ Ê Esecuzione query Statement stmt = conn.createstatement(); ResultSet rset = stmt.executequery ("SELECT nome,cognome FROM Dipendente, Commesso WHERE Dipendente.DipId = Commesso.DipId"); S elezione Ê riga E laborazione ris ultati while (rset.next()) S elezione colonne System.out.println (rset.getstring(1), rset.getstring(2)); un oggetto di classe ResultSet definisce implicitamente un curs ore, il cui nome può essere ottenuto invocando il metodo getcursorname() ¼½¾½ ½À½ Á½ Â"ÃÄÅ Æ Æ"Ã'ÇÀ)È ¾)È ÀÉ di Basi di Dati 12 novembre &KLXVXUË RJJHWWL 9 Chiusura oggetto ResultSet rset.close(); 9 Chiusura oggetto Statement stmt.close(); 9 Chiusura oggetto Connection conn.close(); 12

13 ÌÍÎÍÏÍÐÍ ÑÍ Ò"ÓÔÕ Ö Ö"Ó' Ð)Ø Î)Ø ÐÙ di Basi di Dati 12 novembre import java.sql.*; import java.math.*; import java.io.*; 8Ú HVHPSLR class JdbcTest { public static void main (String args []) throws SQLException { DriverManager.registerDriver (new oracle.jdbc.driver.oracledriver()); Connection conn = "scott", "tiger"); Statement stmt = conn.createstatement (); ResultSet rset = stmt.executequery ("SELECT nome,cognome FROM Dipendente, Commesso WHERE Dipendente.DipId = Commesso.DipId"); while (rset.next ()) System.out.println (rset.getstring (1), (rset.getstring (2)); } rset.close(); stmt.close(); conn.close(); } ÛÜÝÜÞÜßÜ àü á"âãä å å"â'æß)ç Ý)ç ßè di Basi di Dati 12 novembre &RPSLOD]LRQé éëê HVHFX]LRQH υ Compilazione file sorgente Java (JdbcTest.java) prompt> javac JdbcTest.java o Esecuzione prompt> java JdbcTest p Output a video Paolo Rossi Mario Rossi Paolo Bianchi Mario Verdi 13

14 ú ìíîíïíðí ñí ò"óôõ ö ö"ó' ð)ø î)ø ðù di Basi di Dati 12 novembre PDSSLQJV 'DWDW\SH StandardJDBC Datatypes JavaNativeDatatypes SQLDatatypes OracleExtensions java.sql.types.char java.lang.string CHAR oracle.sql.char java.sql.types.varchar java.lang.string VARCHAR2 oracle.sql.char java.sql.types.longvarchar java.lang.string LONG oracle.sql.char java.sql.types.numeric java.math.bigdecimal NUMBER oracle.sql.number java.sql.types.decimal java.math.bigdecimal NUMBER oracle.sql.number java.sql.types.bit boolean NUMBER oracle.sql.number java.sql.types.integer int NUMBER oracle.sql.number java.sql.types.real float NUMBER oracle.sql.number java.sql.types.float double NUMBER oracle.sql.number java.sql.types.double double NUMBER oracle.sql.number java.sql.types.binary byte[] NUMBER oracle.sql.number java.sql.types.date java.sql.date DATE oracle.sql.date java.sql.types.time java.sql.time DATE oracle.sql.date java.sql.types.timestamp javal.sql.timestamp DATE oracle.sql.date ûüýüþüÿü ü ÿ ý ÿ di Basi di Dati 12 novembre UDFOH -'%& ([WHQVLR 7\SHV SQL Datatype JDBC Extensions for SQL Datatypes Oracle Extensions ROWID oracle.jdbc.driver.oracletypes.rowid oracle.sql.rowid user-defined types of the REF CURSOR category oracle.jdbc.driver.oracletypes.cursor java.sql.resultset BLOB oracle.jdbc.driver.oracletypes.blob oracle.sql.blob CLOB oracle.jdbc.driver.oracletypes.clob oracle.sql.clob BFILE oracle.jdbc.driver.oracletypes.bfile oracle.sql.bfile Collections (varrays and nested tables) oracle.jdbc.driver.oracletypes.array oracle.sql.array 14

15 ! " " #$%&%&' di Basi di Dati 12 novembre * SQL92 escape syntax 3/64/ VWRUH( SURFHGXUHV L) -'%& CallableStatement cs1 = conn.preparecall ( "{call proc (?,?)}" ) ; CallableStatement cs2 = conn.preparecall ( "{? = call func (?,?)}" ) ; * Oracle escape syntax CallableStatement cs3 = conn.preparecall ( "begin proc (:1, :2); end;" ) ; CallableStatement cs4 = conn.preparecall ( "begin :1 := func(:2,:3); end;" ) ; Sull'oggetto di classe CallableStatement restituito da conn.preparecall() vanno invocati i metodi per l'inserimento dei parametri e l'esecuzione della stored procedure. Per l esecuzione si usa il metodo execute() quando è necessario gestire i risultati (restituiti tramite un oggetto della classe ResultSet) oppure, in alternativa, il metodo executeupdate(), quando non è prevista la restituzione di risultati (ad es. in caso di INSERT, UPDATE, DELETE, etc.) +,-,.,/, 0, $/7&-7&/8 di Basi di Dati 12 novembre 'RFXPHQWD]LRQ9 +70/ : JDBC TM - Connecting Java and Databases in JDK TM 1.1.x Documentation : Oracle8i JDBC Developer's Guide and Reference in Oracle Documentation Library (Oracle8i Java Products, Release 8.1.5) 15

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta

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

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

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

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

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

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

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

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

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

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

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

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

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

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

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

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

TUTORIAL. CREAZIONE DI TRIGGER IN ORACLE LITE 8i MEDIANTE CLASSI JAVA

TUTORIAL. CREAZIONE DI TRIGGER IN ORACLE LITE 8i MEDIANTE CLASSI JAVA TUTORIAL CREAZIONE DI TRIGGER IN ORACLE LITE 8i MEDIANTE CLASSI JAVA Michele de Nittis Generalità... 2 Modello di Caricamento e Pubblicazione... 3 Modello Per Allegato (Attachment)... 9 Esempio di creazione

Dettagli

Esercitazione sulle libpq - libreria C per PostgreSQL

Esercitazione sulle libpq - libreria C per PostgreSQL Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

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

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

L evoluzione delle Applicazioni Distribuite

L evoluzione delle Applicazioni Distribuite L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe

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

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

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

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

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

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

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

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

appunti delle lezioni Architetture client/server: applicazioni server

appunti delle lezioni Architetture client/server: applicazioni server Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

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

Architetture e applicazioni web

Architetture e applicazioni web Architetture e applicazioni web L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Cosa è un'applicazione web E' un particolare tipo di applicazione che si appoggia sulle tecnologie,

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

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

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server Versione 30.5.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/: applicazioni 1 La logica dei socket Abbiamo visto che un applicazione client si connette

Dettagli

Programmazione Client-Server

Programmazione Client-Server Programmazione Client-Server Davide Taibi davide.taibi@uninsubria.it The Java Platform Java Technology Enabled Devices Java Technology Enabled Desktop Workgroup Server High-End Server The Java Platform

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

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea Università degli studi Roma Tre Dipartimento di informatica ed automazione Tesi di laurea Reingegnerizzazione ed estensione di uno strumento per la generazione di siti Web Relatore Prof. P.Atzeni Università

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Dettagli

Informatica DR KLOE Calcolo

Informatica DR KLOE Calcolo Informatica DR KLOE Calcolo Progettazione e gestione sotto il sistema operativo Unix di un database per un esperimento che produce almeno 1200 Terabyte. Informatica DR KLOE Calcolo Tutore: Giuseppe Fortugno

Dettagli

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata

Dettagli

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3

Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Architettura MVC-2 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

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

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli