BENEDETTI ALESSANDRO Matricola : PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2
|
|
- Alfonsina Ventura
- 8 anni fa
- Visualizzazioni
Transcript
1 BENEDETTI ALESSANDRO Matricola : 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 (e da JDBC) DBMS SCELTO: PostgreSQL PREMESSE Facciamo una piccola introduzione di tipo teorico: I livelli di isolamento,da noi studiati in teoria,per evitare le anomalie dovute ad accessi concorrenti alle risorse sono 4: Read Uncommitted: si utilizza di solito per transazioni read only( questo per evitare di compromettere altre transazioni e basi di dati),con questo livello di isolamento la transazione non emette lock in lettura e quando legge non rispetta i lock imposti da altre transazioni. A questo livello sono possibili tutte le anomalie, tranne la perdita di aggiornamento. Read Committed: Per effettuare le letture richiede lock Condivisi,quindi(dovendo le scritture di altre transazioni rispettare il 2PL stretto),con questo livello di isolamento la transazione non leggerà mai dati intermedi transienti,quindi si eviterà la perdita di aggiornamento e la lettura sporca. Repeatable read: Con questo livello viene applicato il 2PL stretto anche con i lock di lettura, di conseguenza anche i lock di lettura verranno rilasciati solo alla fine della transazione,dopo l eventuale abort o commit. A questo livello si evitano quindi ogni genere di anomalie tranne l inserimento fantasma. Serializable: Applicando il 2PL stretto per tutti i lock e applicando anche lock di predicato,ogni anomalia viene evitata. Isolamento in Postgresql In PostgreSQL, per ogni transazione si può richiedere uno qualsiasi dei livelli di isolamento sopra specificati. Ma internamente questo DBMS offre solo 2 livelli di isolamento, ovvero Read Committed e Serializable. Di conseguenza,selezionando Read Uncommitted,si ottiene di default Read Committed, e,selezionando repeatable read si ottiene Serializable ;questo è piuttosto importante perché in taluni casi si otterrà un livello di isolamento maggiore di quanto realmente chiesto. Questo,ovviamente, è in accordo con gli standard SQl,I quali specificano solo quali fenomeni non devono manifestarsi per un determinato livello di isolamento, e questo è sicuramente garantito dall implementazione di protezione di Postgresql. La motivazione che sta dietro a tutto ciò è quella di rendere compatibile un architettura di controllo multiversione (offerta da postgresql) con I livelli di isolamento standard prima descritti. Read Committed Isolation Level in PostgreSQL Read Committed è il livello di isolamento di default in PostgreSQL. Quando una transazione viene eseguita con questo livello di isolamento, una query di SELECT vede solo I dati di transazioni che hanno fatto il commit prima che la query fosse iniziata; non può quindi leggere dati da transazioni che non hanno effettuato il commit o da transazioni che effettuano cambiamenti nel corso dell esecuzione. (ovviamente però la select vede I cambiamenti effettuati dalla transazione medesima,anche prima di effettuare la commit). In pratica una interrogazione vede lo stato del Database all istante in cui la query è iniziata;ovviamente due interrogazioni consecutive possono vedere dati differenti,se altre transazioni modificano dati ed effettuano il commit durante l esecuzione della prima query.(vedi anomalie studiate) UPDATE, DELETE, SELECT FOR UPDATE, e SELECT FOR SHARE si comportano come la select per cercare le tuple di interesse:troveranno solo tuple I cui dati sono stati modificati da transazioni che hanno effettuato la commit. Tuttavia se una riga è stata aggiornata (o cancellata o bloccata) da un'altra transazione concorrente,al momento
2 dell accesso,in questa situazione si attenderà lo sblocco della tupla( quindi in 2PL stretto,si attenderà il commit o rollback della transazione concorrente). Se la prima transazione che vuole effettuare l effettua il Roll-Back, I suoi effetti sono annullati e la seconda transazione può lavorare sui dati originali. Se la prima transazione che vuole effettuare l effettua il commit, la seconda transazione ignorerà la tupla se è stata cancellata, altrimenti lavorerà sulla riga appena aggiornata. E possible quindi vedere uno stato inconsistente per una transazione di aggiornamento. Qeusto perché non viene usato il 2PL stretto per le operazioni di lettura. Serializable Isolation Level in PostgreSQL Questo livello provvede il massimo isolamento per la transazione. Questo livello emula infatti l esecuzione seriale della stessa; comunque applicazioni che usano questo livello devono essere preparate a ritirare transazioni dovute ad un fallimento di serializzazione. Quando una transazione si trova a questo livello di isolamento,un interrogazione di SELECT vede solo I dati già salvati sul DB da altre transazioni che hanno effettuato la COMMIT ;non vede mai altri dati non ancora commessi o cambiamenti commessi durante una transazione in esecuzione e concorrente alla stessa.(comunque l interrogazione vede gli effetti di aggiornamenti precedentemente compiuti dalla stessa transazione).questo è differente dal Read Committed dove la SELECT vede invece i dati come essi sono prima dell esecuzione della query. UPDATE, DELETE, SELECT FOR UPDATE, e SELECT FOR SHARE si comportano come una select nel cercare: troveranno le righe come appaiono all inizio della transazione. Tuttavia, se una riga è stata modificata da un altra transazione al momento,si attenderà il completamento o roll-back della transazione concorrente. Se la prima transazione effettua il roll back, I suoi effetti sono negati e la transazione serializable può continuare nella sua esecuzione. Ma se la prima transazione che effettua l (ed ha attualmente aggiornato la riga e non solo bloccata) allora la transazione serializable effettuerà il roll-back con tale messaggio ERROR: could not serialize access due to concurrent Perchè non può modificare o bloccare righe che sono cambiate da alter transazioni dopo che la transazione serializzabile è iniziata. -RISULTATI SPERIMENTALI- Provvederò quindi a testare i 2 livelli di isolamento concessi da postgresql relativamente ai 5 fenomeni principali di anomalia. Perdita di Aggiornamento Come ho precedentemente descritto postgresql offre solo 2 livelli di isolamento;la perdita di aggiornamento è comunque un anomalia che viene prevenuta da ogni livello di isolamento,quindi sia da Read Committed sia da Serializable. Read Committed In particolare andando a verificare il fenomeno,mediante utilizzo di thread concorrenti,ognuno associato ad una transazione e sincronizzati ad Hoc per permettere la sequenza di InterLeaving generatrice dell anomalia,possiamo osservare che utilizzando semplici query di select,l anomalia compare e non è evitata. Dobbiamo in PostgreSQL infatti modificare la sintassi del select,indicando il costrutto: FOR SHARE o FOR UPDATE,questo per far si che il DBMS effettui o meno il lock sulla risorsa ottenuta dal select. Effettuando il select for,la tupla risultante sarà bloccata e di conseguenza avremo il corretto funzionamento di READ COMMITTED e l anomalia sarà evitata. Questo perché quando la seconda transazione effettuerà il select for sullo stesso risultato della transazione precedente,la transazione sarà bloccata finchè la prima non avrà rilasciato il lock sulla tupla di interesse.con il corretto utilizzo del 2PL sarà quindi evitata questa anomalia.
3 T1:ISOLATION LEVEL = READ COMMITTED //la prima transazione è partita T2:ISOLATION LEVEL = READ COMMITTED //la seconda è partita for T1 Legge : 35 //la prima transazione effettua la lettura e blocca T2:eseguo la query//t2 prova ad eseguire la query ma trova la tupla locked e si mette in attesa T1 : Aggiorna il valore...//t1 effettua l aggiornamento //T1 facendo il commit effettua l unlock della tupla transazione2: T2: select for disponibilita from prodotti where id=2096 T2 Legge : 36 //ora la query di T2 è stata svolta transazione2: T2: select for disponibilita from prodotti where id=2096 T2 Legge : 37//perfetto, il valore è corretto! Viceversa non utilizzando il select for,l anomalia avrà luogo anche a livello di isolamento READ_COMMITTED, questo perché i lock non vengono gestiti in automatico (!). T2:ISOLATION LEVEL = READ COMMITTED//la seconda è partita T1:ISOLATION LEVEL = READ COMMITTED//la prima transazione è partita T1 Legge : 35//la prima transazione effettua la lettura e non blocca T2:eseguo la query transazione2: T2: select disponibilita from prodotti where id=2096 T2 Legge : 35//la seconda transazione effettua la lettura e non blocca transazione2: T2: select disponibilita from prodotti where id=2096 T2 Legge : 36//dopo l aggiornamento fatto da T2 il valore vale 36 T1 : Aggiorna il valore...//ora T1 aggiorna, ma non tiene conto dell aggiornamento di T2! T1 Legge : 36 //infatti dopo l ulteriore aggiornamento abbiamo l anomalia manifestata Serializable In questo caso se non usiamo i lock espliciti mediante le particolari forme di select o viceversa,l anomalia viene evitata e al momento di scrittura della seconda transazione concorrente viene sollevato l errore: ERROR: could not serialize access due to concurrent perché si accorge che il dato precedentemente letto è stato modificato da un altra transazione concorrente e quindi avvisa che non può procedere alla scrittura ( vedi parte relativa alla spiegazione funzionamento SERIALIZABLE in PostgreSQL).
4 Lettura Sporca Come ho precedentemente descritto postgresql offre solo 2 livelli di isolamento;la perdita di aggiornamento è comunque un anomalia che viene prevenuta da ogni livello di isolamento a partire dal Read Committed,quindi sia da Read Committed sia da Serializable. Testandolo sul READ_UNCOMMITED avrei dovuto ottenere l anomalia,ma come precedentemente detto,in postgresql tale livello di isolamento non viene contemplato,quello di default è difatti Read Committed. Read Committed In particolare andando a verificare il fenomeno,mediante utilizzo di thread concorrenti,ognuno associato ad una transazione e sincronizzati ad Hoc per permettere la sequenza di InterLeaving generatrice dell anomalia,possiamo osservare che l anomalia viene correttamente evitata anche senza utilizzo di select for. T2:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED T1:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED T1 Legge : 39 T1 : Aggiorna il valore... T1 Legge : 40 T2:tenterò di eseguire la query//t2 tenterà di eseguire la query ma troverà la risorsa bloccata,attenderà quindi l unlock T1 : abort//t1 fa l abort,annulla I suoi effetti e sblocca la risorsa Transazione2: T2: select disponibilita from prodotti where id=2096for T2 Legge : 39//T2 legge finalmente il dato, che è corretto. SERIALIZABLE Anche in questo caso il fenomeno viene evitato, il comportamento sarà leggermente diverso,poiché l anomalia sarà evitata,ma T2 leggerà il dato prima dell abort di T1. A livello teorico potrebbe sembrare errato, ma come ho precedentemente detto,a questo livello di isolamento una select vede una foto dei dati only committed all inizio della transazione stessa.ignorerà quindi il dato modificato e che sarà poi abortito. T1:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE T2:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE Transazione3: T1: select disponibilita from prodotti where id=2096 T1 Legge : 39 T1 : Aggiorna il valore... Transazione3: T1: select disponibilita from prodotti where id=2096 T1 Legge : 40 T2:tenterò di eseguire la query transazione4: T2: select disponibilita from prodotti where id=2096 T2 Legge : 39 T1 : abort//l abort di T1 è avvenuto ugualmente dopo il commit di T2 ma il risultato è comunque corretto
5 Riscriviamo il concetto per precisione: Quando una transazione si trova a questo livello di isolamento,un interrogazione di SELECT vede solo I dati già salvati sul DB da alter transazioni che hanno effettuato la COMMIT ;non vede mai altri dati non ancora commessi o cambiamenti commessi durante una transazione in esecuzione e concorrente alla stessa.(comunque l interrogazione vede gli effetti di aggiornamenti precedentemente compiuti dalla stessa transazione).questo è differente dal Read Committed dove la SELECT vede invece i dati come essi sono prima dell esecuzione della query. Letture Inconsistenti Questa anomalia avviene quando una transazione effettua 2 letture,che dovrebbero essere uguali ma che potrebbero risultare differenti a causa di interferenze di altre transazioni. Di conseguenza tale anomalia dovrebbe presentarsi a livello READ_COMMITTED E UNCOMMITTED ma non a livello Repeatable Read e Serializable. Vediamo i risultati sperimentali: Read Committed In particolare andando a verificare il fenomeno,mediante utilizzo di thread concorrenti,ognuno associato ad una transazione e sincronizzati ad Hoc per permettere la sequenza di InterLeaving generatrice dell anomalia,possiamo osservare che l anomalia si presenta e T1 legge 2 valori diversi e quindi inconsistenti. Questo avviene utilizzando nella seconda transazione una interrogazione Select standard o con l utilizzo della select or. T1:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED T2:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED Transazione3: T1: select disponibilita from prodotti where id=2096 T1 Legge : 39 T2:tenterò di eseguire la query transazione4: T2: select disponibilita from prodotti where id=2096 T2 Legge : 39 transazione4: T2: select disponibilita from prodotti where id=2096for T2 Legge : 40 Transazione3: T1: select disponibilita from prodotti where id=2096for T1 Legge : 40//anomalia,precedentemente aveva letto 39!
6 SERIALIZABLE In questo caso il fenomeno viene evitato ma facciamo attenzione: la prima transazione evocherà un eccezione dovuta in PostgreSQl ad un concorrenziale se per errore effettuiamo una select for (il dbms penserà infatti che nella seconda lettura poi vogliamo aggiornare e genererà la conseguente eccezione dovuta ad aggiornamenti concorrenti) T1:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE T2:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE T1 Legge : 11 T2:tenterò di eseguire la query transazione2: T2: select disponibilita from prodotti where id=2096for T2 Legge : 11 transazione2: T2: select disponibilita from prodotti where id=2096for T2 Legge : 12 T1 Legge : 11//anomalia corretta!t1 legge sempre e solo 11 (caso di inopportuno utilizzo di select for ) T2:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE T1:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE Transazione3: T1: select disponibilita from prodotti where id=2096 T1 Legge : 42 T2:tenterò di eseguire la query transazione4: T2: select disponibilita from prodotti where id=2096for T2 Legge : 42 transazione4: T2: select disponibilita from prodotti where id=2096for T2 Legge : 43 //questo avviene se per errore la seconda lettura di T1 è una select for [ERRORE IN THREAD]: nome Transazione3:, tipoerrore org.postgresql.util.psqlexception: ERROR: could not serialize access due to concurrent T1 : abort Per precisione il motivo di questa eccezione era stato precedentemente spiegato e verrà qui riportato: Ma se la prima transazione che effettua l (ed ha attualmente aggiornato la riga e non solo bloccata) allora la transazione serializable effettuerà il roll-back con tale messaggio ERROR: could not serialize access due to concurrent Perchè non può modificare o bloccare righe che sono cambiate da altre transazioni dopo che la transazione serializzabile è iniziata.
7 Aggiornamento fantasma (GHOST UPDATE) Questa anomalia avviene quando 2 transizioni effettuano scritture concorrenziali su più risorse,avremo bisogno quindi di transizioni leggermente più complesse per testarla.di conseguenza tale anomalia dovrebbe presentarsi a livello READ_COMMITTED E UNCOMMITTED ma non a livello Repeatable Read e Serializable. Vediamo i risultati sperimentali: Read Committed In particolare andando a verificare il fenomeno,mediante utilizzo di thread concorrenti,ognuno associato ad una transazione e sincronizzati ad Hoc per permettere la sequenza di InterLeaving generatrice dell anomalia,possiamo osservare che l anomalia si presenta. In particolare ho ipotizzato questo vincolo di integrità: ovvero che la somma dei tre valori sia 30.E facile verificare che T1 veda una somma uguale a 31 mentre nel database a fine commit questa è sempre stata di 30. Questo avviene sia con la select normale che con le varianti for o for share. Questo è proprio causato dai vincoli del livello di isolamento che non blocca in lettura con il 2PL stretto. T2:ISOLATION LEVEL = READ_COMMITTED T1:ISOLATION LEVEL = READ COMMITTED T1:la somma dei 3 valori deve essere: 30 T1 Legge x : 10 transazione2: T2: select disponibilita from prodotti where id=2097 T2 Legge y: 10 Transazione1: T1: select disponibilita from prodotti where id=2097 T1 Legge y : 10 transazione2: T2: select disponibilita from prodotti where id=2098 T2 Legge z: 10 T2 : Aggiorna il valore di y : 9 T2 : Aggiorna il valore di z : 11 Transazione1: T1: select disponibilita from prodotti where id=2098 T1 Legge z : 11 T1 : questa è la somma da me calcolata :31//ecco presentarsi l anomalia SERIALIZABLE In questo caso il fenomeno viene correttamente evitato,la motivazione,già precedentemente espressa verrà qui riepilogata: T1:ISOLATION LEVEL = SERIALIZABLE T1:la somma dei 3 valori deve essere: 30 T2:ISOLATION LEVEL = SERIALIZABLE T1 Legge x : 10 transazione2: T2: select disponibilita from prodotti where id=2097for T2 Legge y: 10 Transazione1: T1: select disponibilita from prodotti where id=2097
8 T1 Legge y : 10 transazione2: T2: select disponibilita from prodotti where id=2098for T2 Legge z: 10 T2 : Aggiorna il valore di y : 9 T2 : Aggiorna il valore di z : 11 Transazione1: T1: select disponibilita from prodotti where id=2098 T1 Legge z : 10 T1 : questa è la somma da me calcolata :30//perfetto!anomalia evitata! Quando una transazione si trova a questo livello di isolamento,un interrogazione di SELECT vede solo I dati già salvati sul DB da altre transazioni che hanno effettuato la COMMIT ;non vede mai altri dati non ancora commessi o cambiamenti commessi durante una transazione in esecuzione e concorrente alla stessa.(comunque l interrogazione vede gli effetti di aggiornamenti precedentemente compiuti dalla stessa transazione).questo è differente dal Read Committed dove la SELECT vede invece i dati come essi sono prima dell esecuzione della query. INSERIMENTO FANTASMA (PHANTOM) Il Phantom è un anomalia molto insidiosa ed è evitabile solo con l ultimo livello di isolamento,quindi Serializable. Avviene quando si valuta in una transazione un dato aggregato per 2 volte, e nel mezzo delle due avviene un inserimento. Vediamo a livello sperimentale : READ COMMITTED Come prevedibile a tale livello di isolamento l anomalia si verifica,purtroppo la protezione non è abbastanza: T1:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED T2:ISOLATION LEVEL = TRANSACTION_READ_COMMITTED Transazione1: T1: select SUM(disponibilita) as result from prodotti p where nome='cacciavite' T1 Legge : T2:INSERT INTO prodotti (id,codice, nome, descrizione, prezzo, disponibilita)values (8132,'jdbc34', 'Cacciavite', 'cacciavite utile', 500, 1000); T2 inserito Transazione1: T1: select SUM(disponibilita) as result from prodotti p where nome='cacciavite' T1 Legge : 18123//attenzione,a causa dell inserimento fantasma vengono letti 2 valori diversi
9 SERIALIZABLE Grazie al lock su predicato(nel nostro caso nome= Cacciavite ) l anomalia viene evitata con successo dall ultimo livello di protezione;ricordiamo inoltre che affinchè tutta la tabella non sia bloccata sarebbe opportuno impostare un indice secondario sull attributo nome. In questo modo il lock di predicato bloccherà solo le tuple caratterizzate da tale valore per tale attributo: T2:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE T1:ISOLATION LEVEL = TRANSACTION_SERIALIZABLE Transazione1: T1: select SUM(disponibilita) as result from prodotti p where nome='cacciavite' T1 Legge : T2:INSERT INTO prodotti (id,codice, nome, descrizione, prezzo, disponibilita)values (8132,'jdbc34', 'Cacciavite', 'cacciavite utile', 500, 1000); T2 inserito Transazione1: T1: select SUM(disponibilita) as result from prodotti p where nome='cacciavite' T1 Legge : 17123//anomalia perfettamente evitata! In allegato il codice usato
Esecuzione 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
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à
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
Dettagli2. LOGIN E RECUPERO DATI DI ACCESSO
1. ACCESSO AL SISTEMA La prima schermata cui si accede consente le seguenti operazioni: Login Registrazione nuovo utente Recupero password e/o nome utente 2. LOGIN E RECUPERO DATI DI ACCESSO L accesso
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
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é
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
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. 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
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)
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
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
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
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
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
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
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
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,
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
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,
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
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
DettagliCONCETTO DI ANNIDAMENTO
LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di
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).
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliDispense di Informatica per l ITG Valadier
La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
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
DettagliNUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
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
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
DettagliLe query di raggruppamento
Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare
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,
DettagliCONTENT MANAGEMENT SY STEM
CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES
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
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...
DettagliLogistica magazzino: Inventari
Logistica magazzino: Inventari Indice Premessa 2 Scheda rilevazioni 2 Registrazione rilevazioni 3 Filtro 3 Ricerca 3 Cancella 3 Stampa 4 Creazione rettifiche 4 Creazione rettifiche inventario 4 Azzeramento
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
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
DettagliPROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
DettagliRaggruppamenti Conti Movimenti
ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli
DettagliControllo concorrenza
Controllo concorrenza Esercitazioni - Basi di dati (complementi) Autore: Dr. Simone Grega Esercizio. Dati gli schedule: s r w r w r w s r w r w r3 w r r3 s3 r r3 rz w w3 Specificare, con una breve giustificazione,
DettagliManuale di Aggiornamento BOLLETTINO. Rel. 5.10. DATALOG Soluzioni Integrate a 32 Bit
KING Manuale di Aggiornamento BOLLETTINO Rel. 5.10 DATALOG Soluzioni Integrate a 32 Bit - 152 - Manuale di Aggiornamento 9.3 COMMESSE E SERVIZI: Consuntivazione ore del rapportino [5.10.2/ 12] Nel modulo
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
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
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliManuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon
NOTE PRELIMINARI: 1. La versione analizzata è quella del laboratorio beta della sede S. Davide di Porto, ma il programma è presente anche nel laboratorio alfa (Porto) e nel laboratorio di informatica della
DettagliMANUALE ESSE3 Gestione Registro delle lezioni
MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
Dettaglirisulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
Dettagli5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9
5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un
DettagliTutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).
ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Durante l interrogazione,
DettagliUNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA
UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una
DettagliNUOVO SISTEMA AGGIORNAMENTO DA FYO
NUOVO SISTEMA AGGIORNAMENTO DA FYO 1 Introduzione La sezione FYO permette di allineare i dati delle vendite di Vodafone con quelli registrati dall Agenzia Vodafone. L allineamento è possibile caricando
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
DettagliLA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1
LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD
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
DettagliSOMMARIO... 3 INTRODUZIONE...
Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...
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
DettagliAPPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
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
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
DettagliRECUPERO DATI LIFO DA ARCHIVI ESTERNI
RECUPERO DATI LIFO DA ARCHIVI ESTERNI È possibile importare i dati relativi ai LIFO di esercizi non gestiti con Arca2000? La risposta è Sì. Esistono tre strade per recuperare i dati LIFO per gli articoli
DettagliBasi Di Dati, 09/12/2003
Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,
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
DettagliModulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress
Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk
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
Dettagli2.7 La cartella Preparazioni e CD Quiz Casa
2.7 La cartella Preparazioni e CD Quiz Casa SIDA CD Quiz Casa è il cd che permette al candidato di esercitarsi a casa sui quiz ministeriali e personalizzati. L autoscuola può consegnare il cd al candidato
DettagliData Warehousing (DW)
Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale
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
DettagliProgetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio
Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Integrazione Generazione Dettagli Contabili INFORMAZIONI
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliDimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
DettagliContabilità: Estratto conto e scadenzario
Contabilità: Estratto conto e scadenzario Indice Estratto conto 2 Estratto conto 2 Variazione estratto conto 3 Scadenzario e Solleciti 5 Scadenzario clienti 5 Solleciti clienti 6 Scadenzario fornitori
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliMANUALE UTENTE Fiscali Free
MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato
DettagliGuida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
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,
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
Dettagli1 ACCESSO AL NET@PORTAL... 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI... 4 3 MONITORAGGIO DELLE RICHIESTE... 8 4 DOWNLOAD ESITI...
MANUALE UTENTE NET@PORTAL ADEGUAMENTO DEL. 185/08 Sommario 1 ACCESSO AL NET@PORTAL... 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI... 4 2.1 CREAZIONE DEL FILE CSV PER IL CARICAMENTO MASSIVO DELLE RICHIESTE...
DettagliTRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF
TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF Come da disposizioni di inizio stagione, alcune Delegazioni provinciali hanno richiesto la trasmissione dei referti arbitrali solo tramite fax o tramite mail.
Dettaglif(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
DettagliSecondo Compitino di Basi di Dati
Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per
DettagliIl personale docente e la segreteria didattica per effettuare la gestione degli scrutini dovranno eseguire semplici operazioni.
GESTIONE SCRUTINI SEGRETERIA - DOCENTI Il personale docente e la segreteria didattica per effettuare la gestione degli scrutini dovranno eseguire semplici operazioni. Per quanto riguarda il personale Docente
DettagliExpress Import system
Express Import system Manuale del destinatario Sistema Express Import di TNT Il sistema Express Import di TNT Le consente di predisporre il ritiro di documenti, pacchi o pallet in 168 paesi con opzione
DettagliEXCEL FUNZIONI PRINCIPALI
EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")
DettagliFIRESHOP.NET. Gestione Lotti & Matricole. www.firesoft.it
FIRESHOP.NET Gestione Lotti & Matricole www.firesoft.it Sommario SOMMARIO Introduzione... 3 Configurazione... 6 Personalizzare le etichette del modulo lotti... 6 Personalizzare i campi che identificano
DettagliUso delle tabelle e dei grafici Pivot
Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
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
DettagliGuida Compilazione Piani di Studio on-line
Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-
DettagliE-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11
Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI
DettagliLa manutenzione come elemento di garanzia della sicurezza di macchine e impianti
La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa
DettagliIniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione
DettagliRicorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliGESGOLF SMS ONLINE. Manuale per l utente
GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo
DettagliESECUZIONE INVENTARIO TOTALE CHECKSTORE
ESECUZIONE INVENTARIO TOTALE CHECKSTORE Questa procedura descrive dettagliatamente come eseguire l inventario di inizio anno: per poter correttamente iniziare l operazione è necessario aver eseguito e
Dettagli