Tecnologie Web T Gestione delle Transazioni e Livelli di Isolamento
|
|
- Vittorio Gioia
- 8 anni fa
- Visualizzazioni
Transcript
1 Tecnologie Web T Gestione delle Transazioni e Livelli di Isolamento Home Page del corso: Versione elettronica: 4.03.Transazioni.pdf Versione elettronica: Transazioni-2p.pdf 1 Introduzione Caratteristica di base delle nostre applicazioni Web è quella di avere un elevato numero di utenti che accedono, anche in maniera concorrente, ai dati (base di dati) verso i quali si interfacciano Il sistema di gestione dei dati (DBMS) deve garantire affidabilità e prestazioni la base di dati deve essere sempre in uno stato consistente La gestione della concorrenza e della affidabilità nell'accesso ai dati è una delle proprietà fondamentali che ci offrono i moderni DBMS Un concetto cardine è quello di transazione 2 1
2 Transazioni Informalmente, una transazione è una sequenza di operazioni che può concludersi con un successo o un insuccesso in caso di successo: il risultato delle operazioni deve essere permanente in caso di insuccesso: si deve tornare allo stato precedente all'inizio della transazione 3 Definizione di transazione Transazione parte di programma caratterizzata da un inizio (begintransaction, start transaction in SQL), una fine (end-transaction, non esplicitata in SQL) e al cui interno deve essere eseguito una e una sola volta uno dei seguenti comandi: commit work per terminare correttamente rollback work per abortire la transazione Un sistema transazionale (OLTP) è in grado di definire ed eseguire transazioni per conto di un certo numero di applicazioni concorrenti 4 2
3 Applicazioni e transazioni L'esecuzione di un programma può essere visto come una sequenza di transazioni (eventualmente intervallate da operazioni non relative ai dati) begin T1 AZIONI TRANSAZIONE T1 PROGRAMMA APPLICATIVO end T1 begin T2 AZIONI TRANSAZIONE T2 end T2 5 Una transazione SQL Esempio: trasferimento di 10 unità dal conto al conto start transaction; update ContoCorrente set Saldo = Saldo + 10 where NumConto = 12202; update ContoCorrente set Saldo = Saldo - 10 where NumConto = 42177; commit work; 6 3
4 Una transazione con varie decisioni Esempio: trasferimento di 10 unità dal conto al conto con il controllo che il saldo del cc da cui si preleva sia positivo start transaction; update ContoCorrente set Saldo = Saldo + 10 where NumConto = 12202; update ContoCorrente set Saldo = Saldo 10 where NumConto = 42177; select Saldo as A from ContoCorrente where NumConto = 42177; if (A>=0) then commit work; else rollback work; 7 Il concetto di transazione Una definizione più precisa di transazione: unità di elaborazione che gode delle proprietà "ACIDE" (ACID): Atomicità Consistenza Isolamento Durabilità (persistenza) 8 4
5 ACID: Atomicità Una transazione è una unità atomica (tutto o niente) di elaborazione È fondamentale per garantire l'integrità dei dati Se qualcosa va storto il sistema deve essere in grado di annullare tutti i cambiamenti fatti a partire dall'inizio della transazione La base di dati non può essere lasciata in uno stato intermedio un guasto o un errore prima del commit debbono causare l'annullamento (UNDO) delle operazioni svolte un guasto o errore dopo il commit non deve avere conseguenze Esito Commit = caso "normale" e più frequente Abort (o rollback) richiesto dall'applicazione = suicidio richiesto dal sistema (violazione dei vincoli, concorrenza, incertezza in caso di fallimento) = omicidio 9 ACID: Consistenza La transazione rispetta i vincoli di integrità Conseguenza: se lo stato iniziale è corretto anche lo stato finale è corretto 10 5
6 ACID: Isolamento La transazione non risente degli effetti delle altre transazioni concorrenti l'esecuzione concorrente di una collezione di transazioni deve produrre un risultato che si potrebbe ottenere con una esecuzione sequenziale Conseguenza: una transazione non espone i suoi stati intermedi 11 ACID: Durabilità (Persistenza) Gli effetti di una transazione andata in commit non vanno perduti ("durano per sempre"), anche in presenza di guasti Commit significa impegno 12 6
7 Controllo di concorrenza Se la proprietà di isolamento non è completamente soddisfatta, due (o più) transazioni effettuate su un database consistente possono portare il database in uno stato inconsistente Due azioni sullo stesso oggetto si dicono essere in confitto se almeno una delle due è una operazione di scrittura Date due transazioni T1 e T2 in conflitto, si possono verificare tre tipologie di situazioni anomale conflitto Write-Read (W-R): T2 legge un dato precedentemente scritto da T1 conflitto Read-Write (R-W): T2 scrive un dato precedentemente letto da T1 conflitto Write-Write (W-W): T2 scrive un dato precedentemente scritto da T1 13 Conflitti WR: Reading uncommitted data Si può verificare una anomalia se una transazione T2 legge un dato che è stato modificato da una transazione T1 non ancora conclusa (quindi uncommitted) In particolare questa situazione può generare letture sporche 14 7
8 Lettura sporca t 1 traferisce 100 da A a B t 2 incrementa sia A che B del 6% N.B. Assumiamo sempre un begin of transaction (BOT ) come prima operazione di ogni transazione 15 Lettura sporca supponiamo che sia A che B all'inizio valgano 1000: con una esecuzione seriale t 1 t 2 t 1 t 2 tempo r 1 (A) A = A w 1 (A) r 1 (B) B = B w 1 (B) commit r 2 (A) A = A * 1.06 w 2 (A) r 2 (B) B = B * 1.06 w 2 (B) commit A = 900*1.06 = 954 B = 1100*1.06 = 1166 A+B=
9 Lettura sporca supponiamo che sia A che B all'inizio valgano 1000: con una esecuzione seriale t 2 t 1 t 1 t 2 tempo r 1 (A) A = A w 1 (A) r 1 (B) B = B w 1 (B) commit r 2 (A) A = A * 1.06 w 2 (A) r 2 (B) B = B * 1.06 w 2 (B) commit A = 960 B = 1160 A+B = Lettura sporca supponiamo che sia A che B all'inizio valgano 1000: con esecuzione concorrente di t 2 t 1 t 1 t 2 tempo r 1 (A) A = A w 1 (A) r 1 (B) B = B w 1 (B) commit r 2 (A) A = A * 1.06 w 2 (A) r 2 (B) B = B * 1.06 w 2 (B) commit t 2 ha letto uno stato intermedio ("sporco") A = 954 B = 1160 NB: alla fine qualcuno ci ha perso... e il totale cambia: chi ha guadagnato? 18 9
10 Conflitti RW: Unrepeatable read Si possono verificare diverse anomalie se una transazione T2 cambia il valore di un dato che è stato letto da una transazione T1 mentre T1 è ancora in esecuzione In particolare, questa situazione può generare: perdita di aggiornamento, lettura inconsistente (unrepeatable read) 19 Letture inconsistenti t 1 legge due volte x : t 1 t 2 tempo r 1 (x) r 1 (x) commit r 2 (x) x = x + 1 w 2 (x) commit t 1 legge due valori diversi per x! 20 10
11 Perdita di aggiornamento Due transazioni identiche: t 1 : r(x), x = x + 1, w(x) t 2 : r(x), x = x + 1, w(x) Inizialmente x=2; dopo una esecuzione seriale x=4 Una esecuzione concorrente: tempo t 1 t 2 r 1 (x) x = x + 1 w 1 (x) commit r 2 (x) x = x + 1 w 2 (x) commit Un aggiornamento viene perso: x = 3 21 Conflitti WW: Overwriting uncommitted data Si possono verificare anomalie se una transazione T2 sovrascrive il valore di un dato che è già stato modificato da una transazione T1, mentre T1 è ancora in esecuzione questa situazione può generare effetti fantasma 22 11
12 Effetti fantasma vincolo: x+y+z=1000 tempo t 1 t 2 sum = 0 read(x) sum = sum + x read(y) sum = sum + y read(z) sum = sum + z commit read(y) y = y write(y) read(z) z = z write(z) commit T1 calcola in maniera errata la somma di x, y, z (supponiamo T2 stia spostando soldi dal conto y al conto z: il totale di cassa non cambia per T1 invece si!) 23 Gestione di transazioni mediante lock I DBMS per evitare anomalie nelle transazione concorrenti usano diverse tecniche Una delle più comuni è basata su lock Il lock è un meccanismo che blocca l'accesso ai dati ai quali una transazione accede ad altre transazioni lock a livello di riga, tabella, database lock in operazioni di scrittura/lettura Quando una risorsa è bloccata, le transazioni che ne richiedono l'accesso vengono messe in coda quindi devono aspettare (che il lock sia rimosso) In sostanza, questo è un meccanismo efficace, ma influisce sulle prestazioni 24 12
13 Livelli di isolamento Idealmente vorremmo avere sempre garantita la proprietà di isolamento delle transazioni Ma questa proprietà ha dei costi che possono limitare le prestazioni del sistema I DBMS offrono diversi livelli di isolamento: maggiori restrizioni, minori prestazioni Il programmatore deve conoscere i livelli di isolamento e scegliere quello sufficiente ai propri obiettivi 25 Livelli di isolamento SQL SERIALIZABLE assicura che la transazione T legge solo cambiamenti fatti da transazioni concluse nessun valore letto o scritto da T verrà cambiato da altre transazione finché T non è conclusa se T legge un insieme di valori acceduti secondo qualche condizione di ricerca, l'insieme non viene modificato da altre transazione finché T non è conclusa REPEATABLE READ assicura che la transazione T legge solo cambiamenti fatti da transazioni concluse nessun valore letto o scritto da T verrà cambiato da altre transazione finché T non è conclusa READ COMMITTED assicura che la transazione T legge solo cambiamenti fatti da transazioni concluse T non vede nessun cambiamento eventualmente effettuato da transazioni concorrenti non concluse tra i valori letti all'inizio di T READ UNCOMMITTED a questo livello di isolamento una transazione T può leggere modifiche fatte ad un oggetto da un transazione in esecuzione; ovviamente l'oggetto può essere cambiato mentre T è in esecuzione. Quindi T è soggetta a effetti fantasma 26 13
14 Livelli di isolamento SQL Il livello di isolamento può essere scelto per ogni transazione read uncommitted permette letture sporche, letture inconsistenti, aggiornamenti fantasma e inserimenti fantasma read committed evita letture sporche ma permette letture inconsistenti, aggiornamenti fantasma e inserimenti fantasma repeatable read evita tutte le anomalie esclusi gli inserimenti fantasma serializable evita tutte le anomalie Nota: la perdita di aggiornamento è sempre evitata Inoltre le transazioni possono essere definite read-only 27 Livelli di isolamento e anomalie livello di isolamento lettura sporca lettura inconsistente effetto fantasma READ UNCOMMITTED READ COMMITTED REPEATABLE READ può verificarsi può verificarsi può verificarsi NO può verificarsi può verificarsi NO NO può verificarsi SERIALIZABLE NO NO NO 28 14
15 Transazioni in SQL START TRANSACTION SET TRANSACTION ISOLATION LEVEL livello istruzioni SQL COMMIT 29 Transazioni in JDBC Scelta della modalità delle transazioni: un metodo definito nell'interfaccia Connection: setautocommit(boolean autocommit) connection.setautocommit(true) (default) "autocommit ": ogni operazione è una transazione connection.setautocommit(false) gestione delle transazioni da programma connection.commit() connection.rollback() N.B. non c'èstart transaction 30 15
16 JDBC e livelli di isolamento Il metodo settransactionisolation() permette di modificare il livello di isolamento delle transazioni Riceve un parametro intero che può assumere uno dei valori costanti definiti nella interfaccia Connection TRANSACTION_NONE: le transazioni non vengono supportate. Passare questo parametro a settransactionisolation() è equivalente ad una chiamata al metodo setautocommit(true) TRANSACTION_READ_UNCOMMITTED: nessun livello di isolamento è garantito, quindi possono presentarsi tutte le anomalie 31 JDBC e livelli di isolamento TRANSACTION_READ_COMMITTED: vengono prevenute solo le letture sporche. Le altre anomalie possono ancora presentarsi TRANSACTION_REPEATABLE_READ: possono presentarsi solo inserimenti fantasma TRANSACTION_SERIALIZABLE: è il massimo livello di isolamento. Nessuna anomalia può presentarsi 32 16
17 Esempio transazioni con JDBC public void evadiordine (int codprodotto, String idordine, int qnt, Connection con) throws PersistenceException { try { try { con.setautocommit(false); con.setautocommit(false); con.settransactionlevel(connection.transaction_repeatable_read); PreparedStatement PreparedStatement updateprod updateprod = = con.preparestatement("update prodotti SET quantita=(quantita -?) WHERE codiceprodotto =? "); updateprod.setint(1, updateprod.setint(1, codprodotto); codprodotto); updateprod.setint(2, updateprod.setint(2, qnt); qnt); PreparedStatement PreparedStatement updateord = updateord = con.preparestatement("update con.preparestatement("update ordini SET ordini stato = SET 'evaso' stato where = 'evaso' idordine=?"); where idordine=?"); updateord.setint(1, updateord.setint(1, idordine); idordine); int nprod = int prepareprod.executeupdate(); nprod = prepareprod.executeupdate(); int nord = int prepareord.executeupdate(); nord = prepareord.executeupdate(); if (nprod+nord if (nprod+nord!= 2)!= 2) con.rollback(); con.rollback(); else else con.commit(); con.commit(); } catch (SQLException ex) { try } catch { (SQLException ex) { con.rollback(); try { con.rollback(); throw new PersistenceException("Transaction failed: " + ex.getmessage()); throw new PersistenceException("Transaction failed: " + ex.getmessage()); } catch (SQLException sqx) { } catch (SQLException sqx) { throw new PersistenceException("Rollback failed: sqx.getmessage()); throw new PersistenceException("Rollback failed: " + sqx.getmessage()); } } } 33 JDBC e livelli di isolamento Attenzione: non tutti i DBMS supportano le transazioni e non tutti quelli che le supportano permettono l'impostazioni di tutti i livelli di isolamento previsti da JDBC È compito del programmatore che usa l'api JDBC verificare le effettive capacità del DBMS in uso A tal fine l'interfaccia Connection mette a disposizione il metodo getmetadata(), che restituisce un oggetto DatabaseMetaData 34 17
18 JDBC e livelli di isolamento L'interfaccia DatabaseMetaData offre metodi per reperire informazioni sul DBMS In particolare, per verificare il supporto alle transazioni, abbiamo i metodi: supportstransactions(): restituisce true se le transazioni sono supportate dal database, false se non lo sono. In questo ultimo caso, il metodo commit() non esegue alcuna operazione e il livello di isolamento è sempre TRANSACTION_NONE supportstransactionisolationlevel(int): permette di sapere se il DBMS supporta il livello di isolamento passato come parametro (secondo le costanti definite dall'interfaccia Connection nella slide precedente) 35 JDBC e livelli di isolamento import java.sql.*; public class TransactionCapabilities { public static void main(string[] args) throws SQLException { try { Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); } catch(classnotfoundexception e) { System.err.println("Driver non trovato"); } String url = "jdbc:db2:tw_stud"; Connection con = null; try { con = DriverManager.getConnection(url, ******", ******"); }catch(sqlexception e){ System.err.println("Connessione non restituita"); } try { DatabaseMetaData dbmetadata = con.getmetadata(); if (dbmetadata.supportstransactions()) System.out.println("tranzazioni supportate"); if (dbmetadata.supportstransactionisolationlevel(connection.transaction_read_uncommitted)) System.out.println("TRANSACTION_READ_UNCOMMITTED"); if (dbmetadata.supportstransactionisolationlevel(connection.transaction_read_committed)) System.out.println("TRANSACTION_READ_COMMITTED"); if (dbmetadata.supportstransactionisolationlevel(connection.transaction_repeatable_read)) System.out.println("TRANSACTION_REPEATABLE_READ"); if (dbmetadata.supportstransactionisolationlevel(connection.transaction_serializable)) System.out.println("TRANSACTION_SERIALIZABLE"); } catch(sqlexception e){ System.err.println("Errori lettura metadati"); } finally { con.close(); } } } 36 18
19 Limiti di JDBC JDBC rappresenta una buona soluzione per la gestione di transazioni che manipolano un unico DB, ovvero che coinvolgono una unica Connection! In sistemi che manipolano dati appartenenti a diversi DB, ogni unità di lavoro richiede l accesso a più di una risorsa in questi casi non è possibile garantire la propietà ACID di atomicità con JDBC! Occorre un transaction manager in grado di gestire diverse sorgenti dati (DB) in un unico sistema transazionale 37 Java Transaction API (JTA) Java Transaction API (JTA) fornisce un servizio per la gestione di transazioni distribuite per la piattaforma J2EE Una transazione distribuita coinvolge un transaction manger e uno o più resource manger (ovvero qualunque tipo di datastore persistente) Il transaction manger è responsabile del coordinamento di tutti i partecipanti alla transazione 38 19
20 JTA JTA permette l interazione con lo sviluppatore mediante l interfaccia javax.transaction.usertransaction e i metodi begin(), commit() e rollback() Starting a transaction with JTA: Example import javax.transaction.*; import javax.naming.*; //... UserTransaction utx = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction"); utx.begin(); //... DataSource ds = obtainxadatasource(); Connection conn = ds.getconnection(); pstmt = conn.preparestatement("update MOVIES..."); pstmt.setstring(1, "Spinal Tap"); pstmt.executeupdate(); //... utx.commit(); // Transazioni e Hibernate Come visto nelle precedenti lezioni, Hibernate astrae dalle API JDBC/JTA sottostanti livello di applicazione può essere trasparente a questi dettagli Hibernate espone l interfaccia org.hibernate.transaction che permette di lavorare on top a JDBC e JTA Rappresenta la demarcazione unificata delle transazioni Compatibile sia a JDBC che a JTA Il maggior beneficio di Hibernate rispetto a JDBC e JTA è di permettere stretta integrazione con il contesto di persistenza Es. flush automatico di Session al commit 40 20
21 Transazioni e Hibernate: Esempio import java.util.*; import org.hibernate.*; import persistence.hibernateutil; //... //First unit of work Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = session.begintransaction(); User user = new User("pippo"); String userid = (String) session.save(user); tx.commit(); session.close(); // Hibernate Come già sappiamo, l interfaccia principale di Hibernate è Session All'apertura di un nuovo oggetto della classe Session metodo opensession()della classe SessionFactory viene creata una nuova connessione JDBC con la base di dati di default, Hibernate imposta l'autocommit a false ; dunque comincia a tutti gli effetti una transazione JDBC 42 21
22 Hibernate Una Session Hibernate si dice essere pigra ; questo è un punto a favore di Hibernate La Session non consuma alcuna risorsa fino a che le stesse non sono strettamente necessarie Solo all inizio di una transazione viene resa disponibile una Connection dal pool di connessioni La chiamata begintransaction() si traduce in setautocommit(false) nella Connection JDBC corrispondente 43 Hibernate Il blocco di statement SQL di una transazione sono eseguiti seguendo la regola il più tardi possibile (write-behind ), ovvero al flushing del contesto di persistenza della Session Ciò accade di default al commit() di Transaction Dopo il commit (o il roll-back) della transazione la connessione è rilasciata e unbound dalla Session L inizio di una nuova transazione con la stessa Session necessita di una nuova connessione dal pool di connessioni disponibili 44 22
23 Locking ottimistico di sessione In caso di accesso concorrente, affinché non occorrano anomalie di tipo lost-update, Hibernate prevede la possibilità di abilitare un meccanismo di locking ottimistico tale che nel momento in cui viene invocato il flushing, verifica se la porzione della base di dati che sarà modificata non sia cambiata se è cambiata lancia una eccezione StaleObjectStateException Per abilitare il locking ottimistico, nell'elemento class del file di mapping relativo alla classe su cui verte la modifica, è necessario definire l'attributo optimisticlock pari a all 45 Long-lived transactions Tra il momento in cui si leggono i dati dal DB ed il momento in cui eventuali modiche si rendono persistenti può trascorrere molto tempo Hibernate applica il pattern session-per-conversation: è necessario disabilitare il flushing automatico chiamando il metodo setflushmode(flushmode.manual) quando la sessione è aperta l'isolamento è garantito in quanto, abilitando il locking ottimistico, le modiche fatte in transazioni concorrenti sono riconosciute l'atomicità è garantita dal fatto che il flushing viene eseguito solo al termine della transazione, e se la sessione viene chiusa senza fare il flushing, la transazione viene abortita 46 23
24 Controllo ottimistico di concorrenza Per la gestione efficiente di accessi concorrenti Hibernate sfrutta la tecnica Optimistic Concurrency Control (OCC) OCC si basa sull assunzione che la maggior parte delle transazioni verso DB non sono in conflitto con altre transazioni; questo permette di essere piuttosto permissivi nel rilasciare la possibilità di esecuzione Se i conflitti sono rari, post-validazioni possono essere svolte efficientemente => alto throughput OCC sfrutta versioning dei dati per ottenere elevati gradi di concorrenza e alta scalabilità Version checking sfrutta numeri di versione o timestamp per fare la detection di aggiornamenti che possono determinare conflitti 47 Riferimenti JDBC API: index.html Hibernate API: 3.5/api/ Atzeni, Ceri, Fraternali, Paraboschi, Torlone Basi di dati Architetture e linee di evoluzione, McGraw-Hill Italia, 2009 Christian Bauer and Gavin King. Java Persistence with Hibernate, Manning 48 24
Tecnologie Web T Gestione delle Transazioni e Livelli di Isolamento
Tecnologie Web T Gestione delle Transazioni e Livelli di Isolamento Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 4.03.Transazioni.pdf Versione elettronica: 4.03. Transazioni-2p.pdf
DettagliLe transazioni. Dott. Doria Mauro doriamauro@gmail.com
Hibernate Le transazioni Dott. Doria Mauro doriamauro@gmail.com Introduzione La demarcazione delle transazioni può essere fatta: In maniera programmatica: demarcazione all interno del codice applicativo.
DettagliLinguaggio SQL: costrutti avanzati
Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione
DettagliPag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo
Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliEsecuzione concorrente di transazioni
Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliIl linguaggio SQL: transazioni
Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di
DettagliGestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché
DettagliTransazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni
Capitolo 13 Gestione delle transazioni Transazioni L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché gli accessi al disco sono frequenti e relativamente
DettagliData Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario
Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione
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
DettagliBasi di Dati prof. A. Longheu. 5 Progettazione fisica
Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione
DettagliBENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2
BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 Testo: Sviluppare semplici programmi che permettano di verificare i diversi livelli di isolamento previsti da SQL
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
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
DettagliIl linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
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
DettagliTRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.
Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso. Nel caso di successo, i risultati delle operazioni effettuate devono essere resi definitivi; invece,
DettagliIntroduzione all Architettura del DBMS
Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo
DettagliBasi di Dati Distribuite
Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliTratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill
/XFLGLVXOFRQWUROORGHOODFRQFRUUHQ]D Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill $QRPDOLD /RVW8SGDWH Si considerino le due transazioni identiche: W1
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
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 per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
DettagliDB - Cenni sulla gestione delle transazioni
transazioni Cenni sulla gestione delle transazioni in DBMS transazioni Cenni sulla gestione delle transazioni in DBMS Basato sulle slides di transazioni Cenni sulla gestione delle transazioni in DBMS Basato
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
DettagliI MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale
La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del
DettagliTRANSAZIONI DISTRIBUITE TRANSAZIONI
TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliSoluzione dell esercizio del 12 Febbraio 2004
Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliAPPENDICE. 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
DettagliMeccanismi per la Gestione efficiente di transazioni in un DBMS
Meccanismi per la Gestione efficiente di transazioni in un DBMS Transazioni Una Transazione è una sequenza di azioni di lettura e scrittura della base di dati e di elaborazioni di dati in memoria temporanea,
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
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
DettagliTransazioni in SQL. Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013
Transazioni in SQL Nicola Vitacolonna Corso di Basi di Dati Università degli Studi di Udine 4 dicembre 2013 1 Introduzione Informalmente, una transazione è una sequenza (arbitrariamente lunga) di operazioni
DettagliTransazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.
Query/update Query plan Execution Engine richieste di indici, record e file Index/file/record Manager comandi su pagine Query Compiler Buffer Manager Lettura/scrittura pagine Architettura di un DBMS Utente/Applicazione
DettagliLinee guida per la programmazione di transazioni in PL/SQL
Linee guida per la programmazione di transazioni in PL/SQL Giuseppe Berio Giuseppe Berio DI - Unito 1 Esempio La transazione deve registrare l evasione di un ordine, rappresentato su più tabelle specializzate
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4
ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio
DettagliPROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP
PROCEDURA DI CHIUSURA ANNO FISCALE 2006 CON E-SHOP La procedura di chiusura di fine anno, a partire dalla release 1.9.9.76, è stata resa più semplice e dotata di vari controlli che vengono fatti automaticamente
DettagliGestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
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
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
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
DettagliCorso di Sistemi di Gestione di Basi di Dati. Esercitazione sul controllo di concorrenza 12/02/2004
Corso di Sistemi di Gestione di Basi di Dati Esercitazione sul controllo di concorrenza 12/02/2004 Dott.ssa Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma
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
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
DettagliMDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC
MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliArchitetture distribuite
Architetture distribuite -ARC 1 Basi di dati distribuite a RETE : LAN (Local Area Network) WAN (Wide Area Network) b DBMS : Sistema omogeneo Sistema eterogeneo SYBASE ORACLE DB2 CLIENT -ARC 2 Problemi
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
DettagliGestione Turni. Introduzione
Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente
DettagliTest di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
DettagliUniversità 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
DettagliConfigurazione di base. Dott. Doria Mauro doriamauro@gmail.com
Hibernate Configurazione di base Dott. Doria Mauro doriamauro@gmail.com I file di configurazione Hibernate prevede l uso dei file di configurazione formato XML. I principali file sono: Un file di configurazione
DettagliNuova Piattaforma Formazione a Distanza. Le regole di utilizzo
Nuova Piattaforma Formazione a Distanza Le regole di utilizzo LA STRUTTURA DEI CORSI Il catalogo formativo prevede per ogni utente di Agenzia un percorso formativo determinato sulla base del ruolo NewAge
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
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.
DettagliBasi di Dati Complementi. 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager
Basi di Dati Complementi 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager Andrea Maurino 2007 2008 Parte del materiale è stato fornito dal prof. Batini Fonti Libro Architetture
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliIndicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.
Capitolo 2 Esercizio 2.1 Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. 1. r1(x), w1(x), r2(x), w2(y), a1, c2 2. r1(x),
DettagliImport Sisam. Manuale utente. Maggio 2012. Sistema di raccolta dei dati statistici in ambito Socio-Assistenziale Minori
Maggio 2012 Sistema di raccolta dei dati statistici in ambito Socio-Assistenziale Minori SOMMARIO Invio in RER dei dati Socio-Assistenziali Minori... 3 Home... 3 Elenco dati caricati... 4 Parametri di
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
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
Dettagli11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
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
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
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
DettagliELENCO CLIENTI FORNITORI Patch1
ELENCO CLIENTI FORNITORI Patch1 Il pacchetto P15_200ElencoCF_Patch1.exe contiene una serie di aggiornamenti alla procedura di generazione del file contenente l. Download: 1) Assicurarsi di avere una versione
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliVisual Basic.NET La Gestione degli Errori di Federico BARBATI
Generalità Visual Basic.NET La Gestione degli Errori di Federico BARBATI La gestione degli errori, è una parte fondamentale di un codice ben progettato. Fino ad oggi, gli errori nelle applicazioni scritte
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliProgramma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione
Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni
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,
DettagliStudente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008 Si noti che le soluzioni ai quesiti saranno considerate valide
DettagliUtilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015
Utilizzo della APP IrriframeVoice Versione 1.0 maggio 2015 0.0 Installazione Sul telefono o sul tablet andare sullo store delle applicazioni per scaricare la APP A seconda del sistema operativo del telefono
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
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
DettagliManuale Terminal Manager 2.0
Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliTecnologia di un Database Server (centralizzato) Gestione del buffer
Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer
Dettagli1) GESTIONE DELLE POSTAZIONI REMOTE
IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo
DettagliCOMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015
COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato
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
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliGuida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724)
Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Procedo con un esempio: voglio proteggere una applicazione (nell esempio Blocco Note di Windows: notepad.exe) per distribuirla con
DettagliEsercizio 1: trading on-line
Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente
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
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
DettagliGuida all Applicazione. Tesseramento
Guida all Applicazione Tesseramento 1 Questa applicazione permette di gestire rapidamente il tesseramento e il rinnovo dei Soci. E possibile effettuare ricerche rapide, tesseramento singolo o di più soci
Dettagli