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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 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 1 2 Interfacce per DBMS Architettura di riferimento 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 4 JDBC (Java Data Base Connectivity) API JDBC 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 6 Java Applications JDBC API API JDBC Driver Manager API JDBC Driver JDBC Driver DBMS DBMS 1

2 JDBC Driver Manager JDBC - Driver Livello di gestione Gestisce i driver disponibili, scegliendo quello piu appropriato 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 4. Direct-to-Database Pure Java Driver. -portabili -scritti java 7 8 JDBC Architettura generale JDBC - Tipi di dato client server JDBC/ODBC bridge (1) Java Application JDBC Driver Manager JDBC/API nativa(2) JDBC/Mid dleware(3) JDBC/ java driver(4) JDBC definisce un insieme di tipi SQL, che vengono poi mappati in tipi Java Gli identificatori sono definiti nella classe java.sql.types ODBC Driver Native driver DB Middleware 9 DBMS JDBC - Tipi di dato 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.tim e TIMESTAMP java.sql.tim estamp 12 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) 2

3 JDBC - Connessione JDBC-Passo 1: Caricamento driver Per realizzare la connessione vengono utilizzate le seguenti classi ed interfacce: interfaccia java.sql.driver interfaccia java.sql.driver: Non viene esplicitamente utilizzata a livello applicativo classe java.sql.drivermanager Per registrare driver utilizzati nella connessione interfaccia java.sql.connection JDBC - Passo 1: Caricamento driver 15 import java.sql.*; //import package class JdbcTest { public static void main (String args []) { Class.forName ("oracle.jdbc.oracledriver"); //caricamento del driver che si intende utilizzare } } 16 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 interfaccia java.sql.connection: Rappresenta una connessione attiva la DBMS permette di inviare una serie di richieste SQL al DBMS È 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)

4 -Esempi 19 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 20 La connessione avviene chiamando il metodo getconnection() della classe DriverManager, che restituisce un oggetto di tipo Connection Connection con = mpy:1521:dbname", mylogin", mypwd"); Se uno dei driver caricati riconosce l URL fornito dal metodo, il driver stabilisce la connessione JDBC - Passo 3: Creazione statement 21 Class JdbcTest { Public static void main (String args []) { Class.forName ("oracle.jdbc.oracledriver"); Connection con= 21:dylan", "scott", "tiger"); } } 22 Tipi statement: Statement non preparati: il piano di accesso viene generato immediatamente prima dell esecuzione, query semplici SENZA parametri; 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 JDBC - Passo 3: Creazione statement non preparati JDBC - Passo 3: Creazione statement preparati 23 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 Uno stesso oggetto Connection puo creare piu oggetti Statement 24 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 4

5 JDBC - Passo 3: Esecuzione statement non preparati JDBC - Passo 3: Esecuzione statement non preparati 25 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) Statement SQL (non conosciuto a priori) : (StatementObj).execute(query) RISULTATO: true o false 26 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) ); JDBC - Passo 3: Esecuzione statement preparati JDBC - Passo 3: Uso parametri in statement preparati 27 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) Statement SQL (non conosciuto a priori): (StatementObj).execute() RISULTATO: true o false 28 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 JDBC - Passo3: Usoparametriin statement preparati JDBC - Passo 3: Esecuzione statement 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 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

6 JDBC - Passo 4: Elaborazione risultato JDBC - Passo 4: Elaborazione risultato 31 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); 32 Un oggetto ResultSet mantiene il cursore sulla riga corrente (inizialmente e la prima) 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ù tupledaanalizzare Esistono altri metodi per muovere il cursore (previous(), first(), ) JDBC - Passo 4: Elaborazione risultato JDBC - Passo 5: Disconnessione 33 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); Usare getint() per valori numerici, getstring() per char, varchar 34 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 Utilizzo di funzionalità OR da JDBC JDBC - Creazione nuovi tipi 35 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 36 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))"; Statement st = con.createstatement( ); // non prepared statement st.executeupdate(type); 6

7 JDBC - Manipolazione nuovi tipi JDBC - Manipolazione valori 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 38 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 JDBC - Tipi semplici JDBC - ADT 39 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 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 JDBC -ADT -Esempio Esempio (continua) 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 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]);

8 Esempio (continua) Tipi riferimento 43 String up = update Impiegati set indirizzo =? where nome = Verdi ; PreparedStatement pst = con.preparestatement(up); pst.setobject(1, indirizzo); pst.executeupdate( ); 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 Tipi riferimento - Esempio Tipi riferimento - Esempio (continua) CREATE TYPE t_progetto AS prj# INTEGER, nome VARCHAR(20), descrizione VARCHAR(50), budget INTEGER; Si vuole associare il progetto dell impiegato 12 a Verdi e visualizzare le informazioni su tale progetto CREATE TABLE Progetti of t_progetto; 45 CREATE TABLE Impiegati( imp# INTEGER PRIMARY KEY, nome VARCHAR(50), indirizzo t_indirizzo, assegnamento REF(t_progetto)); 46 Tipi riferimento - Esempio (continua) Tipi riferimento - Esempio (continua) String query = select assegnamento from Impiegati where imp# = 12 ; Statement st = con.createstatement(); ResultSet rs = st.executequery(query); 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( ); 47 rs.next(); 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]); 8

9 Tipi array Le istanze di tipi SQL Array vengono mappate in istanze di classe Array I metodi per poter leggere e scrivere valori di attributi di tipo 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 12 Tipi array - Esempio (continua) Tipi collezione 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]) 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 oggettiditipoarray 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 9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sviluppo di applicazioni per basi di dati

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

Dettagli

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

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

Dettagli

Basi di Dati Esercitazione JDBC. Giugno 2007

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico

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

Dettagli

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

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

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

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

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

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

Dettagli

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

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

Dettagli

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

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

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

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

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

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

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

Dettagli

SQL e linguaggi di programmazione 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

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

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

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

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

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

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

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

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

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

User Tools: DataBase Manager

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

Dettagli

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

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

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

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

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

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

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

Dettagli

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

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

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

APPENDICE. Procedure in SQL (1)

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

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

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

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

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

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

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

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

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

Database e reti. Piero Gallo Pasquale Sirsi

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

Dettagli

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

Aspetti relazionali ad oggetti di Oracle 9i. Il sistema di tipi di Oracle. Tipi oggetto

Aspetti relazionali ad oggetti di Oracle 9i. Il sistema di tipi di Oracle. Tipi oggetto Aspetti relazionali ad oggetti di Oracle 9i 158 Il sistema di tipi di Oracle Non distinct type Tipi oggetto Tipi riferimento Tipi collezione Ereditarietà 159 Tipi oggetto Possibilità di definire tipi oggetto

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

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

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

Dettagli

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

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

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

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

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

Dettagli

JDBC Matteo Magnani, Danilo Montesi Università di Bologna. Dati relazionali e JAVA: API JDBC

JDBC Matteo Magnani, Danilo Montesi Università di Bologna. Dati relazionali e JAVA: API JDBC Dati relazionali e JAVA: API JDBC 1 Obiettivi Impareremo a utilizzare l API JDBC, che permette a un programma scritto in Java di connettersi e manipolare dati relazionali. Motivazioni della nascita di

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

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

FileMaker 12. Guida ODBC e JDBC

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

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

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

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

Dettagli

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