JDBC: Java e database.
|
|
- Arianna Di Mauro
- 8 anni fa
- Visualizzazioni
Transcript
1 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. In questa dicitura è racchiusa l essenza dell architettura. JDBC in pratica è una API Java che permette, a partire da un qualsiasi programma scritto in java di accedere ad una sorgente di dati esterna: nella maggior parte dei casi un DBMS relazionale. Quello che ha voluto fare Sun con la creazione di JDBC è stato fornire delle api standard che permettessero l accesso in maniera uniforme a tipi di dati differenti tra loro. In pratica JDBC costituisce una sorta di layer che si interpone tra applicazione e database vero e proprio. Architettura JDBC Le applicazioni infatti che utilizzano JDBC nella maggior parte dei casi sono utilizzabili con differenti tipi di database senza la necessità di particolari modifiche al codice. E naturale però che in fase di progettazione deve essere stata prestata la massima attenzione al fatto che un database supporti o meno certe caratteristiche, predisponendo di conseguenza adeguati meccanismi di gestione degli errori e delle eccezioni. Elevata portabilità quindi e riutilizzo del codice che guarda caso sono proprio due delle caratteristiche vincenti di Java che come sappiamo basa il proprio successo sul paradigma WORE (Write Once Run Everywhere).
2 JDBC svolge il suo lavoro mediante alcune interfacce, le quali vengono implementate da un set di classi specifico per ogni differente tipo di database andando così a costituire il cosiddetto driver JDBC. Il programmatore che vuole scrivere applicazioni che utilizzano i database non si deve in alcun modo preoccupare di come queste classi vengano implementate: a lui interessa usare il driver per interfacciarsi con i dati e poterli così manipolare a proprio piacimento. Ecco quindi che come accennavamo sopra JDBC maschera la struttura e l implementazione di tutto ciò che sta sotto di lui, mostrando una chiara e semplice interfaccia con dei metodi da invocare. Ma cosa permette di fare JDBC? Sostanzialmente un driver JDBC consente di effettuare tre operazioni: 1. stabilire una connessione con una sorgente di dati (un database relazionale per es.) 2. inviare comandi SQL come update, insert, select, etc. 3. elaborare e manipolare i risultati ottenuti Nell accedere ad una basi di dati possiamo individuare sostanzialmente due tipi di architetture o modelli che dir si voglia. Il primo modello è il two-tier model mentre il secondo è il three-tier model. Il two-tier model prevede che l applicazione dialoghi in maniera diretta con il database sottostante. L utente in questa maniera sfruttando il driver JDBC adatto agisce direttamente sulla sorgente di dati. In particolare i comandi dell utente vengono inviati al database il quale ritorna all utente i risultati opportunamente costruiti. E chiaro come questo modello sia l esempio più classico di architettura client/server in cui l host dell utente è il client, mentre la macchina che ospita il database svolge la parte del server. In questo particolare modello proprio perché l interazione con la sorgente di dati è stretta e diretta, l applicazione potrebbe sfruttare eventuali conoscenze sulle specifiche di implementazione del database per migliorare le performance o utilizzare caratteristiche o proprietà non standard. E logico però, che questa pratica, ha anche l immediato svantaggio di limitare fortemente la portabilità e il riuso del codice con sorgenti di dati differenti.
3 Il two-tier model L architettura three-tier model è studiata con lo scopo fondamentale di fornire migliori performance, scalabilità e disponibilità di servizi/controlli aggiuntivi: è per questo che è tipicamente usata per lo sviluppo di applicazioni enterprise. Il three-tier model
4 Come si può chiaramente vedere in figura si possono individuare tre componenti fondamentali: 1. Client tier essa rappresenta lo strato presentazione con il quale l utente interagisce (un browser, una gui di un programma, etc.). Non c è alcuna necessità che questa componente conosca dettagli implementativi del database sottostante. 2. Middle tier server questo strato intermedio comprende tutti quei servizi posti tra base di dati e utente. A questo livello c è la possibilità di controllare e gestire l accesso alla base di dati e altresì gestire in maniera adeguata le risposte provenienti dalla stessa. I servizi aggiuntivi vengono per l appunto forniti da applicazioni di diverso tipo che possono interagire fra loro. 3. Data Source Tier il livello a cui sono collocati i dati veri e propri: il database relazionale o qualsiasi altra sorgente di dati. La cosa fondamentale è che questa base di dati sia accessibile mediante un driver che rispetti le specifiche JDBC. Dopo questa breve analisi si sarà capita l importanza che ha il driver JDBC come intermediario tra utente e dati. Senza driver infatti bisognerebbe di volta in volta scrivere codice (anche molto complicato) che dialoga e lavora con la base di dati. Ciò oltre ad essere improponibile non è spesso possibile, perché richiederebbe una conoscenza dettagliata e approfondita dell implementazione del database con il quale di volta in volta si lavora. Come sappiamo questo non è possibile per la maggior parte dei database commerciali. Ecco quindi che i driver opportunamente implementati (a seconda del diverso db) permettono al programmatore di invocare quei metodi esposti dalle API JDBC e di non preoccuparsi di come queste effettivamente funzionino. Trasparenza prima di tutto!
5 I driver però non sono tutti uguali e possono essere divisi fondamentalmente in quattro categorie: 1. JDBC-ODBC bridge: si tratta in pratica di driver JDBC che fanno da ponte, fornendo accesso ai driver ODBC di Microsoft. 2. Native-API partly Java driver: questi driver convertono le chiamate JDBC nelle corrispondenti chiamate dei client dei relativi DBMS (Oracle, Sybase, Informix, etc.). Questo significa che il driver per effettuare l accesso alla base di dati contiene codice java che invoca metodi nativi C/C++ messi a disposizione dai produttori del database. 3. JDBC-Net pure Java driver: è la soluzione forse più flessibile, visto che consente la connessione a database differenti. Questo perché le chiamate JDBC sono convertite in un protocollo generico, per poi essere riconvertite lato server nelle API specifiche del database. In pratica il client invoca mediante i socket una applicazione middleware sul server che traduce le richieste in base alle specifiche del driver. 4. Native-protocol pure Java driver: questo tipo di driver dialoga direttamente con il DBMS mediante socket, convertendo le chiamate JDBC nel protocollo di rete utilizzato. Si tratta della soluzione tipicamente adottata dagli stessi produttori del database, visto che richiede una conoscenza diretta e approfondita della struttura e dell architettura del DBMS.
6 2.0 ESEMPI INTRODUTTIVI ALL USO DI JDBC In questa sezione cercheremo di vedere attraverso alcuni esempi pratici, con frammenti di codice i passaggi fondamentali che un applicazione dovrebbe seguire (o può seguire) nell accedere a basi di dati mediante l interfaccia JDBC. 2.1 Recuperare una connessione Prima di tutto occorre creare una connessione in maniera da poter dialogare col database, inviando comandi sql e ricevendo risultati delle query o delle update. In questo passaggio sono coinvolte tipicamente una classe (java.sql.drivermanager) e due interfacce (java.sql.driver e java.sql.connection). La prima parte dell operazione prevede il caricamento del Driver che si vuole utilizzare: basta una semplice riga di codice. Nel caso ad esempio del driver per Mysql: Class.forName( com.mysql.jdbc.driver ); Questa semplice istruzione non fa altro che registrare presso un istanza della classe DriverManager (creata mediante l invocazione di questo metodo), il driver specificato. Come è possibile ciò? Basti pensare al fatto che ogni Driver deve contenere una sezione speciale di codice al suo interno detta per l appunto static initializer e che è simile a questa: static { try{ java.sql.drivermanager.registerdriver(new Driver()); } catch (SQLException E) { E.printStackTrace(); } } Come si nota viene invocato il metodo registerdriver() della classe DriverManager. La classe DriverManager ha infatti la funzione di mantenere una lista dei vari driver presenti, che possono essere usati di volta in volta dall applicazione.
7 Oltre al metodo registerdriver(), da segnalare anche deregisterdriver() che consente di rimuovere dalla lista il driver specificato. Per avere infine una lista completa dei driver registrati presso la classe DriverManager basta invocare il metodo DriverManager.getDrivers(). Ora che il driver è registrato e caricato, possiamo passare a negoziare la connessione. Per far questo basta usare una istruzione simile a questa (arricchita in questo caso del controllo delle eccezioni): try { Connection con = DriverManager.getConnection(url_jdbc, username, password); } catch (SQLException exc) { exc.printstacktrace(); } L url jdbc è un parametro molto importante ed è legato al tipo di driver che stiamo utilizzando. Tipicamente ha una sintassi di questo tipo : jdbc:<protocollo>://<hostname o ipaddress>:<numero_porta>/<nome_db> Un esempio concreto potrebbe essere questo (sempre rifacendoci a Mysql): jdbc:mysql:// :3306/utenti Se tutto va a buon fine e non vengono lanciate eccezioni allora significa che la connessione verso il DBMS è stata aperta con successo e ora possiamo inviare statement SQL. 2.2 Inviare comandi SQL al server Ora possiamo creare degli oggetti del tipo Statement o PreparedStatement e inviare al database una serie di comandi SQL, siano essi semplici query o comandi di update come UDPATE, DELETE, INSERT. Prendiamo per esempio il caso di voler creare la nuova tabella STUDENTI. Ogni entry conterrà svariate informazioni, quali nome e cognome, numero di matricola, indirizzo e così via.
8 Vediamo il codice SQL come si presenta: CREATE TABLE Studenti ( username VARCHAR(8) NOT NULL, nome VARCHAR(30) NOT NULL, cognome VARCHAR(30) NOT NULL, VARCHAR(20) NOT NULL, matricola (6) NOT NULL, PRIMARY KEY (matricola)) Questo è un puro e semplice esempio. Ora non ci resta altro da fare che assegnare quel codice che abbiamo scritto poco sopra ad una stringa: String createtablestudenti = codice_sql; Il prossimo passo fondamentale è quello di creare un oggetto Statement che mi permetta di inviare il codice SQL al DBMS. Con gli oggetti Statement sostanzialmente facciamo uso di due metodi: Statement.executeQuery() per inviare le query e ottenere in risposta un ResultSet. Statement.executeUpdate() per inviare comandi di creazione o modifica di tabelle. Per creare un istanza di Statement, sfruttiamo l oggetto Connection, quindi: Statement stmt = con.createstatement(); Una volta fatto questo, dovremmo passare all oggetto il codice SQL da inviare al dbms, nel nostro caso il codice sql definito sopra (la stringa createtablestudenti). Usiamo executeupdate() visto che ci interessa creare una nuova tabella. Stmt.executeUpdate(createTableStudenti); Fatto questo possiamo passare quindi a inserire i dati all interno di questa tabella. Lo possiamo fare semplicemente come segue: stmt.executeupdate( INSERT INTO Studenti + "VALUES ( mrossi, Mario, Rossi, mrossi@unive.it, ')");
9 E chiaro che operazioni del genere possono essere ripetute più volte: nella fattispecie potremmo voler inserire nel database ad esempio una lista di 100 nuovi studenti (iscritti quest anno), i cui dati sono stati recuperati da un apposito file formattato. E chiaro che potremmo tranquillamente studiare, ad esempio un ciclo while con opportuni controlli che legge dal file e inserisci gli studenti mediante operazioni tipo quella che abbiamo visto sopra. Esiste tuttavia una maniera molto più efficace e performante per affrontare situazioni tipo questa: consiste nell usare oggetti di tipo PreparedStatement. La caratteristica principale è per l appunto che oggetti di tipo PreparedStatement, a differenza degli Statement, quando vengono creati viene passato loro in input del codice SQL. Il vantaggio sta nel fatto che il codice SQL in questione viene passato al DBMS, e se questo supporta funzionalità di precompilazione, l oggetto restituito sarà non un semplice statement ma uno statement con codice SQL precompilato. Questo implica che il DBMS non dovrà ricompilarlo una seconda volta nel caso di chiamate del tipo execute() o executequery(). Vediamo come si crea un oggetto di tipo PreparedStatement: PreparedStatement insertstudenti = con.preparestatement( INSERT INTO Studenti VALUES (?,?,?,?,?) ); Come si nota chiaramente al posto di quelli che dovrebbero essere i valori da inserire nel database sono presenti dei punti di domanda che indicano la presenza di parametri che dovranno essere inseriti con opportuni metodi (come vedremo tra breve). Per impostare i parametri mancanti basta fare quanto segue: insertstudenti.setstring(1, mbianchi ); insertstudenti.setstring(2, Marco ); insertstudenti.setstring(3, Bianchi ); insertstudenti.setstring(4, mbianchi@unive.it ); insertstudenti.setstring(5, ); insertstudenti.executeupdate(); I parametri vengono impostati mediante l uso di metodi del tipo setxxx(<numero_colonna>, <valore_da_inserire>);
10 dove XXX dipende sostanzialmente dal tipo di dato da inserire nel dbms, anche in relazione al tipo di dati che questo supporta. Nel nostro caso i VARCHAR corrispondono in pratica al tipo Java String. Infine il tutto viene inviato al database mediante il metodo executeupdate(). E chiaro che non ha molto senso utilizzare i PreparedStatement quando il numero di query/update simili da eseguire sono una o due. Tuttavia quando cominciamo a ragionare in termini di molte operazioni simili, magari sfruttando l uso di cicli for o while, allora l uso dei PreparedStatement è la soluzione ottimale. 2.3 Elaborare e manipolare i risultati ottenuti Finora abbiamo visto per lo più comandi di update o modifica al database. Vediamo invece ora qualche esempio di query sql, che hanno come scopo principale quello di ritornare un tabella o meglio un istanza di ResultSet contenente i dati che soddisfano i criteri specificati all interno della query. Poniamo ad esempio di voler recuperare le informazioni di tutti gli studenti che si chiamano Marco. Ecco come potrebbe essere il codice. String queryname = SELECT * FROM Studenti WHERE nome = Marco ; Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery(queryname); Ora che abbiamo a disposizione un ResultSet, su di questo possiamo lavorare e muoverci consultando i risultati in esso contenuti e eventualmente utilizzarli a nostro piacimento. Pensiamo al resultset proprio come ad una tabella, o anche volendo ad un array bidimensionale composto da colonne e righe per l appunto. Nel caso di una query come quella che abbiamo presentato precedentemente otterremmo un ResultSet simile a questo:
11 username nome cognome matricola mrossi Marco Rossi mivaldi Marco Ivaldi mtorrett Marco Torretta msarpi Marco Sarpi Per spostarci all interno del ResulSet non basta far altro che utilizzare uno dei tanti metodi messi a disposizioni dalle API JDBC. Una cosa importante da ricordare è che quando viene creato il ResultSet il cursore è posizionato non sulla prima riga, ma prima di questa: in un certo senso fuori dal ResultSet stesso. Per questo tipicamente il primo metodo che si invoca è next() che consente di posizionarci sulla prima riga del ResultSet e quindi all interno dello stesso. Spesso per visitare un result set si utilizza un ciclo for o un ciclo while (preferibilmente quest ultimo). while (rs.next()) { String username = rs.getstring("username"); String nome = rs.getstring("nome"); String cognome = rs.getstring("cognome"); String = rs.getstring(" "); String matricola = rs.getstring("matricola"); //altro codice } Per recuperare i dati dal result set si fa uso di funzioni del tipo getxxx in base al tipo di dato memorizzato nel database. Il parametro delle funzioni getxxx può essere a scelta o il numero di colonna del campo da recuperare oppure il nome della colonna stessa. Nel nostro esempio sopra abbiamo utilizzato quest ultima soluzione. Attenzione che quando si fa uso della prima soluzione la numerazione delle colonne parte da 1, a differenza di come siamo abituati a considerare gli array in cui la numerazione sappiamo parte da 0.
12 Esistono molti metodi, che come dicevamo consentono di spostarsi tra le righe del result set. Metodi per il posizionamento assoluto o relativo, metodi che permettono di spostarsi all indietro (invece di next() si usa previous()) e metodi che permettono di posizionarsi direttamente alla prima o all ultima riga del result set o addirittura prima o dopo delle stesse. Questi metodi sono stati fondamentalmente introdotti a partire da JDBC 2.0. Vediamo i più importanti: boolean absolute(int row); void afterlast(); void beforefirst(); boolean first(); boolean isafterlast(); boolean isbeforefirst(); boolean isfirst(); boolean islast(); boolean last(); boolean previous(); boolean relative(); Il fatto che questi metodi possano essere utilizzati o meno dipende anche dal tipo di ResultSet che viene restituito, a seconda ad esempio che sia un result set scorrevole (novità JDBC 2.0) o di tipo forward-only. Questa parte introduttiva all uso di JDBC si conclude.
13 BIBLIOGRAFIA [1] JDBC Data Access API For Driver Writers : [2] JDBC 2.0 Core Api : [3] JDBC 2.0 Standard Extension Api : [4] M. FISHER, J. ELLIS, J. BRUCE. JDBC Api Tutorial and Reference. Third Edition. Addison Wesley, [5] G. REESE. Database Programming with JDBC and Java. Second Edition. O Reilly and Associates, Questo documento può essere liberamente copiato e distribuito da chiunque, ma a nessuno è permesso di cambiarlo in alcun modo. Ogni copia o documento derivato dovrà riportare l'indicazione alla fonte. Qualsiasi commento o suggerimento è benvenuto e può essere inviato al seguente indirizzo: sego@techtown.it. Eventuali correzioni di questa pubblicazione saranno disponibili sul sito internet
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
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 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 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: 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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliProgetto ittorario Anno scol. 2013-2014
PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
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
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
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
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
DettagliJDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione
Interfacce DBMS in breve Corso di BD1 Ripasso comandi applicazione JDBC Manipolazione estensioni OR in JDBC Interfacce per DBMS Problema: Far accedere un applicazione ad una base di dati Soluzione: Librerie
DettagliCorso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati
Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente
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,
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
Dettagli2003.06.16 Il sistema C.R.M. / E.R.M.
2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,
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
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
DettagliControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi
ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,
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
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
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliCostruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query
Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che
DettagliGuida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
DettagliARCHIVI E DATABASE (prof. Ivaldi Giuliano)
ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).
DettagliUso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
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,
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.
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliPresentazione Data Base
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mysql) come supporto Open Source ad un piccolo progetto di Data Base relazionale, e tipicamente ad ogni applicazione non troppo
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
DettagliProgettazione della componente applicativa
7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo
DettagliTransazioni - Parte 1
Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria
DettagliCome modificare la propria Home Page e gli elementi correlati
Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni
DettagliSviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.
Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare
DettagliSDD System design document
UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
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,
DettagliMANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione
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
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliIl calendario di Windows Vista
Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative
DettagliLUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014
LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero
DettagliIn questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.
Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione
DettagliEXPLOit Content Management Data Base per documenti SGML/XML
EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
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
DettagliManuale Utente Albo Pretorio GA
Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate
DettagliLezioni di Laboratorio sui Data Base
Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del
DettagliGHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.
*+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
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.
DettagliDatabase. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16
Database Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Trend attuali CPU sempre più potenti Memorie di massa di dimensioni sempre maggiori Eniac: 180m 2 Memoria: 20 numeri di 10 cifre, meno
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliSistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO
Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Login All apertura il programma controlla che sia stata effettuata la registrazione e in caso negativo viene visualizzato un messaggio.
DettagliUN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database
UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database Per comprendere al meglio cosa sia un database, dobbiamo prima introdurre il concetto di
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
Dettagliuadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda
Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo
Dettagli4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliUtilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni
DettagliArchitetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)
Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.
DettagliInstallazione e caratteristiche generali 1
Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato
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
DettagliFile, Modifica, Visualizza, Strumenti, Messaggio
Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Dettagli2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento
1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliDatabase 1 biblioteca universitaria. Testo del quesito
Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole
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
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
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
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
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)
DettagliArchitetture e applicazioni web
Architetture e applicazioni web L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Cosa è un'applicazione web E' un particolare tipo di applicazione che si appoggia sulle tecnologie,
Dettagli