Interfacce DBMS in breve

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Interfacce DBMS in breve"

Transcript

1 Interfacce DBMS in breve Corso di BD1 Ripasso comandi applicazione JDBC Manipolazione estensioni OR in JDBC 1 Interfacce per DBMS Problema: Far accedere un applicazione ad una base di dati Soluzione: Librerie di funzioni (SQL/CLI) Chi crea queste librerie? Caso 1: Librerie proprietarie del DBMS, applicazione dipendente dal DBMS (es. Oracle Call Interface OCI) Caso 2: Librerie standard, applicazione indipendente dal DBMS 2 1

2 Interfacce per DBMS Sono state quindi definite interfacce standard: ODBC (Open DataBase Connectivity ): scritta in C JDBC (Java Data Base Connectivity): scritta in Java le operazioni supportate sono sostanzialmente le stesse, anche se in JDBC la sintassi è più semplice 3 Architettura di riferimento 4 2

3 JDBC (Java Data Base Connectivity) 5 JDBC (che non è solo un acronimo ma un trademark della SUN) è stato sviluppato nel 1996 dalla Sun Rappresenta una API standard per interagire con basi di dati da un programma Java (grazie a Java c è indipendenza dalla piattaforma) Operazioni possibili: Connessione ad DBMS Creazione ed invio di statement SQL Ricezione e manipolazione del risultato API JDBC Java Applications JDBC API API JDBC Driver Manager API JDBC Driver JDBC Driver 6 DBMS DBMS 3

4 JDBC Driver Manager Livello di gestione Gestisce i driver disponibili, scegliendo quello piu appropriato 7 JDBC - Driver Realizzano la connessione col DBMS Esistono quattro tipi di driver: 1. JDBC-ODBC Bridge + ODBC Driver 2. A native-api partly Java technology-enabled driver 3. Pure Java Driver for Database Middleware -portabili 4. Direct-to-Database Pure Java Driver. -scritti java 8 4

5 JDBC Architettura generale client server Java Application JDBC Driver Manager JDBC/ODBC bridge (1) JDBC/API nativa(2) JDBC/Mid dleware(3) JDBC/ java driver(4) ODBC Driver Native driver DB Middleware 9 DBMS JDBC - Tipi di dato JDBC definisce un insieme di tipi SQL, che vengono poi mappati in tipi Java Gli identificatori sono definiti nella classe java.sql.types 10 5

6 JDBC - Tipi di dato 11 JDBC Types Mapped to Java Types JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.bigdecimal DECIMAL java.math.bigdecimal BIT boolean TINYINT byte SMALLINT short INTE G E R int BIGINT long REAL float FLOAT double DOUBLE double BINARY byte[] VARBINARY byte[] LONGVARBINARY byte[] DATE java.sql.date TIME java.sql.time TIMESTAMP java.sql.timestamp JDBC - Flusso applicativo Passo 1: Caricamento driver JDBC Passo 2: Connessione DBMS Passo 3: Creazione ed esecuzione statement Passo 4: Elaborazione risultato Passo 5: Disconnessione La gestione delle eccezioni è necessaria (SQLException) 12 6

7 JDBC - Connessione Per realizzare la connessione vengono utilizzate le seguenti classi ed interfacce: interfaccia java.sql.driver classe java.sql.drivermanager interfaccia java.sql.connection 13 JDBC-Passo 1: Caricamento driver interfaccia java.sql.driver: Non viene esplicitamente utilizzata a livello applicativo Per registrare driver utilizzati nella connessione 14 7

8 JDBC - Passo 1: Caricamento driver import java.sql.*; //import package 15 class JdbcTest { public static void main (String args []) { Class.forName ("oracle.jdbc.oracledriver"); //caricamento del driver che si intende utilizzare } } JDBC - Passo 2: Connessione classe java.sql.drivermanager Insieme all interfaccia java.sql.driver gestisce i driver disponibili Quando viene istanziato un oggetto Driver viene automaticamente registrato nella classe DriverManager Effettua la connessione al DBMS 16 8

9 JDBC - Passo 2: Connessione interfaccia java.sql.connection: Rappresenta una connessione attiva la DBMS permette di inviare una serie di richieste SQL al DBMS 17 JDBC - Passo 2: Connessione È possibile connettersi a qualunque database, locale e remoto, specificandone l URL In JDBC, l URL è formato da tre parti: jdbc: <subprotocol>: <subname> <subprotocol> identifica il driver o il meccanismo di connessione al database (dipende dal DBMS) <subname> dipende da subprotocol ed identifica lo specifico database (dipende dal DBMS) 18 9

10 JDBC - Passo 2: Connessione-Esempi 19 jdbc:oracle:thin:@everest:1521:gen: subprotocol: Oracle subname: thin specifica che deve essere utilizzato Oracle ODBC Thin driver Everest specifica il nome della macchina 1521: numero porta GEN: nome database Oracle jdbc:mysql://cannings.org:3306/test subprotocol: MySQL subname: cannings.org specifica il nome della macchina 3306 : numero porta test : nome database MySQL se si usa JDBC-ODBC driver: jdbc:odbc:subname JDBC - Passo 2: Connessione La connessione avviene chiamando il metodo getconnection() della classe DriverManager, che restituisce un oggetto di tipo Connection Connection con = DriverManager.getConnection("jdbc:oracle:thin:@lu mpy:1521:dbname", mylogin", mypwd"); Se uno dei driver caricati riconosce l URL fornito dal metodo, il driver stabilisce la connessione 20 10

11 JDBC - Passo 2: Connessione Class JdbcTest { Public static void main (String args []) { Class.forName ("oracle.jdbc.oracledriver"); Connection con= DriverManager.getConnection("jdbc:oracle:thin:@localhost:15 21:dylan", "scott", "tiger"); } } 21 JDBC - Passo 3: Creazione statement Tipi statement: Statement non preparati: il piano di accesso viene generato immediatamente prima dell esecuzione, query semplici SENZA parametri; 22 Statement preparati: la generazione del piano di accesso e l esecuzione sono due fasi distinte Il piano può essere generato una sola volta ed eseguito più volte Utile quando la stessa operazione deve essere eseguita con parametri diversi 11

12 JDBC - Passo 3: Creazione statement non preparati Un oggetto di tipo Statement viene creato a partire da un oggetto di tipo Connection e permette di inviare comandi SQL al DBMS: Connection con; Statement stmt = con.createstatement(); //e overloaded Si noti che l oggetto statement non è ancora associato all istruzione SQL da eseguire Tale istruzione verrà specificata al momento dell esecuzione 23 Uno stesso oggetto Connection puo creare piu oggetti Statement JDBC - Passo 3: Creazione statement preparati Un oggetto di tipo PreparedStatement viene creato a partire da un oggetto di tipo Connection e permette di inviare comandi SQL al DBMS: PreparedStatement queryimp = con.preparestatement( SELECT * FROM IMPIEGATI"); La creazione di uno statement preparato richiede la specifica dello statement che dovrà poi essere eseguito 24 12

13 JDBC - Passo 3: Esecuzione statement non preparati Esistono 3 metodi diversi in base al tipo dello statement SQL query: Query SQL (SELECT): (StatementObj).executeQuery(query) RISULTATO: Oggetto ResultSet Statement di modifica (DML o DDL): (StatementObj).executeUpdate(query) RISULTATO: Numero righe modificate (0 in caso di statement DDL) 25 Statement SQL (non conosciuto a priori) : (StatementObj).execute(query) RISULTATO: true o false JDBC - Passo 3: Esecuzione statement non preparati Per eseguire una query: stmt.executequery( SELECT * FROM IMPIEGATI"); Per eseguire una operazione di aggiornamento (DML), inclusi gli statement DDL: stmt.executeupdate( INSERT INTO IMPIEGATI VALUES ( AB34, Gianni, Rossi, GT67,1500)"); stmt.executeupdate("create TABLE PROVA (CAMPO1 NUMBER) ); 26 13

14 JDBC - Passo 3: Esecuzione statement preparati Esistono 3 metodi diversi in base al tipo dello statement SQL: Query SQL (SELECT): (StatementObj).executeQuery() RISULTATO: Oggetto ResultSet Statement di modifica (DML o DDL): (StatementObj).executeUpdate() RISULTATO: Numero righe modificate (0 in caso di statement DDL) 27 Statement SQL (non conosciuto a priori): (StatementObj).execute() RISULTATO: true o false JDBC - Passo 3: Uso parametri in statement preparati Utilizzando PreparedStatement posso passare parametri ad una query I parametri sono identificati da? I parametri vengono settati mediante: (StatementObj).setXXX(n, value) Dove : -XXX e un tipo Java (String, Byte, Short, ) -n e il numero del parametro? da settare -value e il valore del parametro 28 14

15 JDBC - Passo 3: Uso parametri in statement preparati Esempio: PreparedStatement queryimp = con.preparestatement( SELECT * FROM IMPIEGATI WHERE Nome =? And Cognome=?"); I parametri possono poi essere associati allo statement preparato quando diventano noti. queryimp.setstring(1, Paolo ); // il primo parametro (1) identifica il? che si vuole considerare queryimp.setstring(2, Rossi ); queryimp.executequery(): //esegue lo statement 29 JDBC - Passo 3: Esecuzione statement Il terminatore dello statement (es. ; ) viene inserito direttamente dal driver prima di sottomettere lo statement al DBMS per l esecuzione Metodo (StatementObj).close() fine processamento dello statement e rilascio delle risorse 30 15

16 JDBC - Passo 4: Elaborazione risultato Utilizzo un oggetto ResultSet per ritornare e manipolare il risultato di una query, cioe tabella (soprattutto oggetti Statement) Esempio: String query = " SELECT * FROM IMPIEGATI "; Statement stmt= conn.createstatement(); ResultSet rs = stmt.executequery(query); 31 JDBC - Passo 4: Elaborazione risultato Un oggetto ResultSet mantiene il cursore sulla riga corrente (inizialmente e la prima) 32 Il metodo next() permette di spostarsi nel result set (cursore): while (rs.next()) //ritorna true,false {/* get current row */} li valore di ritorno e false quando non ci sono più tuple da analizzare Esistono altri metodi per muovere il cursore (previous(), first(), ) 16

17 JDBC - Passo 4: Elaborazione risultato Accesso agli attributi con: A) (ResultsetObj).getXXX(column-name) B) (ResultsetObj).getXXX(column-number) Dove: - XXX è il tipo Java nel quale il valore deve essere convertito A) String s = rs.getstring( Cognome"); B) String s = rs.getstring(2); int n = rs.getint(5); 33 Usare getint() per valori numerici, getstring() per char, varchar JDBC - Passo 5: Disconnessione Per risparmiare risorse, può essere utile chiudere gli oggetti di classe Connection, Statement, ResultSet quando non vengono più utilizzati metodo close() la chiusura di un oggetto di tipo Connection chiude tutti gli Statement associati mentre la chiusura di uno Statement chiude ResultSet associati 34 17

18 Utilizzo di funzionalità OR da JDBC Consideriamo JDBC 3 (ma molte estensioni già presenti in JDBC 2) JDBC 3 conforme SQL99, tipi collezione: no MULTISET, solo ARRAY Nuove interfacce per implementare mapping di tipi object relational in tipi Java 35 JDBC - Creazione nuovi tipi Essendo un comando DDL, si utilizza il metodo executeupdate String type = "CREATE TYPE t_indirizzo AS OBJECT (" + "via VARCHAR(50),"+ "numero_civico INTEGER," + "cap INTEGER," + "città VARCHAR(20),"+ "provincia VARCHAR(2),"+ "stato VARCHAR(2))"; 36 Statement st = con.createstatement( ); // non prepared statement st.executeupdate(type); 18

19 JDBC - Manipolazione nuovi tipi 37 Nuove interfacce standard JDBC (solo per tipi standard): STRUCT per mappare ADT REF per mappare valori di tipo riferimento ARRAY per mappare valori di tipo array SQLDATA per semplificare mapping di ADT JDBC - Manipolazione valori nuovi tipi Per ogni interfaccia, il driver JDBC relativo ad un particolare DBMS, specificherà una classe che implementa l interfaccia Questo permette di gestire le eventuali differenze esistenti tra DBMS 38 19

20 JDBC - Tipi semplici Non è introdotta nuova interfaccia Si manipolano utilizzando i metodi del tipo di base Esempio CREATE TYPE id_impiegato AS INTEGER FINAL; Si usano i metodi getint() e setint() per leggere e scrivere campi di tipo id_impiegato 39 JDBC - ADT 40 Le istanze di tipi ADT vengono mappate in istanze di classe Struct Un oggetto di tipo Struct contiene un valore per ogni attributo dell ADT a cui si riferisce I metodi per poter leggere e scrivere valori di attributi con tipo ADT sono ResultSet - getobject(int): per accedere istanza ADT Struct - getattributes(): per accedere le componenti di un istanza (attributi) PreparedStatement - setobject(int, Struct): per settare parametri di tipo ADT 20

21 JDBC - ADT - Esempio type="create TABLE Impiegati ("+ "imp# INTEGER,"+ "nome VARCHAR(20),"+ "cognome VARCHAR(20),"+ "indirizzo t_indirizzo)"; vogliamo attribuire all impiegato con nome= Gianni cognome= Verdi lo stesso indirizzo dell impiegato che ha imp#=12 41 Esempio (continua) String query = select indirizzo from Impiegati where imp# = 12 ; Statement st = con.createstatement(); ResultSet rs = st.executequery(query); rs.next(); Struct indirizzo = (Struct) rs.getobject(1); //si ottiene l istanza Object[ ] ind_attr = indirizzo.getattributes(); //si accedono gli attributi System.out.print( Via + ind_attr[0] + + ind_attr[1] + + ind_attr[2] + + ind_attr[4] + + ind_attr[3]); 42 21

22 Esempio (continua) String up = update Impiegati set indirizzo =? where nome = Verdi ; PreparedStatement pst = con.preparestatement(up); pst.setobject(1, indirizzo); pst.executeupdate( ); 43 Tipi riferimento 44 Le istanze di tipi riferimento (puntatori) vengono mappate in istanze di classe Ref i metodi per poter leggere e scrivere valori di attributi con tipo riferimento sono ResultSet - getref(int): per accedere attributi di tipo riferimento Ref - getobject( ): dato un valore di tipo riferimento, restituisce l oggetto puntato (solo JDBC 3) Ref - setobject(struct): il parametro diventa il nuovo oggetto puntato (solo JDBC 3) PreparedStatement - setref(int, Ref): per settare parametri di tipo riferimento 22

23 Tipi riferimento - Esempio CREATE TYPE t_progetto AS prj# INTEGER, nome VARCHAR(20), descrizione VARCHAR(50), budget INTEGER; CREATE TABLE Progetti of t_progetto; 45 CREATE TABLE Impiegati( imp# INTEGER PRIMARY KEY, nome VARCHAR(50), indirizzo t_indirizzo, assegnamento REF(t_progetto)); Tipi riferimento - Esempio (continua) Si vuole associare il progetto dell impiegato 12 a Verdi e visualizzare le informazioni su tale progetto 46 23

24 Tipi riferimento - Esempio (continua) String query = select assegnamento from Impiegati where imp# = 12 ; Statement st = con.createstatement(); ResultSet rs = st.executequery(query); rs.next(); 47 Tipi riferimento - Esempio (continua) Ref assegn_ref = rs.getref(1); //si ottiene l identificatore String update = update impiegati set assegnamento =? where nome = Verdi ; PreparedStatement pst = con.preparestatement(update); pst.setref(1,assegn_ref); pst.executeupdate( ); 48 Struct progetto = (Struct) assegn_ref.getobject( ); Object [ ] prog_attr = progetto. getattributes(); System.out.print(ind_attr[0] + + ind_attr[1] + + ind_attr[2] ind_attr[3]); 24

25 49 Tipi array Le istanze di tipi SQL Array vengono mappate in istanze di classe Array I metodi per poter leggere e scriverevaloridiattributiditipo array sono ResultSet - getarray(): per accedere attributi di tipo array (restituisce un puntatore all istanza) Array - getarray( ): permette di copiare i dati contenuti nell array in strutture locali al programma Array - getresultset (): restituisce un result set che contiene una tupla per ogni elemento dell array, con due colonne. La prima contiene l indice (partendo da 1), la seconda il valore PreparedStatement - setarray(int,array): per settare parametri di tipo Array Tipi array - Esempio CREATE TABLE Impiegati( imp# INTEGER, nome VARCHAR(50), indirizzo t_indirizzo, competenze VARCHAR(20) ARRAY[10]); si vogliono stampare tutte le competenze dell impiegato

26 Tipi array - Esempio (continua) String query = select competenze from Impiegati where imp# = 12 ; Statement st = con.createstatement(); ResultSet rs = st.executequery(query); rs.next(); Array comp = rs.getarray(1); //restituisce un puntatore all array String [ ] comp_arr = (String [ ]) comp.getarray( ); for (int i = 0; i < comp_arr.length(); i++) System.out.print(comp_arr[i]) 51 Tipi collezione Varray tipo array il driver potrà eventualmente utilizzare la classe Array anche per gestire altri tipi collezione in JDBC le nested table di Oracle si mappano in oggetti di tipo Array 52 26

27 SQL Data 53 Interfaccia ogni classe che implementa SQLData permette di definire un mapping esplicito tra un tipo SQL e una classe Java casting definito esplicitamente dall utente semplifica l accesso agli oggetti strutturati la lettura di un oggetto restituisce un istanza della classe associata dal mapping non si devono piu utilizzare Struct e Object non lo vediamo 27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

Basi di Dati Esercitazione JDBC. Giugno 2007

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

Dettagli

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

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

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

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

Testing delle classi. MySQL DBMS

Testing delle classi. MySQL DBMS Testing delle classi Corso di Principi di Progettazione del Software, a.a. 2015/16 17 novembre 2015 Ing. Roberto Vergallo 1 MySQL DBMS MySQL Community Server http://www.mysql.it/downloads/mysql/5.1.html

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

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

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

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

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

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

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

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

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

Dettagli

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

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

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

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

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

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

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

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

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

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1 BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

Corso di Laboratorio di Applicazioni Informatiche. Progetti di Basi di Dati a.a. 2008-9

Corso di Laboratorio di Applicazioni Informatiche. Progetti di Basi di Dati a.a. 2008-9 Corso di Laboratorio di Applicazioni Informatiche Progetti di Basi di Dati a.a. 2008-9 Outline Obbiettivi Tecnologie Struttura di un progetto Esempi Deadlines Conlusioni Obbiettivi Applicare le conoscenze

Dettagli

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito.

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito. SQL Server 2008 Introduzione all uso di SQL Server 2008 Dutto Riccardo http://dbdmg.polito.it SQL Server 2008 Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL Server Business

Dettagli

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1 SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

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

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

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

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

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

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

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

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

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

Dettagli

SQL da programma. Il problema

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

Dettagli

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

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa

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

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

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

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

RDBMS: panorama attuale. RDBMS: panorama attuale

RDBMS: panorama attuale. RDBMS: panorama attuale RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni

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

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

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

Dettagli

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

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

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

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

Guida Metodologica Accesso ai Dati Oracle da Java

Guida Metodologica Accesso ai Dati Oracle da Java Controllo delle copie Il presente documento, se non preceduto dalla pagina di controllo identificata con il numero della copia, il destinatario, la data e la firma autografa del Responsabile della Qualità,

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli

Tipi MULTISET: accesso

Tipi MULTISET: accesso Tipi MULTISET: accesso Poiche non e previsto un ordine tra gli elementi un accesso diretto come quello visto per gli array non e possibile E necessario utilizzare funzioni ad hoc Tali funzioni possono

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

Basi di Dati e Sistemi Informativi. Database NoSQL. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Database NoSQL. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale NoSQL (Not Only SQL) I principali metodi d implementazione dei database NoSQL sono i seguenti: Column Store/Column Family

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

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

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

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

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

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

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

Dettagli

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

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi Uso degli oggetti Uso di oggetti predefiniti attraverso l'invio di messaggi. Il concetto di metodo; argomenti e restituzione di valori; segnatura e prototipo di un metodo. Il concetto di overloading. Le

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

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

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

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

Java e i database. Che cosa sono i database?

Java e i database. Che cosa sono i database? 2001 proprietà di MokaByte s.r.l. tutti i diritti riservati è vietata la riproduzione non autorizzata anche parziale Java e i database DI NICOLA VENDITTI Che cosa sono i database? Ogni giorno nel mondo

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

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