BENEDETTI ALESSANDRO Matricola : PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2"

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

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

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

Dettagli

Transazioni - Parte 1

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

Dettagli

2. LOGIN E RECUPERO DATI DI ACCESSO

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

Dettagli

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

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

Dettagli

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

Dettagli

Linguaggio SQL: costrutti avanzati

Linguaggio 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

Dettagli

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

Dettagli

Transazioni. Capitolo 13. Scrittura immediata e scrittura differita. Concorrenza in un DBMS. Una transazione. Gestione delle transazioni

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

Dettagli

Azioni. 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. 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)

Dettagli

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Data 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

Dettagli

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il 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

Dettagli

Il linguaggio SQL: transazioni

Il 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

Dettagli

APPENDICE. Procedure in SQL (1)

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

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac 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

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data 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

Dettagli

Tecnologia di un Database Server (centralizzato) Introduzione generale

Tecnologia 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

Dettagli

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

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

Dettagli

L architettura di un DBMS

L 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

Dettagli

Coordinazione Distribuita

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

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 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

Dettagli

Tratti dal cap. 9 di: Atzeni, Ceri, Paraboschi, Torlone Basi di Dati II edizione, 1999, McGraw-Hill

Tratti 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

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO 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

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI 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).

Dettagli

Convertitori numerici in Excel

Convertitori 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

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense 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

Dettagli

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

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

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI 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

Dettagli

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

Dettagli

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata 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

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione 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

Dettagli

Le query di raggruppamento

Le 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

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. 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,

Dettagli

CONTENT MANAGEMENT SY STEM

CONTENT 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

Dettagli

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

Dettagli

Gestione Risorse Umane Web

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

Dettagli

Logistica magazzino: Inventari

Logistica 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

Dettagli

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

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

Dettagli

DB - Cenni sulla gestione delle transazioni

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

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA 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

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti 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

Dettagli

Controllo concorrenza

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

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.10. DATALOG Soluzioni Integrate a 32 Bit

Manuale 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

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando 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

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 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

Dettagli

Definizione di domini

Definizione 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

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione 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

Dettagli

Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon

Manuale 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

Dettagli

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE 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

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il 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

Dettagli

risulta (x) = 1 se x < 0.

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

Dettagli

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

Dettagli

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

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

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA 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

Dettagli

NUOVO SISTEMA AGGIORNAMENTO DA FYO

NUOVO 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

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

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

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA 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

Dettagli

DBMS (Data Base Management System)

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

Dettagli

SOMMARIO... 3 INTRODUZIONE...

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

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 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

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

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

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni 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

Dettagli

Transazioni. Architettura di un DBMS. Utente/Applicazione. transazioni. Transaction Manager. metadati, statistiche.

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

Dettagli

RECUPERO DATI LIFO DA ARCHIVI ESTERNI

RECUPERO 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

Dettagli

Basi Di Dati, 09/12/2003

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

Dettagli

Organizzazione degli archivi

Organizzazione 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

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 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

Dettagli

Manuale Terminal Manager 2.0

Manuale 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

Dettagli

2.7 La cartella Preparazioni e CD Quiz Casa

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

Dettagli

Data Warehousing (DW)

Data 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

Dettagli

Introduzione ai database relazionali

Introduzione 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

Dettagli

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

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI 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

Dettagli

Operazioni sui database

Operazioni 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

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione 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

Dettagli

Contabilità: Estratto conto e scadenzario

Contabilità: 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

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 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

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE 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

Dettagli

Guida all uso di Java Diagrammi ER

Guida 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

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo 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

Dettagli

TRANSAZIONI. Una transazione è una successione di operazioni che si può concludere con successo o con insuccesso.

TRANSAZIONI. 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,

Dettagli

Basi di Dati: Corso di laboratorio

Basi 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

Dettagli

1 ACCESSO AL NET@PORTAL... 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI... 4 3 MONITORAGGIO DELLE RICHIESTE... 8 4 DOWNLOAD ESITI...

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

Dettagli

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

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

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

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

Dettagli

Secondo Compitino di Basi di Dati

Secondo 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

Dettagli

Il personale docente e la segreteria didattica per effettuare la gestione degli scrutini dovranno eseguire semplici operazioni.

Il 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

Dettagli

Express Import system

Express 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

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL 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")

Dettagli

FIRESHOP.NET. Gestione Lotti & Matricole. www.firesoft.it

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

Dettagli

Uso delle tabelle e dei grafici Pivot

Uso 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

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE 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

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO 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

Dettagli

Guida Compilazione Piani di Studio on-line

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

Dettagli

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

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

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La 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

Dettagli

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

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione 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

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF 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

Dettagli

ESECUZIONE INVENTARIO TOTALE CHECKSTORE

ESECUZIONE 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