BASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati:

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "BASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati:"

Transcript

1 BASI DI DATI DISTRIBUITE Esercizio n. 1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome, Città Indirizzo) VENDITORE (Nome, Città Indirizzo) Progettare la frammentazione orizzontale delle tabelle PRODUZIONE e PRELIEVO in base al tipo di parte (che assume quattro valori: Tastiera, Schermo, CPU e Cablaggio ), prevedendo quattro stabilimenti di produzione disposti a Milano, Torino, Roma e Napoli, e delle tabelle CLIENTE e VENDITORE in base a tre bacini di vendita, centrati su Torino, Milano e Roma; si supponga che le vendite siano distribuite per bacini geografici (quindi, clienti di Milano sono serviti solo da venditori di Milano; si assuma che il bacino di vendita di Roma comprenda anche Napoli) e che ciascuna area geografica abbia una propria base di dati (cioè che sia disponibile una base di dati a Milano, Torino, Roma e Napoli). Esprimere a livello di trasparenza di frammentazione, di allocazione e di linguaggio le interrogazioni: 1. Determinare la quantità disponibile del prodotto 77Y Determinare i clienti che hanno comprato qualche lotto dal rivenditore Bianchi, che ha ufficio a Roma. 3. Determinare le macchine utilizzate per la produzione dei pezzi di tipo Tastiera venduti al cliente Rossi. 4. Modificare l indirizzo del cliente Rossi, che si trasferisce da Via Po 45 di Milano a Viale Trastevere 150 di Roma 5. Calcolare la somma degli importi degli ordini ricevuti a Milano, Torino e Roma (si noti che anche le funzioni aggregate sono disponibili) Scrivere poi, ipotizzando di usare il DBMS di Milano, una richiesta remota, una transazione remota, una transazione distribuita e una richiesta distribuita. Esercizio n. 2 Descrivere come l'organizzazione di una riunione (di un insieme di persone che debbono essere tutte presenti) possa essere basata su un protocollo con le stesse caratteristiche del commit a due fasi. Esercizio n. 3 Si consideri il protocollo di commit a due fasi (2PC). 1. Spiegare perché: (a) un guasto del coordinatore (TM) può avere conseguenze molto pesanti anche sulle prestazioni dei partecipanti (RM); (b) un guasto di un partecipante non ha conseguenze particolari sulle prestazioni degli altri partecipanti 1

2 (a parte l eventuale abort di transazioni). Per ovviare alle conseguenze negative di un guasto del coordinatore, alcune implementazioni del 2PC prevedono la possibilità di comunicazione fra i partecipanti (mentre la versione base prevede solo comunicazione fra il coordinatore e ciascuno dei partecipanti). In particolare, un partecipante che abbia una transazione in stato di ready può chiedere agli altri partecipanti informazioni sullo stato di tale transazione (che può essere prima-del-ready, ready, commit o abort ) presso di loro. 2. In tale contesto indicare (a) come (e in quali casi) il partecipante può trarre profitto dalle risposte ottenute; (b) quali insiemi di risposte il partecipante può ricevere e quali invece no. Esercizio n. 4 Descrivere come si modifica il protocollo di ripresa a caldo tendo presente che alcune sottotransazioni distribuite possono essere in stato di ready. Esercizio n. 5 Applicare il protocollo di ripresa a caldo dopo la caduta di un nodo assumendo un algoritmo di commit a due fasi, a fronte del seguente input (ove r(ti) indica la presenza del record di ready): B(T1), B(T2), B(T3), I(T1,O1,A1), D(T2,O2,B2), B(T4), R(T1), U(T4,O3,B3,A3), C(T1), CK(T2,T3,T4), B(T5), B(T6), U(T5,O5,B5,A5), R(T5), B(T7), U(T7,O6,B6,A6), B(T8), U(T6,O1,B7,A7), A(T7), R(T6), guasto Esercizio n. 6 Descrivere un esempio di comportamento di una base di dati replicata che produce disallineamento tra i dati. Esercizio n. 7 Descrivere un esempio di replicazione simmetrica che produce inconsistenza dei dati. 2

3 SOLUZIONE Esercizio 1 Ia PARTE Frammentazione orizzontale della tabella PRODUZIONE (4 tabelle) PRODUZIONE _1 = σtipoparte= Tastiera (PRODUZIONE) PRODUZIONE _2= σtipoparte= Schermo (PRODUZIONE) PRODUZIONE _3= σtipoparte= CPU (PRODUZIONE) PRODUZIONE _4= σtipoparte= Cablaggio (PRODUZIONE) Frammentazione orizzontale (derivata) della tabella PRELIEVO (4 tabelle) PRELIEVO_1= Π NumeroSerie, Lotto, Cliente, Venditore, Ammontare (σtipoparte= Tastiera (PRELIEVO NumeroSerie = SN SN NumeroSerie (PRODUZIONE))) PRELIEVO_2= Π NumeroSerie, Lotto, Cliente, Venditore, Ammontare (σtipoparte= Schermo (PRELIEVO NumeroSerie = SN SN NumeroSerie (PRODUZIONE))) PRELIEVO_3= Π NumeroSerie, Lotto, Cliente, Venditore, Ammontare (σtipoparte= CPU (PRELIEVO NumeroSerie = SN SN NumeroSerie (PRODUZIONE))) PRELIEVO_4= Π NumeroSerie, Lotto, Cliente, Venditore, Ammontare (σtipoparte= Cablaggio (PRELIEVO NumeroSerie = SN SN NumeroSerie (PRODUZIONE))) Frammentazione orizzontale della tabella CLIENTE (3 tabelle) CLIENTE_1= σcittà = Torino (CLIENTE) CLIENTE_2= σcittà = Milano (CLIENTE) CLIENTE_3= σcittà = Roma V Città = Napoli (CLIENTE) Frammentazione orizzontale della tabella VENDITORE VENDITORE_1= σcittà = Torino (VENDITORE) VENDITORE _2= σcittà = Milano (VENDITORE) VENDITORE _3= σcittà = Roma V Città = Napoli (VENDITORE) Le tabelle PRODUZIONE_1, PRELIEVO_1, CLIENTE_1, VENDITORE_1 potranno essere allocate a Torino (Torino.Azienda.it) Le tabelle PRODUZIONE_2, PRELIEVO_2, CLIENTE_2, VENDITORE_2 potranno essere allocate a Milano (Milano.Azienda.it) Le tabelle PRODUZIONE_3, PRELIEVO_3, CLIENTE_3, VENDITORE_3 potranno essere allocate a Roma (Roma.Azienda.it) Le tabelle PRODUZIONE_4, PRELIEVO_4 potranno essere allocate a Napoli 3

4 (Napoli.Azienda.it) 4

5 Punto 1: Determinare la quantità disponibile del prodotto 77Y6878 Trasparenza di frammentazione: Procedure QueryDispo1 ( :Quan) from PRODUZIONE Trasparenza di allocazione: Procedure QueryDispo2 ( :Quan) from PRODUZIONE_1 from PRODUZIONE_2 from PRODUZIONE_3 from PRODUZIONE_4 Trasparenza di linguaggio: Procedure QueryDispo3 ( :Quan) from from from from 5

6 Punto 2: Determinare i clienti che hanno comprato qualche lotto dal rivenditore Bianchi, che ha ufficio a Roma. Trasparenza di frammentazione: Procedure QueryLotto1 ( :Cl) from PRELIEVO Trasparenza di allocazione: Procedure QueryLotto2 ( :Cl) from PRELIEVO_1 from PRELIEVO_2 from PRELIEVO_3 from PRELIEVO_4 Trasparenza di linguaggio: Procedure QueryLotto3 ( :Cl) from from from from 6

7 Punto 3: Determinare le macchine utilizzate per la produzione dei pezzi di tipo Tastiera venduti al cliente Rossi. Trasparenza di frammentazione: Procedure QueryMacchinePerTastiere1 ( :mac) select Macchine into :mac from PRODUZIONE join PRELIEVO On PRODUZIONE.NumeroSerie = PRELIEVO.NumeroSerie where Cliente = Rossi and TipoParte = Tastiera Trasparenza di allocazione: Procedure QueryMacchinePerTastiere2 ( :mac) select Macchine into :mac from PRODUZIONE_1 join PRELIEVO_1 On PRODUZIONE_1.NumeroSerie = PRELIEVO_1.NumeroSerie where Cliente = Rossi Trasparenza di linguaggio: Procedure QueryMacchinePerTastiere3 ( :mac) select Macchine into :mac from join On PRODUZIONE_1.NumeroSerie =PRELIEVO_1.NumeroSerie where Cliente = Rossi Punto 4: Modificare l indirizzo del cliente Rossi, che si trasferisce da Via Po 45 di Milano a Viale Trastevere 150 di Roma Trasparenza di frammentazione: Procedure ModificaIndirizzo1 update CLIENTE set Indirizzo= Via Po 45, Città= Milano where Nome = Rossi Trasparenza di allocazione: Procedure ModificaIndirizzo2 7

8 delete from CLIENTE_3 where Nome = Rossi ; insert into CLIENTE_2 (Nome, Indirizzo, Città) values ( Rossi, Via Po 45, Milano ) Trasparenza di linguaggio: Procedure ModificaIndirizzo2 delete from where Nome = Rossi ; insert into (Nome, Indirizzo, Città) values ( Rossi, Via Po 45, Milano ) Punto 5: Calcolare la somma degli importi degli ordini ricevuti a Milano, Torino e Roma (si noti che anche le funzioni aggregate sono disponibili) Trasparenza di frammentazione: Procedure Ordini1 from PRELIEVO join VENDITORE on Venditore = Nome Trasparenza di allocazione: Procedure Ordini2 create view PRELIEVO as PRELIEVO_1 union PRELIEVO_2 union PRELIEVO_3 union PRELIEVO_4 from PRELIEVO join VENDITORE_1 on Venditore = Nome union from PRELIEVO join VENDITORE_2 on Venditore = Nome union from PRELIEVO join VENDITORE_3 on Venditore = Nome Trasparenza di linguaggio: Procedure Ordini2 create view PRELIEVO as union union 8

9 union from PRELIEVO join on Venditore = Nome union from PRELIEVO join Milano.Azienda.it on Venditore = Nome union from PRELIEVO join on Venditore = Nome IIa PARTE Richiesta Remota select * from PRODUZIONE_2 where Qta > 100 Transazione Remota update CLIENTE_2 set Indirizzo = Via Fogazzaro 11 where Nome = Verdi Transazione Distribuita delete from CLIENTE_2 where Nome = Bianchi insert into CLIENTE_1 (Nome, Indirizzo, Città) values ( Bianchi, Via Ponente 45, Milano ) Richiesta Distribuita select Nome from PRELIEVO_1 join CLIENTE_3 on Cliente = Nome where NumeroSerie = 458X411 9

10 Soluzione Esercizio n.2 Un coordinatore contatta tutti i partecipanti che rispondono comunicando la propria disponibilità (in modo irrevocabile). Se le risposte sono ricevute tutte entro un tempo limite prefissato e sono tutte positive, allora il coordinatore fissa la riunione (altrimenti la disdice) comunicando la decisione a tutti i partecipanti. Soluzione Esercizio n.3 1(a) un guasto del coordinatore (TM) può avere conseguenze molto pesanti anche sulle prestazioni dei partecipanti (RM) perché questi ultimi potrebbero avere transazioni in stato di ready" (cioè nella finestra di incertezza"), con i lock acquisiti sulle risorse coinvolte, in attesa di risposta da parte del TM; 1(b) un guasto di un partecipante non ha conseguenze particolari sulle prestazioni degli altri partecipanti (a parte l'eventuale abort di transazioni), perché: - se il guasto avviene prima del ready, allora il partecipante stesso non risponde al prepare e quindi, scattato il time-out della prima fase, il coordinatore decide per l'abort; - se il guasto avviene dopo il ready, l'unica complicazione è la necessità di ripetere la seconda fase 2(a) se riceve almeno una risposta che contenga una decisione, può basarsi su di essa: se riceve almeno una risposta commit," può assumere che la transazione sia andata a buon fine, se riceve almeno una risposta abort," può assumere che essa sia fallita; 2(b) non è possibile che riceva abort" da un partecipante e commit" da un altro; né che riceva prima-del-ready" da uno e commit" da un altro. Soluzione Esercizio n.4 Protocollo di ripresa a caldo in sistemi distribuiti: 1) Si accede all ultimo blocco del log e si ripercorre il log all indietro fino al record di checkpoint. Si costruiscono 3 insiemi, detti di UNDO, di REDO e di READY. Gli insiemi REDO e READY sono vuoti, mentre quello di UNDO contiene le transazioni indicare nel record di checkpoint. 2) Si ripercorre il log in avanti, aggiungendo all insieme di UNDO tutte le transazioni di cui è presente il record di begin. Se viene rilevato un record ready, la corrispondente transazione viene spostata in READY. Se viene trovato un record di commit si sposta la transazione corrispondente nell insieme di REDO (viene rimossa da READY o da UNDO). Se si trova un record abort e la transazione corrispondente si trova in READY, essa viene tolta da READY e messa in UNDO. 3) Se l insieme READY non è vuoto, il sistema deve chiedere al TM (Transaction Manager) l esito delle transazioni di questo insieme, che si trovano in uno stato incerto. Il TM indica quali transazioni hanno effettuato il commit e quali l abort. Queste transazioni saranno quindi trasferite negli insiemi di REDO o di UNDO e i rispettivi record scritti nel log. 10

11 4) Il protocollo continua come in un sistema non distribuito. Soluzione Esercizio n.5 1) Il log viene ripercorso all indietro sino al record di checkpoint CK(T2,T3,T4) e si creano i tre insiemi di UNDO, REDO e READY. UNDO = { T2,T3,T4} REDO = {} READY = {} 2) Il record viene percorso in avanti, aggiornandogli insiemi. B(T5) UNDO = { T2,T3,T4,T5} REDO = {} READY = {} B(T6) UNDO = { T2,T3,T4,T5,T6} REDO = {} READY = {} R(T5) UNDO = { T2,T3,T4,T6} REDO = {} READY = {T5} B(T7) UNDO = { T2,T3,T4,T6,T7} REDO = {} READY = {T5} B(T8) UNDO = { T2,T3,T4,T6,T7,T8} REDO = {} READY = {T5} A(T7) UNDO = { T2,T3,T4,T6,T7,T8} REDO = {} READY = {T5} R(T6) UNDO = { T2,T3,T4 T7,T8} REDO = {} READY = {T5,T6} 3) A questo punto dovremmo chiedere al Transaction Manager l esito delle transazioni in stato di READY. Supponendo che il TM indichi un global commit per T5 e T6 otteniamo: UNDO = { T2,T3,T4, T7,T8} REDO = {T5,T6} I record C(T5) e C(T6) sono scritti nel log. 4) Il record viene ripercorso all indietro sino a D(T2,O2,B2), eseguendo le operazioni di UNDO. O6 = B6 O3 = B3 Insert O2 = B2 5) Infine il log viene percorso in avanti e vengono eseguite le operazioni di REDO. O5 = A5 O1 = A7 Soluzione esercizio n.6 Con riferimento allo schema data base descritto nell' Esercizio 1., supponiamo che ciascun frammento della tabella PRODUZIONE sia allocata a tutti i DBMS. Ciascun DBMS usa solo 11

12 un frammento e trasmette tutte le variazioni di questo frammento agli altri DBMS In questa maniera tutti i DBMS posseggono un intera copia del database. Nel caso di guasto di uno dei DBMS il Database è ancora completamente accessibile dagli altri sistemi:se tutte le query sono correttamente re-dirette, il guasto è trasparente al Cliente del Database. Tuttavia se si verifica un guasto della rete, questo può generare una partizione della rete, per esempio con due sottoreti indipendenti.in questa situazione è possibile un'inconsistenza dei dati : supponiamo che la tabella PRODUZIONE contiene una ennupla: NumeroSerie TipoParte Modello Qta Macchina CPU Pentium II 1000 A se due transazioni volessero entrambe sottrarre 800 dalla quantità di questa parte, una delle transazioni (la seconda in ordine temporale) fallirebbe, ma se le due transazioni sono presenti i due differenti DBMS che non sono connessi, essi non falliranno ma produrranno un'inconsistenza nel data base completo. Soluzione esercizio n.7 Se nel contesto di una replicazione simmetrica, ciascun DBMS ha una copia dell'intero DATABASE e può accedere ad essa completamente, allora le copie sono riconciliate. Questa situazione può produrre lo stesso effetto di un singolo database senza il controllo di concorrenza. Le due transazioni descritte nell' esercizio 4 possono produrre una inconsistenza anche senza un guasto di rete se le variazioni non sono comunicate immediatamente alle altre copie. 12

Capitolo 6. Esercizio 6.1

Capitolo 6. Esercizio 6.1 Capitolo 6 Esercizio 6.1 Si consideri la base dati: PRODUZIONE (NumeroSerie, TipoParte, Modello, Qta, Macchina) PRELIEVO (NumeroSerie, Lotto, Cliente, Venditore, Ammontare) CLIENTE (Nome, Città Indirizzo)

Dettagli

Cognome Nome Matricola Ordin.

Cognome Nome Matricola Ordin. Basi di dati II, primo modulo Tecnologia delle basi di dati Prova parziale 27 marzo 2009 Compito A Scrivere il nome su questo foglio e su quello protocollo. Rispondere su questo foglio, eventualmente con

Dettagli

La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a:

La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a: La durability Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Durability (Persistenza) I dati modificati da una transazione che ha fatto il commit non

Dettagli

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Architetture Distribuite per Basi di Dati Giuseppe Loseto Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Architetture Distribuite Parallelismo: usato per ottimizzare le prestazioni di componenti/sistemi

Dettagli

1- AFFIDABILITA. Esercizio n.1

1- AFFIDABILITA. Esercizio n.1 1- AFFIDABILITA Esercizio n.1 Il check-point prevede le seguenti attività (durante le quali non sono ammessi commit e abort): 1. scrittura in memoria stabile (force) di tutte le pagine "sporche" del buffer

Dettagli

1. in alcuni sistemi si prende nota delle transazioni attive e si rifiutano (momentaneamente) nuovi commit

1. in alcuni sistemi si prende nota delle transazioni attive e si rifiutano (momentaneamente) nuovi commit AFFIDABILITA Esercizio n. 1 Il check-point prevede le seguenti attività (durante le quali non sono ammessi commit e abort): 1. scrittura in memoria secondaria (force) di tutte le pagine "sporche" del buffer

Dettagli

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche: NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche: MARATONETA(Nome, Nazione, Età)

Dettagli

Basi di Dati Distribuite

Basi di Dati Distribuite Basi di Dati Distribuite P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (McGraw-Hill Italia) Basi di dati: architetture linee di evoluzione - seconda edizione Capitolo 3 Appunti dalle lezioni SQL come DDL

Dettagli

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket. NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket. GIOCATORE (Codice, Nome, Cognome, AnnoNascita) CONTRATTO(Id,

Dettagli

Parte 3 Gestione del buffer e gestione del recovery

Parte 3 Gestione del buffer e gestione del recovery Gestione dei dati Parte 3 Gestione del buffer e gestione del recovery Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità Affidabilità Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità Angelo Montanari Dipartimento di Matematica e Informatica Università

Dettagli

COMPITO DI SISTEMI INFORMATIVI 1 febbraio 2016 (Tot. 16) Tempo: 2h

COMPITO DI SISTEMI INFORMATIVI 1 febbraio 2016 (Tot. 16) Tempo: 2h Esercizio 1 (punti 3) Si consideri il seguente log: COMPITO DI SISTEMI INFORMATIVI 1 febbraio 2016 (Tot. 16) Tempo: 2h 1. D(T1,O1,B1) 2. U(T1,O2,B2,A2) 3. B(T2) 4. U(T2,O2,B4,A4) 5. B(T3) 6. B(T4) 7. D(T4,O2,B7)

Dettagli

TRANSAZIONI DISTRIBUITE TRANSAZIONI

TRANSAZIONI DISTRIBUITE TRANSAZIONI TRANSAZIONI DISTRIBUITE Transazioni distribuite Atomicità di una transazione distribuita Protocollo Two-Phase Commit Gestione dell affidabilità Fallimenti durante il 2PC Gestione della concorrenza Serializzabilità

Dettagli

Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati II Prova parziale 29 maggio 2014 Compito A Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare un sistema distribuito su cui viene eseguita una

Dettagli

Architetture distribuite

Architetture distribuite Architetture distribuite -ARC 1 Basi di dati distribuite a RETE : LAN (Local Area Network) WAN (Wide Area Network) b DBMS : Sistema omogeneo Sistema eterogeneo SYBASE ORACLE DB2 CLIENT -ARC 2 Problemi

Dettagli

Basi di Dati Parallele

Basi di Dati Parallele Basi di Dati Parallele Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Scalabilità delle applicazioni Carico insieme di tutte le

Dettagli

Intoduzione alle transazioni e alle proprieta ACID delle transazioni

Intoduzione alle transazioni e alle proprieta ACID delle transazioni Basi di Dati Complementi Parte 2: Tecnologie per MS Parte 2.4: Introduzione alle transazioni e Intoduzione alle transazioni e alle proprieta ACID delle transazioni @ Carlo Batini 2006 1 @ Carlo Batini

Dettagli

Architetture Distribuite

Architetture Distribuite Architetture Distribuite Capitolo 3 Basi di dati Architetture e linee di evoluzione P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone 1 Sommario Architetture client-server Basi di dati distribuite

Dettagli

Basi di dati II Esame 7 settembre 2015 Compito A Tempo a disposizione: due ore e trenta minuti.

Basi di dati II Esame 7 settembre 2015 Compito A Tempo a disposizione: due ore e trenta minuti. Basi di dati II Esame 7 settembre 2015 Compito A Tempo a disposizione: due ore e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Si consideri una base di dati sulle seguenti relazioni, ognuna delle

Dettagli

Recovery manager Gestore della affidabilità

Recovery manager Gestore della affidabilità Riferimenti Basi di Dati Complementi Parte 2: Tecnologie per DBMS Parte 2.5: Recovery Manager Trasparenze parte Recovery manager Basi di Dati Atzeni et al. - Capitolo 2.1, 2.2 Anche: Garcia Molina, Ullman,

Dettagli

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati Sicurezza nelle basi di dati Unità D3 Sicurezza e concorrenza nelle basi di dati Una base di dati è sicura quando soddisfa i seguenti parametri: regola l accesso ai dati protetti; evita la modifica o la

Dettagli

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio)

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio) NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella un sistema di gestione dei Quiz per l ammissione a corsi di Laurea a numero programmato dell Università di

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. Capitolo 2 Esercizio 2.1 Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione. 1. r1(x), w1(x), r2(x), w2(y), a1, c2 2. r1(x),

Dettagli

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base

Dettagli

Ogni ufficio è formato da 100 dipendenti, i quali hanno a loro volta 3 clienti ciascuno. Inoltre, ad ogni ufficio sono stati assegnati 4 fornitori.

Ogni ufficio è formato da 100 dipendenti, i quali hanno a loro volta 3 clienti ciascuno. Inoltre, ad ogni ufficio sono stati assegnati 4 fornitori. Tecnologia delle Basi Dati Analisi del dbms Postgresql. Luigi Cestoni Prima Parte Descrizione del Database Abbiamo realizzato un database costituito da quattro tabelle: 1. dipendente( id,nome,cognome,eta,telefono,idufficio)

Dettagli

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale 45 6.6 Regioni Critiche Condizionali 6.7 Monitor Costrutti linguistici inventati per evitare i problemi di programmazione che facilmente si fanno con i semafori Attenzione con i thread: in tale ambiente

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi. Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (20%) Lo schema concettuale seguente rappresenta un

Dettagli

a) Tracciare le curve del ricavo marginale e del costo marginale. b) Quale quantità deciderà di produrre?

a) Tracciare le curve del ricavo marginale e del costo marginale. b) Quale quantità deciderà di produrre? Domande 1. Supponete che un impresa possa vendere qualsiasi quantità desideri a 13 euro e che abbia i seguenti costi (CT) per vari livelli di produzione (Q): a) Tracciare le curve del ricavo marginale

Dettagli

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1 BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

Architetture distribuite

Architetture distribuite Architetture distribuite Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 6 Appunti dalle lezioni Sommario Architetture client-server Basi di dati distribuite Basi di dati parallele

Dettagli

Sistemi transazionali. sistemi transazionali 1

Sistemi transazionali. sistemi transazionali 1 Sistemi transazionali sistemi transazionali 1 Ricordiamo le principali caratteristiche dei DBMS condivisione dei dati - concorrenza qualità dei dati - integrità efficienza - caricamento, query, sort controllo

Dettagli

Basi di dati Architetture e linee di evoluzione

Basi di dati Architetture e linee di evoluzione Basi di dati Architetture e linee di evoluzione Paolo Atzeni Stefano Ceri Piero Fraternali Stefano Paraboschi Riccardo Tarlane web site McGraw-Hill IUAV - VENEZIA H 9891 BIBLIOTECA CENTRALE I J ()(),,.

Dettagli

Parte VII Gestione delle transazioni

Parte VII Gestione delle transazioni Parte VII Gestione delle transazioni Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VII - 1 Funzioni del DBMS Gestione dei dati: cura la memorizzazione permanente dei dati ed il loro accessso Gestione

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

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

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Esame di Basi di Dati

Esame di Basi di Dati Esame di Basi di Dati 28 Gennaio 2014 Matricola CFU (9/12/9+9) Progetto (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente

Dettagli

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie. NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie. UTENTE(Codice, Cognome, Professione) SOCIETA(Nome,

Dettagli

Capitolo 5. Soluzione: Soluzione in C:

Capitolo 5. Soluzione: Soluzione in C: Capitolo 5 Esercizio 5.1 Realizzare una procedura in un linguaggio di programmazione di alto livello che tramite SQL Embedded elimina dalla tabella DIPARTIMENTO l'elemento che ha il nome che viene fornito

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

Basi di dati distribuite. BD distribiute 1

Basi di dati distribuite. BD distribiute 1 Basi di dati distribuite BD distribiute 1 Motivazioni della distribuzione dei dati natura intrinsecamente distribuita delle organizzazioni evoluzione degli elaboratori - aumento della capacità elaborativa

Dettagli

Azioni atomiche. Definizioni. Proprietà

Azioni atomiche. Definizioni. Proprietà Azioni atomiche Definizioni Azione atomica: strumento di alto livello per strutturare programmi concorrenti e/o distribuiti, tolleranti a vari tipi di malfunzionamenti; o Realizzata con strumenti linguistici

Dettagli

Basi di dati distribuite

Basi di dati distribuite 1 Paradigmi per la distribuzione dei dati Architettura client-server: separazione tra client e server della base di dati : la stessa applicazione utilizza diversi database server Basi di dati parallele:

Dettagli

IMPIEGATO(Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager)

IMPIEGATO(Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) BASI DI DATI ATTIVE Esercizio n.1 Dato lo schema relazionale IMPIEGATO(Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) definire le seguenti regole attive in SQL:99 T1. Quando un dipartimento

Dettagli

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti. Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la relazione Stipendi(Matricola,StipLordo,Tasse,Netto,OK) Spiegare (sinteticamente ma in modo chiaro) quali

Dettagli

σ data 15/12/2013 data 20/12/2014

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

Dettagli

Interrogazioni in SQL

Interrogazioni in SQL Interrogazioni in SQL Corso di Basi di Dati 4 dicembre 2013 1 Interrogazioni sullo schema aziendale 1. Ottenere i nomi dei dipartimenti dislocati in piú sedi. 2. Ottenere il numero di supervisori. 3. Produrre

Dettagli

Soluzione esercitazione 01

Soluzione esercitazione 01 Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella

Dettagli

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006 Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Dettagli

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE Dato il seguente schema E/R E la sua traduzione nel seguente schema relazionale: disponibile in http://www.dbgroup.unimo.it/sire/20110513/20110513.bak Viene richiesto di 1) Risolvere la seguente interrogazione

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Dettagli

Componenti di un DBMS

Componenti di un DBMS Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: Controllore di Concorrenza Gestore

Dettagli

1. DML RICORDIAMO. Contenuti: 2.1. Le principali operazioni su relazioni utilizzate nel DML

1. DML RICORDIAMO. Contenuti: 2.1. Le principali operazioni su relazioni utilizzate nel DML 1. DML RICORDIAMO Contenuti: Operazioni su relazioni e DML (Data Manipulation Language in SQL per Access) Esercitazione: uso di DML per organizzare ricerche, con uso di maschere ed uso di SQL (in Access)

Dettagli

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute

Dettagli

Basi di dati: appello 14/07/06

Basi di dati: appello 14/07/06 Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma

Informatica per le Scienze Umane. Introduzione al corso: programma Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni

Dettagli

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti

Dettagli

Organizzazione Fisica dei Dati (Parte II)

Organizzazione Fisica dei Dati (Parte II) Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico

Dettagli

La gestione delle interrogazioni

La gestione delle interrogazioni La gestione delle interrogazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Esecuzione e ottimizzazione delle query Un modulo del DBMS Query processor

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Pag Politecnico di Torino 1

Pag Politecnico di Torino 1 Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,

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

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK. 1. Considerare il problema della stima del Round Trip Time. Supporre che inizialmente RTT valga 200 ms. Il mittente invia un segmento e riceve l ACK relativo dopo 100 ms, quindi invia un altro segmento,

Dettagli

SQL - Sottointerrogazioni

SQL - Sottointerrogazioni una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011) ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLSE IL 25 MAGGIO 2011) Dato il seguente schema E/R consideriamo solo le due gerarchie relative a MANAGER/SEGRETARIA/IMPIEGATO

Dettagli

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 07/02/11 Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ad un sistema per il pagamento automatico del pedaggio autostradale.

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

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

Cap. 1-I 1 I sistemi informatici

Cap. 1-I 1 I sistemi informatici Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento

Dettagli

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle

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

6 + 2Q = 30 4Q. da cui: Q = 4 Sostituendo Q nella funzione di domanda (o nella funzione di offerta), si ottiene: p = 14

6 + 2Q = 30 4Q. da cui: Q = 4 Sostituendo Q nella funzione di domanda (o nella funzione di offerta), si ottiene: p = 14 Esercizio 4.1 L esercizio propone funzioni di domanda e offerta (in forma inversa) e richiede di calcolare il surplus sociale. Occorre innanzitutto calcolare prezzo e quantità di equilibrio, date dall

Dettagli

Basi di dati II Esame 29 settembre 2014

Basi di dati II Esame 29 settembre 2014 Basi di dati II Esame 29 settembre 2014 Rispondere su questo fascicolo. Tempo a disposizione: due ore. Cognome Nome Matricola Domanda 1 (15%) Come dovrebbe essere noto, gli algoritmi che sfruttano i buffer

Dettagli

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1 SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

Le imprese nei mercati concorrenziali

Le imprese nei mercati concorrenziali Le imprese nei mercati concorrenziali Le decisioni di prezzo e di produzione delle imprese sono influenzate dalla forma di mercato. Un caso estremo di mercato è quello della concorrenza perfetta. Tre condizioni:

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base

Dettagli

Esempio di sistema informativo

Esempio di sistema informativo Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini Esempio di sistema informativo GESTIONE

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

Richiami sullo studio di funzione

Richiami sullo studio di funzione Richiami sullo studio di funzione Per studiare una funzione y = f() e disegnarne un grafico approssimativo, possiamo procedere in ordine secondo i seguenti passi:. determinare il campo di esistenza (o

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6 Linguaggio SQL: fondamenti Sistemi informativi Istruzione : fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 al linguaggio SQL Istruzioni

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza

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

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

Data warehouse in Oracle

Data warehouse in Oracle Data warehouse in Oracle Viste materializzate e estensioni al linguaggio SQL per l analisi dei dati presenti nei data warehouse Viste materializzate Paolo Garza 1 Viste materializzate Viste materializzate

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli