• Non ci sono risultati.

Compito di Basi di dati 11 settembre 2015 Esercizio 1:

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati 11 settembre 2015 Esercizio 1:"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati

11 settembre 2015

Esercizio 1:

Sia dato il seguente schema relazionale per la gestione dei risultati finali (pagelle) di una scuola media superi- ore:

STUDENTE(codiceFiscale, nome, cognome, annoDiNascita, classe);

DOCENTE(codiceFiscale, nome, cognome, annoDiNascita);

MATERIA(nome, areaDisciplinare);

INSEGNA(docente, materia, classe);

RISULTATO(studente, materia, voto).

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 un numero, compreso tra 1 e 5, e una lettera;

ad esempio, classe 3A). Si assuma, inoltre, che ogni docente sia identificato univocamente dal suo codice fiscale e sia caratterizzato da nome, cognome e anno di nascita. Si assuma che ogni materia sia identificata univocamente dal nome e sia caratterizzata da un’area disciplinare di appartenenza (linguistica, scientifica, umanistica, ..). Si assuma che un docente possa insegnare pi`u materie in una stessa classe e la stessa materia in classi diverse, e che una stessa materia possa essere insegnata da docenti diversi in classi diverse. Infine, si assuma che attraverso la relazione RISULTATO vengano registrati i voti finali (pagelle) ottenuto dai diversi studenti nelle diverse materie.

Si assuma che il valore dell’attributo voto sia un numero compreso tra 0 e 10.

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 e quando necessario le funzioni aggregate):

(i) gli studenti che hanno ricevuto un voto insufficiente (minore o uguale a 5) in due o tre materie;

(ii) gli studenti che in tutte le materie hanno ricevuto un voto pi`u alto di quello di tutti gli altri studenti della stessa classe;

(iii) gli studenti che hanno ricevuto un voto pi`u alto di quello di tutti gli altri studenti della stessa classe in almeno una materia.

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 per la gestione di una catena di esercizi commerciali di propriet`a di una singola azienda operante sul territorio nazionale.

• Ogni esercizio commerciale sia caratterizzato da un nome, che lo identifica univocamente, un indirizzo e un responsabile. Ogni esercizio commerciale possa essere gestito direttamente dall’azienda o dato in gestione a terzi.

• Degli esercizi dati in gestione a terzi, si vuole conoscere l’ammontare dell’affitto che i gestori versano all’azienda; degli esercizi gestiti direttamente, si vogliono conoscere il numero dei dipendenti e, per ognuno di loro, il codice fiscale, il nome, il cognome, un recapito telefonico e lo stipendio mensile.

1

(2)

• Si vuol tener traccia di tutti gli articoli trattati dai diversi esercizi commerciali. Si assuma che non nec- essariamente tutti gli articoli siano trattati da tutti gli esercizi. Di ogni articolo, vogliamo registrare il fornitore (assumiamo che per ogni articolo vi sia un unico fornitore che rifornisce tutti gli esercizi che trat- tano quell’articolo), il codice, che lo identifica univocamente fra tutti gli articoli forniti dal fornitore, e il costo di acquisto. Di ogni articolo vogliamo, inoltre, registrare lo scorta di magazzino e il prezzo di vendita dei diversi esercizi (si assuma che esercizi diversi possano vendere uno stesso articolo a prezzi diversi).

• Infine, si vuole registrare la spesa per operazioni pubblicitarie effettuata da ogni esercizio di propriet`a dell’azienda, tenendo traccia dei mezzi di comunicazione e delle agenzie pubblicitarie utilizzati.

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.

Esercizio 4:

Si consideri la seguente esecuzione concorrente di due transazioni T1 e T2:

Tempo Sessione 1 (T1) Sessione 2 (T2)

1 start transaction read only;

2 select * from conto where num = ’12345’;

3 start transaction;

4 update conto set saldo = 20

where num = ’12345’;

5 select * from conto where num = ’12345’;

6 commit;

7 commit;

Si spieghi in dettaglio il comportamento di tale esecuzione concorrente nel caso in cui T1 e T2 siano eseguite nel livello read uncommitted e nel caso in cui T1 e T2 siano eseguite nel livello serializable con il protocollo 2PL stretto. Si assuma che il saldo iniziale del conto 12345 sia 10.

Esercizio 5:

Si consideri un file contenente 10000000 record di dimensione prefissata pari a 100 byte, memorizzati in bloc- chi di dimensione pari a 4096 byte in modo unspanned. La dimensione del campo chiave primaria V sia 14 byte;

la dimensione del puntatore a blocco P sia 6 byte.

(a) Si assuma che il file non sia ordinato rispetto alla chiave primaria V . Determinare il numero medio di accessi a blocco richiesto da una ricerca con indice secondario costruito sul campo chiave V .

(b) Si determinino dimensione e struttura di un indice multilivello statico ottenuto a partire dall’indice secondario di cui al punto (a).

(c) 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 di dimensione pari a 6 byte, assumendo che ciascun nodo del B-albero sia pieno al 70%.

Riferimenti

Documenti correlati

• 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

• Per ogni impiegato, il codice dell’impiegato, il numero del progetto cui sta attualmente lavorando, il numero dell’ufficio e il numero del telefono a lui assegnato (si assuma che

Il numero di posti disponibili per un dato concerto pu` o ovviamente variare da ambiente ad ambiente, ma anche in uno stesso ambiente pu` o variare da concerto a concerto (se l’evento

Ogni genere di pianta presente nel giardino sia identificato univocamente dal suo nome (ad esempio, ciclamino) ed sia caratterizzato dalla famiglia di appartenenza (ad esempio,

Dei voli passati interessa mantenere date e ore effettive di partenza e di arrivo (ad esempio, partenza il 21 gennaio 201,5 alle ore 16:45, e arrivo il 21 gennaio 2015, alle ore

Ogni paziente sia identificato univocamente dal suo codice fiscale e sia caratterizzato da un nome, un cognome, un indirizzo, un recapito telefonico e una data di nascita. Ad

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