• Non ci sono risultati.

Compito di Basi di dati 5 settembre 2016 Esercizio 1:

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati 5 settembre 2016 Esercizio 1:"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati

5 settembre 2016

Esercizio 1:

Sia dato il seguente schema relazionale relativo ai maratoneti professionisti italiani e alle maratone alle quali hanno partecipato:

Maratoneta(CodiceFiscale, Nome, Cognome, AnnoNascita, Societ`aDiAppartenenza);

Maratona(Nome, Anno, Data);

Partecipazione(Atleta, Maratona, Anno, Posizione).

Si assuma che ogni maratoneta sia identificato univocamente dal suo codice fiscale e sia contraddistinto dal nome, dal cognome, dall’anno di nascita e dalla societ`a sportiva di appartenenza. Si assuma, inoltre, che ogni maratona (ad esempio, la maratona di New York) si tenga con cadenza annuale (ad esempio, l’edizione della maratona di New York del 2015). Ad ogni edizione di una maratona sia associato il giorno in cui ha avuto luogo (si assuma che tale giorno possa variare da un anno all’altro). Si assuma, infine, che venga registrata la posizione d’arrivo di ogni atleta nelle gare a cui ha partecipato (si assuma di inserire il “valore” NULL nel caso in cui l’atleta si sia ritirato).

Definire preliminarmente le chiavi primarie, le eventuali altre chiavi candidate e, se ve ne sono, le chiavi esterne delle relazioni date. Successivamente, formulare opportune interrogazioni in algebra relazionale che permettano di determinare (senza usare l’operatore di divisione e usando solo se necessario le funzioni aggregate):

(a) gli atleti che nel biennio 2014-2015 hanno partecipato ad almeno 3 gare;

(b) gli atleti che hanno partecipato ad al pi`u due edizioni di una stessa maratona, ossia tali che non esista una maratona che li abbia visti presenti a tre o pi`u edizioni;

(c) gli atleti che hanno partecipato ad un soprainsieme proprio delle edizioni della maratona di New York alle quali ha partecipato l’atleta MLNSBS86H14L666H (si assuma che MLNSBS86H14L666H abbia partecipato ad almeno un’edizione della maratona di New York).

Esercizio 2:

Con riferimento all’Esercizio 1, formulare opportune interrogazioni in SQL che permettano di determinare quanto richiesto (senza usare l’operatore CONTAINS e usando solo se e quando necessario le funzioni aggregate).

Esercizio 3:

Si vuole progettare una base di dati contenente informazioni sui principali laghi e fiumi europei. Le infor- mazioni pi`u importanti di cui tener conto sono le seguenti:

• Si vuole tener traccia delle diverse nazioni europee. Di ogni nazione, identificata univocamente dal proprio nome, vengono registrate le seguenti informazioni: popolazione (relativa al mese di gennaio 2016), superficie, capitale e nazioni europee confinanti.

• Di ogni fiume vengono registrati il nome, che lo identifica univocamente, le nazioni europee attraversate, per ogni nazione europea attraversata, la lunghezza del relativo tratto di fiume e la lunghezza totale del fiume.

Limitatamente ai fiumi registrati nella base di dati, si vuole, inoltre, rappresentare il fatto che un fiume possa essere affluente di un altro fiume.

• Di ciascun lago, identificato univocamente dal nome, interessano la superficie, la profondita massima e le nazioni europee da esso bagnate. Limitatamente ai fiumi registrati nella base di dati, devono essere rappre- sentati anche gli eventuali immissari e emissari di ogni lago (ad esempio, il fiume Sarco `e uno degli immissari del lago di Garda, mentre il fiume Mincio `e l’unico emissario di tale lago).

1

(2)

Si definisca uno schema Entit`a-Relazioni che descriva il contenuto informativo del sistema, illustrando con chiarezza le eventuali assunzioni fatte. Lo schema dovr`a essere completato con attributi ragionevoli per ciascuna entit`a (iden- tificando le possibili chiavi) e relazione. Vanno specificati accuratamente i vincoli di cardinalit`a e partecipazione di ciascuna relazione. Si definiscano anche eventuali regole di gestione (regole di derivazione e vincoli di integrit`a) necessarie per codificare alcuni dei requisiti attesi del sistema.

Esercizio 4:

Anna, Biagio e Carla eseguono concorrentemente tre transazioni sullo schema R(A) di una base di dati.

Anna esegue la transazione seguente:

start transaction;

set transaction isolation level serializable;

select sum(A) from R;

commit;

Biagio esegue la transazione seguente:

start transaction;

set transaction isolation level serializable;

delete from R where A = 10;

delete from R where A = 20;

delete from R where A = 30;

commit;

Carla esegue la transazione seguente:

start transaction;

set transaction isolation level serializable;

insert into R values (10);

insert into R values (20);

commit;

Si assuma che, prima dell’inizio di tali transazioni, la somma dei valori presenti in R sia 100 e che R non contenga i valori 10 e 20, ma contenga il valore 30. Si specifichi, giustificando la risposta, quali sono i possibili output della transazione di Anna.

Esercizio 5:

Dato il seguente insieme di chiavi:

2, 1, 17, 18, 21, 13, 14, 7, 6, 11, 12, 15, 3, 20, 5, 4, 16,

mostrare il B+-albero, con ordine dei nodi interni p = 5 e ordine dei nodi foglia pleaf = 4, ottenuto inserendo un elemento dopo l’altro nell’ordine dato (riportando la sequenza di alberi generata dal processo di inserimento).

Successivamente, si identifichino i nodi del B+-albero visitati nella ricerca di rispettivamente: (i) il record con- traddistinto dal valore 8 (point query), (ii) il record contraddistinto dal valore 7 (point query) e (iii) i record con valori compresi nell’intervallo 6-16 (range query).

Riferimenti

Documenti correlati

Ogni citt` a sia identificata univocamente dal suo nome all’interno dello stato in cui si trova, ossia, non vi siano due citt` a con lo stesso nome nello stesso stato, ma non si

Si assuma che ogni insegnamento sia identificato univocamente da un codice e sia caratterizzato dal codice del docente che lo tiene, dall’area disciplinare in cui si colloca

(fc Si determinino dimensione e struttura di un B-albero, con campo di ricerca il campo chiave primaria V , puntatore ai dati di dimensione pari a 7 byte e puntatore ausiliario

L’esecuzione di un intervento relativo ad una data richiesta deve ovviamente essere assegnata ad un tecnico che ha le competenze neces- sarie (corrispondenza tra tipologia del

• ogni proiezione di un film sia caratterizzata univocamente dalla data, dall’ora e dalla sala (di un dato cinema) in cui ha luogo (si assuma che nella stessa data e nella stessa

• ogni dipartimento possa formulare delle richieste d’acquisto; ogni richiesta d’acquisto formulata da un dipar- timento sia caratterizzata da un numero progressivo, che la

Si assuma che ogni studente sia identificato univocamente dal suo codice fiscale e sia caratterizzato da nome, cognome, anno di nascita e classe (ogni classe sia identificata da

• ogni reparto possa formulare delle richieste d’acquisto; ogni richiesta d’acquisto formulata da un dato reparto sia caratterizzata da un numero progressivo, che la