• Non ci sono risultati.

Compito di Basi di dati - Informatica 9 CFU 26 gennaio 2012

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati - Informatica 9 CFU 26 gennaio 2012"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati - Informatica 9 CFU

26 gennaio 2012

Esercizio 1:

Sia dato il seguente schema relazionale di una base di dati contenente informazioni relative alla gestione degli esami sostenuti dagli studenti di uno specifico corso di laurea triennale di una data universit`a:

corso(codiceCorso, nomeCorso, docente, semestre);

studente(matricola, nome, cognome, annoImmatricolazione);

esame(studente, corso, anno, voto).

Si assuma che:

• ogni corso sia identificato univocamente dal proprio codice, ogni docente dal proprio codice fiscale e ogni studente dalla propria matricola;

• possano esistere pi`u corsi con lo stesso nome, ovviamente caratterizzati da un diverso codice (`e questo, ad esempio, il caso dei corsi che vengono sdoppiati in ragione dell’alto numero di studenti iscritti) e pi`u studenti con lo stesso nome e/o cognome;

• venga registrato solo l’anno in cui uno studente ha superato un dato esame.

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 le funzioni aggregate solo se necessario):

(a) gli studenti che nel 2010 non hanno superato alcun esame;

(b) gli studenti che hanno superato lo stesso numero di esami;

(c) gli studenti che hanno superato esattamente gli stessi esami.

Esercizio 2:

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

Esercizio 3:

Si voglia modellare il seguente insieme di informazioni riguardanti una banca.

• La banca `e strutturata in un insieme di filiali. Ogni filiale si colloca all’interno di una citt`a ed `e identificata da un codice univoco. In citt`a di una certa dimensione possono essere presenti pi`u filiali.

La banca tiene traccia dei risultati (attivi/passivi) conseguiti ogni anno da ciascuna filiale.

• I clienti della banca sono identificati dal loro codice fiscale. Di ogni cliente la banca memorizza nome, cognome, indirizzo postale (distinguendo via, numero civico, cap e citt`a), email e uno o pi`u recapiti telefonici. Un cliente pu`o possedere uno o pi`u conti correnti e pu`o aver ottenuto uno o pi`u prestiti.

Per poter ottenere un prestito, un cliente deve possedere almeno un conto corrente. Ai clienti pi`u

1

(2)

interessanti (dal punto di vista delle loro disponibilit`a) pu`o essere associato uno specifico dipendente della banca, che segue personalmente tutte le pratiche del cliente (ad un dipendente della banca possono essere associati zero, uno o pi`u clienti).

• I dipendenti della banca sono identificati da un codice interno. Ogni dipendente `e assegnato ad una specifica filiale. 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 essere supervisore di al pi`u un altro impiegato. Per ciascun dipendente, la banca tiene traccia della data di assunzione e dell’anzianit`a aziendale (da quanto tempo il dipendente lavora per la banca).

• Ogni conto corrente `e caratterizzato da un numero che lo identifica univocamente. Un conto corrente pu`o essere posseduto congiuntamente da pi`u clienti. Per ogni conto, la banca tiene traccia del saldo corrente e della data dell’ultima operazione eseguita.

• Un prestito viene emesso da una specifica filiale. Ogni prestito `e identificato univocamente da un codice numerico ed `e caratterizzato da un ammontare e da un insieme di rate previste per la restituzione. Ogni rata di un data prestito `e contraddistinta da un numero d’ordine (prima rata del prestito, seconda rata del prestito, ..) ed `e caratterizzata da una data e da un ammontare.

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

Stabilire se i seguenti schedule sono o meno serializzabili rispetto alle viste, ai conflitti, al metodo del locking a due fasi, al metodo del locking a due fasi stretto e al metodo basato sui timestamp.

s1: r0(x), w1(x), w0(y), r1(x), w0(x), r0(y), w2(x), w1(y);

s2: r0(x), w2(z), w0(x), r1(x), r0(z), w1(x), r2(y), w0(y);

s3: r0(x), r0(y), w1(x), r0(v), r2(x), w1(y), w2(v), r3(y), r3(v), w4(y).

(Facoltativo). Dimostrare che CSR ⊆ V SR.

Esercizio 5:

Discutere brevemente i vantaggi dei B+-alberi rispetto ai B-alberi.

Successivamente, dato il seguente insieme di chiavi:

4, 3, 6, 8, 17, 9, 10, 16, 2, 11, 12, 14

mostrare il B-albero di ordine 4 ottenuto inserendo un elemento dopo l’altro nell’ordine dato (riportando la sequenza di alberi generata dal processo di inserimento).

(Facoltativo). Mostrare il B-albero di ordine 4 ottenuto a partire da quello prodotto dalla precedente sequenza di inserimenti rimuovendo uno dopo l’altro, nell’ordine dato, gli elementi 9, 10, 16, 2.

Riferimenti

Documenti correlati

B: TAEG massimo per mutui di durata di 3 anni = tasso A, SE POSITIVO, arrotondato allo 0,05% inferiore + spread fisso 0,20% = tasso massimo per mutui senza imposta sostitutiva..

• d.3) stipulati successivamente al 31 dicembre 2000, per i quali la variazione della tipologia di tasso (dal fisso al variabile o viceversa) è prevista contrattualmente con

• d.3) stipulati successivamente al 31 dicembre 2000, per i quali la variazione della tipologia di tasso (dal fisso al variabile o viceversa) è prevista contrattualmente con

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

• 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

Ogni modello sia identificato univocamente dal nome (si assuma, in particolare, che modelli sviluppati da produttori diversi non possano avere lo stesso nome) e sia caratterizzato

• Ogni provincia ` e individuata univocamente dal suo nome e ` e caratterizzata dalla regione a cui appartiene, dal numero di abitanti e dal numero di rivendite in essa presenti