• Non ci sono risultati.

Compito di Basi di dati - Informatica 9 CFU 17 febbraio 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati - Informatica 9 CFU 17 febbraio 2011"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati - Informatica 9 CFU

17 febbraio 2011

Esercizio 1:

Sia dato il seguente schema relazionale relativo agli studenti, ai corsi e ai docenti di un determinato corso di laurea universitario:

Studenti(M atricola, N ome, Cognome, telef ono);

Corsi(Codice, N ome, Docente);

Esami(Studente, Corso, V oto).

Si assuma che ogni studente sia identificato univocamente dalla sua matricola e sia caratterizzato da un nome, da un cognome e da un recapito telefonico. Si assuma anche che ogni corso sia identificato univocamente dal suo codice, abbia un’unico nome e sia insegnato da un unico docente. Si assuma, inoltre, che ogni docente sia identificato univocamente dal suo cognome e possa tenere pi`u corsi. Si assuma, infine, che ci possano essere pi`u corsi (diversi) con lo stesso nome, non necessariamente tenuti dallo stesso docente. Si assuma, infine, che vengano registrati solo gli esami sostenuti e superati, col relativo voto.

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) tutti gli studenti che hanno superato un solo esame col docente Lupo;

(b) per ogni corso, il docente che lo tiene, il numero di esami registrati e il voto medio.

Formulare, inoltre, opportune interrogazioni in SQL che permettano di determinare (usando solo se nec- essario le funzioni aggregate):

(a) tutti gli studenti che hanno superato un solo esame col docente Lupo;

(b) per ogni corso, il docente che lo tiene, il numero di esami registrati e il voto medio;

(c) (FACOLTATIVO) gli studenti che hanno superato un soprainsieme proprio degli esami superati dallo studente Mirco Grillo (si assuma che vi sia un unico studente che si chiama Mirco Grillo).

Esercizio 2:

Vogliamo modellare le seguenti informazioni riguardanti gli impiegati di un’azienda, i dipartimenti a cui afferiscono, le competenze che possiedono e i progetti a cui partecipano.

• Ogni impiegato ha una matricola, assegnatagli dalla societ`a, che lo identifica univocamente. Di ogni impiegato interessano il nome e il cognome, la data di nascita e la data di assunzione. Se un impiegato `e coniugato con un altro impiegato della stessa societ`a, interessano la data del matrimonio e il coniuge. Ogni impiegato ha una qualifica (ad esempio, segretario, impiegato, programmatore, analista, progettista, ecc.). Dei laureati e dei segretari interessano anche altre informazioni. Dei laureati interessa il tipo di laurea e dei segretari le lingue conosciute.

1

(2)

• La societ`a `e organizzata in dipartimenti. Ciascun dipartimento `e identificato univocamente dal nome e possiede un recapito telefonico. Dipartimenti distinti hanno un diverso recapito telefonico. Ogni impiegato afferisce ad un unico dipartimento. Ogni dipartimento viene rifornito da vari fornitori e un fornitore pu`o rifornire vari dipartimenti. Di ogni fornitore interessano il nome e l’indirizzo.

• I progetti sono identificati da un numero e sono caratterizzati da una citt`a e da un budget. Pi`u impiegati possono essere coinvolti in uno stesso progetto. Un impiegato pu`o partecipare a pi`u progetti, ma pu`o essere assegnato ad un unico progetto per citt`a. Di ogni citt`a con almeno un progetto, interessano il numero di residenti e la regione di appartenenza. Un impiegato pu`o avere pi`u competenze, ma usarne solo alcune per un particolare progetto. Un impiegato usa ogni sua competenza in almeno un progetto. Ad ogni competenza `e assegnato un codice, che la identifica univocamente, e una descrizione.

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 (identificando le possibili chiavi) e relazione. Vanno specificati accuratamente i vincoli di cardinalit`a e partecipazione di ciascuna relazione. Si definiscano anche eventuali regole aziendali (regole di derivazione e vincoli di integrit`a) necessarie per codificare alcuni dei requisiti attesi del sistema.

Esercizio 3:

Si spieghi perch´e l’anomalia di lettura sporca non viene evitata dai metodi VSR, CSR e 2PL. Suc- cessivamente, si stabilisca se i seguenti schedule appartengono o meno all’insieme degli schedule VSR, CSR, TS, 2PL e 2PL stretto:

1. s1: r3(y), r3(z), r1(x), w1(x), w3(y), w3(z), r2(z), r1(y), w1(y), r2(y), w2(y), r2(x), w2(x);

2. s2: r2(z), r2(y), w2(y), r3(y), r3(z), r1(x), w1(x), w3(y), w3(z), r2(x), r1(y), w1(y), w2(x).

Esercizio 4:

Sia dato il seguente insieme di chiavi:

13, 5, 18, 7, 14, 9, 17, 2, 23, 30, 22, 3, 16, 20, 1.

• Costruire un B+-albero con ordine dei nodi interni pari a 3 e ordine dei nodi foglia pari a 2, inserendo un elemento dopo l’altro nell’ordine dato;

• si determini la sequenza di nodi del B+-albero visitati per accedere al record associato al valore 18 (point query);

• si determini la sequenza di nodi del B+-albero visitati per accedere ai record associati ai valori compresi tra 16 e 22 (range query).

Riferimenti

Documenti correlati

• Ogni medico, primari compresi, sia identificato univocamente dal codice fiscale e sia caratterizzato da un nome, un cognome, dall’anno di nascita e da una o pi` u specializzazioni.

• ogni paziente sia identificato univocamente dal codice fiscale, sia caratterizzato da un nome, un cognome e un anno di nascita, e si trovi in un letto di un dato reparto;.. •

• Ogni collegamento giornaliero offerto da una determinata compagnia di navigazione sia identificato univocamente da un numero progressivo (ad esempio, il collegamento numero 3

Di ogni persona coinvolta in almeno un incidente vengano memorizzati il codice fiscale, o documento equivalente nel caso di stranieri, che lo identifica univocamente, il nome,

• (i) ogni gara sia identificata univocamente dal suo nome (ad esempio, non vi possano essere due gare di salto in alto femminile), (ii) gare diverse possano avere lo stesso orario

• Per ogni specifica istanza di tratta, la data in cui avr` a luogo (ad esempio, la tratta Trieste-Monaco del 25 febbraio 2012), l’aeroplano utilizzato (si assuma che su una

La banca memorizzata nome, cognome e recapito telefonico di ogni suo dipendente, pi` u il nome dell’eventuale supervisore (un altro dipendente della banca).. Un impiegato pu` o

• ogni volo sia identificato univocamente da un opportuno codice (ad esempio, il codice FR4984 iden- tifichi il volo Ryanair da Parigi Beauvais a Venezia delle 10:45) e