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

Documenti analoghi
COME USARE LA PIATTAFORMA PER PREPARARSI AL CONCORSO DOCENTI 2016

Algoritmi. Pagina 1 di 5

NUVOLA COMUNICAZIONI

1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software:

Compilazione on-line del Piano di Studio

SPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);

QUESTIONARIO PER LO STUDIO DELLA PERCEZIONE DEL CENSIMENTO DELLA POPOLAZIONE

Manuale Utente F.IT.A.B. MANUALE UTENTE F.IT.A.B. F.IT.A.B. Pagina 1

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Guida semplice all utilizzo del sistema D-STAR Seconda Parte

COMUNICATO UFFICIALE n 4 del 28/12/2015

Organizzare la scuola inclusiva

Al sistema lo studente accede tramite CODICE FISCALE e PIN (il PIN viene attribuito dalla Segreteria Studenti ad immatricolazione avvenuta).

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

La programmazione in materia di difesa del suolo, della costa e bonifica: le pagine web in Ermes Ambiente

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

Elezioni comunali Esempi di attribuzione dei seggi

Esempi di attribuzione dei seggi

10. Come pianificare appuntamenti

Manuale cliente finale portale accertamenti delibera 40

Guida all uso della piattorma elearning QUICKPLACE

Servizi professionali per operazioni e concorsi a premio.

ALLEGATO 2 SISTRI CLICK DAY REPORT PER LE ASSOCIAZIONI

GUIDA AL TEST DI ACCESSO E ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA

ANAGRAFE NAZIONALE CREDITI FORMATIVI. Manuale utente

MANUALE UTENTE. Sistemi Informativi CONSOB. DIF Dati Informativi Finanziari. Manuale Utente. Data : 03/05/2011 Versione : 1.4

Torneo composto da 32 squadre suddivise in 4 gironi da 8 (serie a, premier league, liga e bundesliga).

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

Guida alla compilazione

Gennaio. SUAP On Line i pre-requsiti informatici: indirizzo PEC

Manuale utente Soggetto Promotore Erogatore Politiche Attive

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

WebReCall - Manuale Utente -

Pratiche Self Service

Progettazione logica

Guida all utilizzo di Campaign Builder

COMMISSIONE PER L ATTIVITA SPORTIVA CALCIO DISTRIBUZIONE CALENDARI

GUIDA STUDENTE PIATTAFORMA ELEARNING MOODLE

Specifiche tecniche e di formato Presentazione comunicazione unica per la nascita d impresa

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software.

Normalizzazione. Definizione

Guida alla gestione delle domande di Dote Scuola per l A.S per i Comuni

Regione Molise. Comunicazioni Obbligatorie. Guida all accreditamento

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Guida all utilizzo della funzionalità Gestione Intermittenti

ALLEGATO 5-BIS. Calcolo del limite al cumulo degli incarichi di amministrazione e controllo di cui all articolo 148-bis, comma 1, del Testo unico

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

Accreditamento al portale di Roma Capitale

Note_Batch_Application 04/02/2011

Manuale Accesso Enti Esterni

Zeroshell su APU1D. By Paolo Iapilone Febbraio Zeroshell su APU1D By Paolo Iapilone

GUIDA OPERATIVA PER L ACCREDITAMENTO NEL REGISTRO DEI REVISORI LEGALI

Guida per il cittadino

GUIDA RAPIDA EDILCONNECT

Procedura operativa per la gestione della funzione di formazione classi prime

Probabilità. Ing. Ivano Coccorullo

Manuale Pubblicazione esito di gara/affidamento diretto svolti al di fuori del sistema SICP

CERTIFICATI DI ANALISI

[GPA GESTIONE PROCEDURE ACQUISTO ]

MATEMATICA GENERALE Prova d esame del 23 maggio FILA A

Quick Start - Accesso e gestione dell area di amministrazione

Manuale di istruzione per l accesso ai servizi CURIT. per Amministratori di Condominio. a cura di ILSPA

COMPILAZIONE DELLA DOMANDA ON LINE

REGOLAMENTO DEL REGISTRO DEGLI INSIDERS

Utilizzo firma digitale all interno della procedura protocollo informatico per l invio delle in partenza

L applicazione dispone di una funzione interna per l Help On Line, ciò nonostante si è realizzato parallelamente il presente manuale.

SCHEDA CLIENTE. Luogo di identificazione San Marino Data di identificazione. Persona Fisica. Nome. Cognome. Nato a/il. Residenza anagrafica

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Avvio del servizio di visura catastale presso gli uffici postali

GUIDA PRATICA ALL UTILIZZO DEL SERVIZIO DI POSTA ELETTRONICA NEL DOMINIO STUDENTI.UNINA2.it

La disposizione estetica della lettera commerciale

Manuale Utente CIG in Deroga Gestione Decreti Regionali

Corso di Informatica

Offerta formativa Elenco componenti commissione d esame GUIDA COMPILAZIONE DOMANDA

Architetture di rete. 4. Le applicazioni di rete

MANUALE ISCRIZIONE E DOMANDA ON-LINE

Manuale Sito Videotrend

Guida utente per l accreditamento al sistema di invio notifiche web SEVESO III.0 di uno stabilimento successivo al primo


Registrazione rivenditori LEGGE 7 agosto 2012, n. 134.

Dati sull azienda PARTE A

INTRODUZIONE ALLE BASI DATI RELAZIONALI

La segreteria didattica dovrà eseguire semplici operazioni per effettuare lo scrutinio:

I grafici a torta. Laboratorio con EXCEL. 1 Come si costruisce un grafico a torta

4.11 CONTROLLO DELLE APPARECCHIATURE

Guida per presentare la candidatura spontanea. presso ANAS S.p.A.

Piattaforma CLiRe. Istruzioni per lo studente. v. 1.1 aggiornata al 23 maggio Centro Linguistico di Ateneo. Simone Torsani CLAT

REGISTRAZIONE ed ACCESSO AL PORTALE PER LA CONSULTAZIONE DELLE FATTURE DI GAS NATURALE E DI ENERGIA ELETTRICA

Guida Compilazione Questionario SCUOLA DELL INFANZIA PARITARIA

Manuale per la presentazione e gestione dei Voucher

MANUALE ISCRIZIONE E DOMANDA ON-LINE

e-geocoding Normalizzazione codifiche geografiche Il problema

Selezione per messaggio Sedex e Movpop

P R O T O C O L L O P E R I L C A M B I O D I A N N O F I S CALE

Istruzioni per la compilazione dei moduli di domanda interattivi del Comune di Vignola

Ministero della Salute

MANUALE ISCRIZIONE E DOMANDA ON-LINE

Transcript:

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 transazione che coinvolge tre nodi, un coordinatore C e due partecipanti P1 e P2. Dopo la richiesta di prepare da parte del coordinatore C, i due partecipanti ricevono e rispondono correttamente, e uno dei due, P1, va in crash subito dopo aver risposto. Il coordinatore riceve le risposte, prende la decisione, invia i relativi messaggi e subito dopo va anch esso in crash (quindi senza fare in tempo a ricevere le conferme). Indicare, nello schema sottostante, una possibile sequenza di scritture sui log e invio di messaggi, supponendo che entrambi i nodi siano ripristinati abbastanza presto (ma che il coordinatore perda i messaggi di risposta inviati ad esso a seguito del commit). Per semplicità, si fa riferimento ad una sola transazione e quindi non c è bisogno di indicarla. Per i messaggi si usi la notazione tipo destinatari (come nell esempio: prepare P1,P2). Supporre che nel log del coordinatore si scrivano solo i record di prepare, commit e complete, mentre i messaggi sono gestiti in memoria. Nodo C Nodo P1 Nodo P2 Log Messaggi Log Messaggi Log Messaggi prepare(p1,p2) prepare P1,P2 crash crash restart restart Eventuali commenti:

Domanda 2 (40%) Considerare uno schema dimensionale relativo a presenze e reti di giocatori di calcio, che utilizzi, come tabella dei fatti e come una delle dimensioni, relazioni come quelle qui schematizzate: KGiocatore KSquadra KTorneo KStagione Presenze Reti 301 201 401 21...... 301 202 402 28...... 302 201 401 30...... 302 203 403 22........................ KTorneo Nome... 401 Serie A... 402 Coppa dei Campioni... 403 Coppa Italia............ Supporre che si presentino le seguenti esigenze di modifica: I tornei possono cambiare nome nel tempo: per esempio, il torneo nella prima ennupla potrebbe ad un certo punto cambiare nome da Coppa dei Campioni in Champions League ; interessano selezioni e aggregazioni relative alle presenze e alle reti tanto con riferimento al nome del torneo (distinguendo quindi la Coppa dei Campioni dalla Champions League ) quanto alla sua identità ( Coppa dei Campioni e Champions League in questo senso avrebbero la stessa identità; allo scopo si usa un codice, ma gli analisti talvolta preferiscono usare il nome attuale del torneo, quindi nell esempio Champions League anche per le vecchie edizioni). Le modifiche sono rare, ma è possibile che ci siano tornei con vari cambiamenti di nome. Mostrare modifiche alle relazioni (una o entrambe) che permettano di soddisfare questa esigenza (mostrare i dati, con riferimento a quelli presenti negli esempi sopra, aggiungendo nuovi dati ragionevoli, che permettano di comprendente le modifiche).

Per ogni giocatore, interessa rappresentare anche l allenatore sotto la guida del quale ha giocato (per sommare ad esempio presenze e reti segnate con un certo allenatore); supporre (anche se l ipotesi non è realistica) che ogni squadra abbia, in ciascuna stagione, un solo allenatore e che siano disponibili, nella staging area, tutti i dati relativi agli allenatori nelle varie stagioni. Anche in questo caso, mostrare le modifiche da apportare a una o a entrambe le relazioni. Con riferimento al punto precedente, considerare invece il caso, più realistico, in cui gli allenatori possono cambiare nel corso della stagione. Indicare quali modifiche sarebbero necessarie allo schema dimensionale e, soprattutto, quali dati sarebbero necessari nella staging area per poter riorganizzare il tutto.

Domanda 3 (20%) Supporre di voler organizzare una riunione in una certa data, seguendo un protocollo simile al commit a due fasi, procedendo attraverso chiamate telefoniche ai partecipanti, nel modo seguente: il coordinatore telefona a ciascuno dei partecipanti, chiedendo la disponibilità; se tutti dichiarano di essere disponibili, decide di svolgere la riunione, altrimenti no dopo la decisione, il coordinatore telefona di nuovo a tutti coloro che hanno dato disponibilità, per informarli sulla decisione. Rispondere alle domande negli spazi sottostanti. Quale potrebbe essere un punto debole della procedura (pensare al caso in cui per partecipare alla riunione i partecipanti debbano organizzare un viaggio)? Quale condizione sarebbe necessaria per garantire l efficacia? È sufficiente ritelefonare solo a coloro che hanno dato disponibilità? Perché? Domanda 4 (20%) Per ciascuno degli schedule sotto riportati, indicare, scrivendo sì o no in ciascuna casella, a quali classi appartiene: S (seriale, rispetto a letture e scritture, ignorare commit e abort), CSR (conflict-serializzabile), S2PL (cioè generabile da uno scheduler basato su 2PL stretto), MV (cioè generabile da uno scheduler multiversion con controllo di serializzabilità: a serializable transaction cannot modify or lock rows changed by other transactions after the serializable transaction began ). Negli schedule, s i indica l inizio della transazione i e c i il suo commit. S CSR S2PL MV s 1, r 1 (x), w 1 (x), s 2, r 2 (x), w 2 (x), c 2, s 3, r 3 (y), w 3 (y), c 3, r 1 (y), w 1 (y), c 1 s 2, r 2 (x), w 2 (x), c 2, s 1, r 1 (x), w 1 (x), c 1 s 1, r 1 (x), s 2, r 2 (x), w 1 (x), c 1, w 2 (x), c 2 s 1, r 1 (x), s 2, r 2 (x), w 2 (x), r 2 (y), w 2 (y), c 2, r 1 (y), c 1

Basi di dati II Prova parziale 29 maggio 2014 Compito A Cenni sulle soluzioni (solo Compito A, le varianti del testo sono in rosso) Tempo a disposizione: un ora e trenta minuti. Cognome Nome Matricola Domanda 1 (20%) Considerare un sistema distribuito su cui viene eseguita una transazione che coinvolge tre nodi, un coordinatore C e due partecipanti P1 e P2. Dopo la richiesta di prepare da parte del coordinatore C, i due partecipanti ricevono e rispondono correttamente, e uno dei due, P1, va in crash subito dopo aver risposto. Il coordinatore riceve le risposte, prende la decisione, invia i relativi messaggi e subito dopo va anch esso in crash (quindi senza fare in tempo a ricevere le conferme). Indicare, nello schema sottostante, una possibile sequenza di scritture sui log e invio di messaggi, supponendo che entrambi i nodi siano ripristinati abbastanza presto (ma che il coordinatore perda i messaggi di risposta inviati ad esso a seguito del commit). Per semplicità, si fa riferimento ad una sola transazione e quindi non c è bisogno di indicarla. Per i messaggi si usi la notazione tipo destinatari (come nell esempio: prepare P1,P2). Supporre che nel log del coordinatore si scrivano solo i record di prepare, commit e complete, mentre i messaggi sono gestiti in memoria. Nodo C Nodo P1 Nodo P2 Log Messaggi Log Messaggi Log Messaggi prepare(p1,p2) prepare P1,P2 ready ready C ready ready C crash commit commit P1,P2 crash commit ack C restart commit P1,P2 ack C restart complete commit P1 commit ack C Eventuali commenti:

Domanda 2 (40%) Considerare uno schema dimensionale relativo a presenze e reti di giocatori di calcio, che utilizzi, come tabella dei fatti e come una delle dimensioni, relazioni come quelle qui schematizzate: KGiocatore KSquadra KTorneo KStagione Presenze Reti 301 201 401 21...... 301 202 402 28...... 302 201 401 30...... 302 203 403 22........................ KTorneo Nome... 401 Serie A... 402 Coppa dei Campioni... 403 Coppa Italia............ Supporre che si presentino le seguenti esigenze di modifica: I tornei possono cambiare nome nel tempo: per esempio, il torneo nella prima ennupla potrebbe ad un certo punto cambiare nome da Coppa dei Campioni in Champions League ; interessano selezioni e aggregazioni relative alle presenze e alle reti tanto con riferimento al nome del torneo (distinguendo quindi la Coppa dei Campioni dalla Champions League ) quanto alla sua identità ( Coppa dei Campioni e Champions League in questo senso avrebbero la stessa identità; allo scopo si usa un codice, ma gli analisti talvolta preferiscono usare il nome attuale del torneo, quindi nell esempio Champions League anche per le vecchie edizioni). Le modifiche sono rare, ma è possibile che ci siano tornei con vari cambiamenti di nome. Mostrare modifiche alle relazioni (una o entrambe) che permettano di soddisfare questa esigenza (mostrare i dati, con riferimento a quelli presenti negli esempi sopra, aggiungendo nuovi dati ragionevoli, che permettano di comprendente le modifiche). La dimensione Torneo va gestita come una slowly changing dimension, con un doppio accorgimento: va aggiunta una ennupla per ogni nuova versione di torneo vanno aggiunti un attributo con il nome attuale anche per la versione precedente e uno con un codice KTorneo Codice NomeAlMomento NomeAttuale... 401 T1 Serie A Seria A... 402 T2 Coppa dei Campioni Champions League... 403 T3 Coppa Italia Coppa Italia.................. 409 T2 Champions League Champions League...

Per ogni giocatore, interessa rappresentare anche l allenatore sotto la guida del quale ha giocato (per sommare ad esempio presenze e reti segnate con un certo allenatore); supporre (anche se l ipotesi non è realistica) che ogni squadra abbia, in ciascuna stagione, un solo allenatore e che siano disponibili, nella staging area, tutti i dati relativi agli allenatori nelle varie stagioni. Anche in questo caso, mostrare le modifiche da apportare a una o a entrambe le relazioni. Va aggiunta, per l allenatore, una dimensione secondaria (o supplementare), cioè una dimensione la cui chiave, nella tabella dei fatti, dipende funzionalmente da altre Il valore da inserire per ogni ennupla viene univocamente determinato dai valori delle chiavi di squadra e stagione. KGiocatore KSquadra KTorneo KStagione KAllenatore Presenze Reti 301 201 401 21......... 301 202 402 28......... 302 201 401 30......... 302 203 403 22.............................. (Seguendo la consuetudine, KAllenatore è sottolineato, anche se in effetti non sarebbe corretto). Va anche aggiunta una tabella per la dimensione allenatore. KAllenatore Cognome........................ Con riferimento al punto precedente, considerare invece il caso, più realistico, in cui gli allenatori possono cambiare nel corso della stagione. Indicare quali modifiche sarebbero necessarie allo schema dimensionale e, soprattutto, quali dati sarebbero necessari nella staging area per poter riorganizzare il tutto. In questo caso l allenatore non è univocamente individuato dalle altre dimensioni e quindi la relativa dimensione non è secondaria. Lo schema rimane apparentemente lo stesso, con l unica differenza che KAllenatore diventa parte effettiva della chiave della tabella dei fatti. La vera differenza è nel contenuto: la grana è diversa, e ci possono essere più ennuple per un giocatore e una stagione. La tabella dei fatti va quindi ricalcolata e l unica possibilità ragionevole per farlo è la disponibilità, nella staging area, dei dati di tutte le partite (qualunque altra ipotesi, ad esempio sui periodi è poco realistica.

Domanda 3 (20%) Supporre di voler organizzare una riunione in una certa data, seguendo un protocollo simile al commit a due fasi, procedendo attraverso chiamate telefoniche ai partecipanti, nel modo seguente: il coordinatore telefona a ciascuno dei partecipanti, chiedendo la disponibilità; se tutti dichiarano di essere disponibili, decide di svolgere la riunione, altrimenti no dopo la decisione, il coordinatore telefona di nuovo a tutti coloro che hanno dato disponibilità, per informarli sulla decisione. Rispondere alle domande negli spazi sottostanti. Quale potrebbe essere un punto debole della procedura (pensare al caso in cui per partecipare alla riunione i partecipanti debbano organizzare un viaggio)? Quale condizione sarebbe necessaria per garantire l efficacia? Possibile risposta Il protocollo è asincrono. La prima fase può essere gestita con timeout ma la seconda no. Una garanzia per l efficacia potrebbe essere la certezza che tutti rispondano al telefono quando li cerchiamo. È sufficiente ritelefonare solo a coloro che hanno dato disponibilità? Perché? Possibile risposta Sì, perché sono i soli ad avere impegnato il proprio tempo, gli altri, avendo detto di no, sanno già che la riunione non ci sarà. Domanda 4 (20%) Per ciascuno degli schedule sotto riportati, indicare, scrivendo sì o no in ciascuna casella, a quali classi appartiene: S (seriale, rispetto a letture e scritture, ignorare commit e abort), CSR (conflict-serializzabile), S2PL (cioè generabile da uno scheduler basato su 2PL stretto), MV (cioè generabile da uno scheduler multiversion con controllo di serializzabilità: a serializable transaction cannot modify or lock rows changed by other transactions after the serializable transaction began ). Negli schedule, s i indica l inizio della transazione i e c i il suo commit. Soluzioni per il compito A S CSR S2PL MV s 1, r 1 (x), w 1 (x), s 2, r 2 (x), w 2 (x), c 2, s 3, r 3 (y), w 3 (y), c 3, r 1 (y), w 1 (y), c 1 no sì no no s 2, r 2 (x), w 2 (x), c 2, s 1, r 1 (x), w 1 (x), c 1 sì sì sì sì s 1, r 1 (x), s 2, r 2 (x), w 1 (x), c 1, w 2 (x), c 2 no no no no s 1, r 1 (x), s 2, r 2 (x), w 2 (x), r 2 (y), w 2 (y), c 2, r 1 (y), c 1 no no no sì * (*) in questo caso r 1 (y) legge il valore di y all inizio della transazione 1, cioè prima della scrittura w 2 (y)