Programmazione Java: JDBC

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Java: JDBC"

Transcript

1 Programmazione Java: JDBC

2 Roadmap Introduzione Risorse Driver Contesto Applicativo SQL Classi e interfacce Passi» Registrare un driver» Stabilire una connessione al DB» Creare uno statement» Eseguire l SQL» Processare il risultato» Eliminare gli oggetti JDBC

3 ( 1 ) (JDBC) Java Database Connectivity Le API JDBC consentono di accedere a qualsiasi tipo di dati tabulari, in particolare a i dati memorizzati in database relazionali JDBC consente di scrivere applicazioni Java che gestiscono queste tre attività di programmazione:» Connettere un'origine dati (e.g., database)» Inviare query e istruzioni di aggiornamento per il database» Recuperare ed elaborare i risultati ricevuti dal database in risposta alla tua richiesta

4 ( 2 ) (JDBC) Java Database Connectivity Esempio dei 3 passi precedenti: public void connecttoandquerydatabase(string username, String password) {!! Connection con = DriverManager.getConnection(! "jdbc:mydriver:mydatabase",! crea un'istanza di un oggetto Statement che effettua la query! SQL al database!! username,! password);!! Statement stmt = con.createstatement();! ResultSet rs = stmt.executequery("select a, b, c FROM Table1");! while (rs.next()) {! int x = rs.getint("a");! String s = rs.getstring("b");! float f = rs.getfloat("c");!! crea un oggetto DriverManager per connettersi ad un database driver e accedere al database crea un'istanza di un oggetto ResultSet che recupera i risultati della query infine esegue un semplice ciclo while, che recupera e visualizza i risultati

5 ( 3 ) (JDBC) Java Database Connectivity JDBC include:» API JDBC - Un insieme di interfacce che fanno parte della piattaforma Java e costituiscono le API per il programmatore» JDBC Driver Manager - Gestore di driver che permette a driver di terze parti di connettersi ad un DB specifico Un driver JDBC permette di» Connettersi ad un DB» Inviare un comando SQL» Processare il risultato

6 Risorse Libri» Titolo: Java 2 Volume II settima edizione Autori: Cay S. Horstmann, Gary Cornell Casa Editrice: Prentice Hall ISBN: » Titolo: JDBC API Tutorial and Reference Terza edizione Autori: Maydene Fisher, Jon Ellis, Jonathan Bruce Casa Editrice: Addison-Wesley Professional ISBN: Java Tutorial JDBC Trial» JDBC API Documentation»

7 ( 1 ) Driver ( bridge Tipo 1 (JDBC-ODBC» Traduce JDBC in ODBC (Open DataBase Connectivity)» Viene utilizzato un driver ODBC» JDK contiene un ponte JDBC-ODBC» E necessario configurare ODBC» Generalmente utilizzato in ambito di test ( Driver Tipo 2 (Native-API» Scritto parzialmente in java e parzialmente in codice nativo» Chiamate JDBC vengono convertite in chiamate alle API dei client Oracle, IBM DB2» E necessario installare le librerie native

8 ( 2 ) Driver Tipo 3 (Network-Protocol Driver / MiddleWare Driver)» Fa uso di un middle tier tra le il programma chiamante e il database» Il middle-tier (application server) converte le chiamate JDBC in un protocollo DBMS-independent» Vengono poi traslate da un server nel relativo protocollo del DBMS Tipo 4 (Native-Protocol Driver / Pure Java Driver)» Chiamate JDBC vengono convertite direttamente nelle chiamate al protocollo del DBMS specifico» Scritto completamente in Java Nota E presente una lista di driver disponibili sul mercato»

9 ( 3 ) Driver Type 1: JDBC-ODBC Bridge plus ODBC Driver This combination provides JDBC access via ODBC drivers. ODBC binary code -- and in many cases, database client code -- must be loaded on each client machine that uses a JDBC-ODBC Bridge. Oracle provides a JDBC-ODBC Bridge driver, which is appropriate for experimental use and for situations in which no other driver is available. Type 1 Type 2 Type 2: A native API partly Java technology-enabled driver This type of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine.

10 ( 4 ) Driver Type 4: Direct-to-Database Pure Java Driver This style of driver converts JDBC calls into the network protocol used directly by DBMSs, allowing a direct call from the client machine to the DBMS server and providing a practical solution for intranet access. Type 3: Pure Java Driver for Database Middleware This style of driver translates JDBC calls into the middleware vendor's protocol, which is then translated to a DBMS protocol by a middleware server. The middleware provides connectivity to many different databases. Type 4 Type 3

11 Contesto Applicativo: Applicazioni Two-tier L'applicazione Java parla direttamente alla sorgente dati» Il driver JDBC può comunicare con la particolare origine dati a cui si accede» I comandi utente sono inviati al database o altre fonti dati, ed i risultati di tali istruzioni vengono inviati all'utente Configurazione client/server: l'origine dati può essere situata su un'altra macchina (server) a cui l'utente è collegato tramite rete (client) Java Application JDBC Client machine DBMS proprietary protocol DBMS Database server

12 Contesto Applicativo: Applicazioni Three-tier I comandi utente vengono inviati a un "livello intermedio" dei servizi, che poi li invia all'origine dati. Questa elabora i comandi e invia i risultati al livello intermedio, che poi li invia all'utente» Il livello intermedio consente di mantenere il controllo sull'accesso e sul tipo di aggiornamenti, inoltre semplifica la distribuzione di applicazioni Java e le API JDBC sono diventate lo standard per lo sviluppo di livello intermedio Java appletor HTML browser Application Server (Java) JDBC DBMS Client machine (GUI) HTTP, RMI, CORBA, or other calls Server machine (business logic) DBMS proprietary protocol Database server

13 ( 1 ) SQL SQL è il linguaggio standard per accedere ai DB relazionali SQL non è standardizzato» Per i tipi JDBC lo risolve introducendo un insieme generico di tipi» Per i diversi statement JDBC permette l invio di una qualsiasi istruzione SQL (i driver devono essere almeno conformi all ANSI ( Level SQL-92 Entry

14 ( 2 ) SQL INTEGER O INT SMALLINT NUMERIC(M,N), DECIMAL(M,N) DEC(M, N) FLOAT(N) REAL DOUBLE CHARACTER(N) CHAR(N) VARCHAR(N) BOOLEAN DATE TIME TIMESTAMP BLOB CLOB Di solito intero a 32 bit Di solito intero a 16 bit Numero decimale a lunghezza fissa con m cifre totali e n cifre dopo il punto decimale Numero a virgola mobile con precisione di n cifre binarie Di solito virgola mobile a 32bit Di solito virgola mobile a 64bit Stringa di lunghezza fissa n Stringa di lunghezza variabile max n Booleano Data del calendario dipendente dall implementazione Ora del giorno dipendente dall implementazione Data e ora del giorno dipendente dall implementazione Oggetto binario large Oggetto carattere large

15 ( 1 ) Classi e interfacce package java.sql SQLPermission <<Interface>> Statement DriverManager DriverPropertyInfo <<Interface>> Connection <<Interface>> Driver <<Interface>> PreparedStatement <<Interface>> ResultSet <<Interface>> CallableStatement

16 ( 1 ) Classi e interfacce package java.sql <<Interface>> Statement DriverManager DriverPropertyInfo <<Interface>> Connection <<Interface>> Driver <<Interface>> PreparedStatement <<Interface>> ResultSet <<Interface>> CallableStatement

17 ( 2 ) Classi e interfacce DriverManager facility» DriverManager: permette una connessione con un driver» Driver: fornisce le API per registrare e connettere i driver; utilizzata dalla classe DriverManager» DriverPropertyInfo: fornisce le proprietà di un ( utilizzata driver JDBC (generalmente non

18 ( 3 ) Classi e interfacce SQL statements» Statement: utilizzata per inviare statements base SQL» PreparedStatement: utilizzata per inviare prepared statements» CallableStatement: utilizzata per invocare le stored procedure» Connection: fornisce metodi per creare statements e gestire le connessioni» ResultSet: rappresenta il risultato di una query

19 ( 4 ) Classi e interfacce package java.sql SQLException SQLWarning BatchUpdateException DataTruncation SQLException» Lanciata dai metodi quando vi è un problema nell accesso ai dati o per altri ragioni SQLWarning» Indica un warning DataTruncation» Indica dati che potrebbero essere stati troncati BatchUpdateException» Indica che non tutti i comandi in un update batch non sono stati eseguiti con successo

20 ( 5 ) Classi e interfacce package java.sql

21 ( 6 ) Classi e interfacce Mapping per i tipi SQL a classi e interfacce Java» Array: mapping per SQL ARRAY» Blob: mapping per SQL BLOB» Clob: mapping per SQL CLOB» Date: mapping per SQL DATE» Ref: mapping per SQL REF» Struct: mapping per SQL STRUCT» Time: mapping per SQL TIME» Timestamp: mapping per SQL TIMESTAMP» Types: contiene costanti per i tipi SQL INT, VARCHAR, NUMBER, DATE,.

22 ( 7 ) Classi e interfacce Custom mapping per un tipo SQL definito dall utente» SQLData» SQLInput» SQLOutput Metadata» DatabaseMetaData: fornisce informazioni sul DBMS» ResultSetMetaData: fornisce informazioni sulle colonne di un ResultSet» ParameterMetaData: fornisce informazioni sui parametri di un comando PreparedStatement

23 JDBC Getting start ( J )» Installa Java e JDBC» Installa il DBMS MySql 4.0.x» Download and Installa un driver mysql-connector-java bin.jar (http:// ( dev.mysql.com/downloads/connector/j/3.1.html» Creazione del Database javalibrary

24 Database drop database javalibrary; create database javalibrary; use javalibrary; CREATE TABLE title_kind( title_kind_id mediumint(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(100) not null); CREATE TABLE title( title_id mediumint(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(255) not null, title_kind_id mediumint(10) not null, description varchar(255), author varchar(100), isbn varchar(50), constraint ttl_tik_fk foreign key(title_kind_id) references title_kind(title_kind_id));

25 Passi Registrare un driver Stabilire una connessione al DB Creare uno statement Eseguire l SQL Processare il risultato Eliminare gli oggetti JDBC

26 ( 1 ) Registrare un driver Interfaccia Driver fornisce un astrazione verso il DB Viene utilizzato dal DriverManager per connettersi al DB» E lo strato di gestione all interno di JBDC che si interpone tra l utente e i drivers» Mantiene traccia dei driver che sono disponibili e gestisce le connessioni tra un DB e il relativo driver» JDBC 2.0 ha introdotto un interfaccia DataSource (javax.sql) che è un alternativa alla gestione delle sorgenti di dati JDBC utilizza il primo driver che si connette con successo ad una data URL Si possono registrare diversi driver

27 ( 2 ) Registrare un driver Un driver viene registrato» Utilizzando il Class Loader Class.forName("acme.db.Driver"); Permette di caricare esplicitamente il driver Il driver una volta caricato si registra presso il DriverManager mediante il metodo registerdriver» Utilizzando la proprietà di sistema jdbc.drivers Sintassi: java -Djdbc.drivers=driverName[:driverName]» Istanziando esplicitamente una classe che implementa l interfaccia Driver

28 ( 3 ) Registrare un driver Esempio 1 public class TestLoading1 { public static void main( String[] args ) { try { Class.forName("com.mysql.jdbc.Driver" ); catch ( ClassNotFoundException e ) { e.printstacktrace();

29 ( 4 ) Registrare un driver Esempio 2 public class TestLoading2 { public static void main( String[] args ) { System.out.println( "welcome!" ); C:> java Djdbc.drivers=com.mysql.jdbc.Driver

30 ( 5 ) Registrare un driver Esempio 3 public class TestLoading3 { public static void main( String[] args ) { try { Driver driver = new com.mysql.jdbc.nonregisteringdriver(); DriverManager.registerDriver( driver ); catch ( SQLException e ) { e.printstacktrace();

31 ( 1 ) Stabilire una connessione al DB Esistono tre metodi nella classe DriverManager per effettuare la connessione» getconnection(string url)» getconnection(string url, java.util.properties info) Le proprietà sono dipendenti dal DBMS Contengono almeno le proprietà user e password» getconnection(string url, String user, String password)

32 ( 2 ) Stabilire una connessione al DB Formato URL» jdbc:protocollo_secondario:altro» protocollo_secondario seleziona il driver specifico di connessione al db» altro dipende dal valore di protocollo_secondario» Esempi jdbc:mysql://localhost/javalibrary

33 ( 3 ) Stabilire una connessione al DB Esempio public class TestConnection { private static final String DRIVER_NAME = "com.mysql.jdbc.driver"; public static void main( String[] args ) { try { Class.forName( DRIVER_NAME ); Connection connection = DriverManager.getConnection( args[ 0 ], args[ 1 ], args[ 2 ] ); catch ( ClassNotFoundException e ) { e.printstacktrace(); catch ( SQLException e ) { e.printstacktrace(); C:> java TestConnection jdbc:mysql://localhost/javalibrary root

34 ( 1 ) Creare uno statement Un oggetto Statement è utilizzato per inviare istruzioni SQL al DB Tre tipi di oggetti statement» Statement Permette di eseguire semplici istruzioni SQL senza parametri» PreparedStatement Viene preparata una query che poi sarà utilizzata diverse volte Aumento prestazioni» CallableStatement Permette di eseguire chiamate a stored procedure

35 ( 2 ) Creare uno statement Per creare gli statement si utilizzano i rispettivi metodi presenti all interno di Connection» Statement createstatement()» PreparedStatement preparestatement(string sql)» CallableStatement preparecall(string sql)» Esistono altri metodi per creare gli oggetti

36 Eseguire l SQL Interfaccia Statement» ResultSet executequery(string sql) Esegue un istruzione SQL (SELECT) e ritorna un ResultSet che identifica il risultato» int executeupdate(string sql)... Esegue un istruzione SQL (INSERT, UPDATE, DELETE ) e ritorna il numero di righe di cui è stato effettuato l update

37 Processare il risultato Interfaccia ResultSet» Mantiene un cursore che punta alla riga corrente dei dati» Inizialmente è posizionato prima della prima riga» Metodo boolean next() muove il cursore in avanti e ritorna false se non ci sono più righe» Default con il ResultSet non si possono modificare le righe e tornare indietro» Esempio Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select a, b FROM TABLE2");

38 Processare il risultato Per recuperare le colonne dal ResultSet vi sono dei metodi getxxx (getboolean, getlong, getstring, ) Valori possono essere recuperati» Utilizzando l indice (più efficiente e numerato da 1) oppure ( insensitive» Nome della colonna (case Driver JDBC tenta di convertire dati sottostanti con tipi di dati Java Problema con tipi del DB rispetto a tipi Java a causa della mancanza dello standard SQL JDBC risolve il problema definendo dei propri tipi mediante la classe java.sql.types

39 Processare il risultato String java.math.bigdecimal Boolean Integer Long Float Double byte[] java.sql.date java.sql.time java.sql.timestamp Clob Blob Array Struct Ref Java class CHAR, VARCHAR, or LONGVARCHAR NUMERIC BIT INTEGER BIGINT REAL DOUBLE BINARY, VARBINARY, or LONGVARBINARY DATE TIME TIMESTAMP CLOB BLOB ARRAY STRUCT REF JAVA_OBJECT

40 ( 4 ) Processare il risultato

41 ( 5 ) Processare il risultato guide/jdbc/getstart/mapping.html

42 ( 6 ) Processare il risultato Qualsiasi tipo di dati MySql può essere convertito in java.lang.string e qualsiasi tipi numerico può essere convertito in un qualsiasi tipo numerico di Java

43 Processare il risultato Esempio 1 public class TestStatement { private static final String DRIVER_NAME="com.mysql.jdbc.Driver"; private static final String SQL = "SELECT * FROM title"; public static void main( String[] args ) { try { Class.forName( DRIVER_NAME ); Connection connection = DriverManager.getConnection( args[ 0 ], args[ 1 ], args[ 2 ] ); Statement statement = connection.createstatement(); ResultSet resultset = statement.executequery( SQL );

44 Processare il risultato while ( resultset.next() ) { System.out.println( "ID: " + resultset.getint( "title_id" ) ); System.out.println( "Name: " + resultset.getstring( "name" ) ); System.out.println( "Title Kind ID: " + resultset.getint( "title_kind_id" ) ); System.out.println( "Description: " + resultset.getstring( "description" ) ); System.out.println( "Author: " + resultset.getstring( "author" ) ); System.out.println( "Isbn: " + resultset.getstring( "isbn" ) ); System.out.println( " " ); catch ( ClassNotFoundException e ) { e.printstacktrace(); catch ( SQLException e ) { e.printstacktrace();

45 Processare il risultato Esempio 2 public class TestPreparedStatement { private static final String DRIVER_NAME="com.mysql.jdbc.Driver"; private static final String SQL = "SELECT * FROM title WHERE name=?"; public static void main( String[] args ) { try { Class.forName( DRIVER_NAME ); Connection connection = DriverManager.getConnection( args[ 0 ], args[ 1 ], args[ 2 ] ); PreparedStatement preparedstatement = connection.preparestatement( SQL ); preparedstatement.setstring( 1, "name"); ResultSet resultset = preparedstatement.executequery();

46 Processare il risultato while ( resultset.next() ) { System.out.println( "ID: " + resultset.getint( "title_id" ) ); System.out.println( "Name: " + resultset.getstring( "name" ) ); System.out.println( "Title Kind ID: " + resultset.getint( "title_kind_id" ) ); System.out.println( "Description: " + resultset.getstring( "description" ) ); System.out.println( "Author: " + resultset.getstring( "author" ) ); System.out.println( "Isbn: " + resultset.getstring( "isbn" ) ); System.out.println( " " ); catch ( ClassNotFoundException e ) { e.printstacktrace(); catch ( SQLException e ) { e.printstacktrace();

47 ( 1 ) Eliminare gli oggetti JDBC Al termine delle operazioni è necessario chiudere tutti gli oggetti coinvolti try { resultset.close(); statement.close(); connection.close(); catch (SQLException ex) { ex.printstacktrace();

48 Esempio ( 2 ) Eliminare gli oggetti JDBC public class TestPreparedStatementClose { private static final String DRIVER_NAME="com.mysql.jdbc.Driver"; private static final String SQL = "SELECT * FROM title WHERE name=?"; public static void main( String[] args ) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { Class.forName( DRIVER_NAME ); conn = DriverManager.getConnection( args[ 0 ], args[ 1 ], args[ 2 ] ); ps = con.preparestatement( SQL ); ps.setstring( 1, "name"); rs = ps.executequery();

49 ( 3 ) Eliminare gli oggetti JDBC while ( rs.next() ) { System.out.println( "ID: " + rs.getint( "title_id" ) ); System.out.println( "Name: " + rs.getstring( "name" ) ); System.out.println( "Title Kind ID: " + rs.getint( "title_kind_id" ) ); System.out.println( "Description: " + rs.getstring( "description" ) ); System.out.println( "Author: " + rs.getstring( "author" ) ); System.out.println( "Isbn: " + rs.getstring( "isbn" ) ); System.out.println( " " ); catch ( ClassNotFoundException e ) { e.printstacktrace(); catch ( SQLException e ) { e.printstacktrace();

50 ( 4 ) Eliminare gli oggetti JDBC finally { if (rs!=null) { try { rs.close(); catch (SQLException e) {/*Do Nothing*/ if (ps!=null) { try { ps.close(); catch (SQLException e) {/*Do Nothing*/ if (conn!=null) { try { conn.close(); catch (SQLException e) {/*Do Nothing*/

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

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

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

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

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

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

Applicazioni tradizionali

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

Dettagli

Programmazione delle basi di dati attraverso JDBC

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

Dettagli

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

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

Basi di Da( MySQL & MySQL Workbench. Anna Monreale Basi di Da( MySQL & MySQL Workbench Anna Monreale MySQL MySQL è un DBMS gratuito ed open- source (h@p://www.mysql.com) MySQL può essere uilizzato in Windows, Linux, MacOS X. MySQL è un RDBMS (relaional

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

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

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

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

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

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

Connessione ad una fonte di dati ODBC

Connessione ad una fonte di dati ODBC Linguaggio Java JDBC L architettura JDBC: driver, connessione, statement e result set Invio di comandi SQL Transazioni: COMMIT, ROLLBACK e livelli di isolamento Utizzo avanzato dei result set: cenni Connessione

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

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE

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

Dettagli

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

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti

Dettagli

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi

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

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Ingegneria del Software: JDBC. laura.bacci@unipv.it

Ingegneria del Software: JDBC. laura.bacci@unipv.it Ingegneria del Sftware: JDBC laura.bacci@unipv.it Che csa è JDBC Un insieme di API standard per accedere ai database relazinali Separa e nascnde i dettagli dell specific database all applicazine che l

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

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

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura

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

Dettagli

Un esempio di applicazione client / server:

Un esempio di applicazione client / server: LEZIONE DEL 04/11/2008 RIEPILOGO Il nostro obiettivo è imparare a progettare DataBase e applicazioni di DataBase e per fare questo, adottiamo il cosiddetto approccio a 3 livelli: MODELLO CONCETTUALE DIAGRAMMA

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

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

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 Basi di Dati e Multimedia

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

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

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

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

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

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

Università di Roma T or Vergata Facoltà di Ingegneria Corso di Basi di Dati A.A. 2001/2002. Andrea D'Ambrogio , di Basi di Dati 12 novembre 2001 1 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! "#$% &'((%)"**"+

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

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

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) Goy - a.a. 2009/2010 Programmazione Web 1 Informazione persistente Se vogliamo tener traccia

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

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

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

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

Corso breve su automazione d'ufficio

Corso breve su automazione d'ufficio OpenOffice.Org MySQL PHP Corso breve su automazione d'ufficio L'obiettivo di questa dimostrazione è la creazione di una connessione ad una sorgente dati e l'automazione della stessa con un foglio di calcolo

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

Dettagli

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

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

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale

Dettagli

Gestione delle eccezioni in Java

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

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

Java Enterprise Edition - JEE. Autore: Agostino Sorbara ITIS M. M. Milano

Java Enterprise Edition - JEE. Autore: Agostino Sorbara ITIS M. M. Milano Java Enterprise Edition - JEE Autore: Agostino Sorbara ITIS M. M. Milano Indice Introduzione 2 Il modello Client Server. 2 La piattaforma di sviluppo JEE... 3 Application Server... 3 Servlet. 4 JSP (Java

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

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

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

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

JDBC. Java Database Connection. (dal corso dei Servizi Web) Java Database Connection (JDBC) - I. JDBC e ODBC. Java Database Connection (JDBC) - II

JDBC. Java Database Connection. (dal corso dei Servizi Web) Java Database Connection (JDBC) - I. JDBC e ODBC. Java Database Connection (JDBC) - II Java Database Connection Java Database Connection () - I sviluppati per offrireinterfaccia standardizzata tra applicazioni Java ed i database relazionali (RDBMS) package java.sql (dal corso dei Servizi

Dettagli

Introduzione a PostgreSQL

Introduzione a PostgreSQL Introduzione a PostgreSQL Un po di storia... 1977: all Università di Berkeley nasce progetto INGRES 1986: nasce The POSTGRES Project Leader: Prof. Michael Stonebraker 1989: DBMS Postgres (vers.1) 1990:

Dettagli

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

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

Dettagli

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

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 francesca.lisi@uniba.it

Dettagli