JDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione
|
|
- Carmelo Cipriano Masini
- 8 anni fa
- Visualizzazioni
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 = 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 JDBC - Passo 3: Creazione statement 21 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"); } } 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
Interfacce DBMS in breve
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
DettagliAccesso 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
DettagliIntroduzione 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
DettagliJDBC 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
DettagliJDBC. 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
DettagliJDBC 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
DettagliJDBC: 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
DettagliJDBC 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
DettagliCORSO 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
DettagliNon 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
DettagliAccesso alle Basi di Dati
Accesso alle Basi di Dati I Sistemi Informativi hanno il compito di gestire in modo efficiente ed affidabile i dati, mantenuti in una forma strutturata e possibilmente normale. La struttura dei dati viene
DettagliEsercitazione 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
DettagliJava: 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
DettagliPROVA 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
DettagliLaboratorio 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
DettagliCorso 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
DettagliSviluppo 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
DettagliLezione 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
DettagliScheda 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
DettagliBasi 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,
DettagliSiti 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
DettagliCome 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.
DettagliJDBC: 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.
DettagliSQL. 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.
DettagliArchitettura 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
DettagliBasi 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,
DettagliTipi 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
DettagliProgrammazione 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
DettagliDBMS 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
DettagliBasi 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
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione
DettagliUser 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
DettagliEsercitazione 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
DettagliSQL 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
DettagliProgrammazione 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
DettagliAl 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,
DettagliSviluppo 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
DettagliDominio 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
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliData 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
DettagliCorso 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
DettagliLaboratorio 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
DettagliDatabase 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
DettagliIntroduzione. 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
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliLaboratorio 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
DettagliCaricamento 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
DettagliDBMS 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
DettagliIL 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
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliIndice. 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
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliI 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
DettagliSQL 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à,
DettagliDBMS (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
DettagliEsercitazione 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
DettagliInterfaccia 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
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
DettagliEsercitazione 4 JDBC
JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliCapitoli 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
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliSQL. 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
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliConcetti 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
DettagliMySQL Database Management System
MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form
DettagliDBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)
(DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni
DettagliJDBC 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?
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliJDBC. 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:
DettagliBasi 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:
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliPreparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL
Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL
DettagliSQL: 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,
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Dettagli2104 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
DettagliMySQL Database Management System
MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare
DettagliIntroduzione ai Sistemi di Gestione di Basi di Dati XML
Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliProgrammazione Java. Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila.
Programmazione Java Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Introduzione» Risorse» Driver» Contesto Applicativo» SQL» Classi
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliProgetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web
Progetto di Basi di Dati e Multimidia Labtorio Struttura dell applicazione web 1 Introduzione La progettazione è stata sviluppata basandosi sul modello MVC-2 Server Centric. I moduli creati si possono
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliDati relazionali e XML
Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliSQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.
SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
DettagliSQL. Alcune note sulla definizione dei dati
SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliPMF Integration Tools
PMF Integration Tools Strumenti di integrazione di PMF con l infrastruttura del cliente Architettura e modalità di interazione Cliente - documentazione - Redatto da Francesco Buratto Redatto il 01/10/2012
DettagliBasi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
DettagliArchivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
DettagliGestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza
DettagliLa prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete
La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication
DettagliLe query. Lezione 6 a cura di Maria Novella Mosciatti
Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine
Dettagli