• Non ci sono risultati.

Compito di Basi di dati - Informatica 9 CFU 17 luglio 2013

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati - Informatica 9 CFU 17 luglio 2013"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati - Informatica 9 CFU

17 luglio 2013

Esercizio 1:

Sia dato il seguente schema di una base di dati relazionale relativo agli insegnamenti universitari tenuti da un dato insieme di docenti:

Insegnamento(N um insegnamento, Cod docente, Aula, Argomento);

Docenti(Cod docente, N ome, Cognome, N uf f icio, N telef ono);

F requenta(N um insegnamento, M atr studente).

Si assuma che ogni docente possa tenere pi`u insegnamenti, ma che ogni insegnamento sia tenuto da un unico docente. Si assuma, inoltre, che ogni insegnamento si tenga sempre nella stessa aula e che abbia un solo argomento (ad esempio, basi di dati). Si assuma che insegnamenti diversi possano essere tenuti nella stessa aula (in intervalli di tempo diversi). Si assuma, infine, che ogni docente disponga di un unico ufficio e di un unico numero di telefono.

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):

(a) gli studenti che seguono tutti gli insegnamenti tenuti dal docente Cecconi e nessun insegnamento tenuto dal docente Russi;

(b) per ogni docente, il numero di insegnamenti e il numero medio di studenti per insegnamento;

(c) il cognome dei docenti i cui insegnamenti non sono frequentati dagli studenti che frequentano il maggior numero di insegnamenti.

Esercizio 2:

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

Esercizio 3:

Si voglia modellare il seguente insieme di informazioni riguardanti un sistema per la gestione degli animali di uno zoo.

• Ogni esemplare di animale ospitato `e caratterizzato da un genere (ad esempio, zebra) e da un codice unico all’interno del genere di appartenenza. Per ogni esemplare, si memorizzano la data di arrivo nello zoo, il nome proprio, il sesso, il paese di provenienza e la data di nascita.

• Lo zoo `e diviso in aree. Ogni area `e identificata univocamente dal suo nome. In ogni area c’`e un insieme di case, ognuna destinata ad un determinato genere di animali. Ogni casa `e caratterizzata da un numero progressivo (1, 2, 3, ..) che la identifica univocamente all’interno dell’area di ap- partenenza. Ogni casa contiene un insieme di gabbie, ciascuna contraddistinta da una lettera (A,

1

(2)

B, C, ..), che la identifica univocamente all’interno della casa. Ogni gabbia contiene un solo esem- plare. Ogni casa ha un addetto che pulisce tutte le gabbie in essa presenti in un determinato giorno della settimana. Uno stesso addetto pu`o avere l’incarico di pulire pi`u case (in giorni diversi della settimana).

• Gli animali sono sottoposti periodicamente a controllo veterinario. In un controllo, un veterinario rileva il peso degli esemplari, diagnostica eventuali malattie e prescrive il tipo di dieta da seguire.

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 di derivazione e/o vincoli di integrit`a necessari per codificare alcuni dei requisiti attesi del sistema.

Esercizio 4:

Stabilire se i seguenti schedule appartengono o meno a VSR, CSR , 2PL e 2PL stretto:

s1: 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);

s2: 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);

s3: r1(x), r4(x), w4(x), r1(y), r4(z), w4(z), w3(y), w3(z), w1(t), w2(z), w2(t).

Esercizio 5:

Si descrivano brevemente e si confrontino fra loro le diverse tecniche di hashing esterno con espansione dinamica del file, mettendone in evidenza le caratteristiche comuni e le differenze.

Riferimenti

Documenti correlati

Ogni allenatore sia identificato univocamente dal codice fiscale e sia caratterizzato dal nome, dal cognome, dal club per cui lavora e dallo stile / dagli stili che insegna. •

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

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

Sulla base delle conseguenze sui passeggeri coinvolti, gli incidenti vengano classificati in tre categorie principali: (i) incidenti mortali, quando almeno uno dei passeggeri

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