• Non ci sono risultati.

Compito di Basi di dati - Informatica 9 CFU 28 giugno 2011

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati - Informatica 9 CFU 28 giugno 2011"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati - Informatica 9 CFU

28 giugno 2011

Esercizio 1:

Sia dato il seguente schema relazionale relativo ai voli, agli aeromobili, ai modelli di aeromobile a agli aeroporti di un dato territorio internazionale:

volo(codiceV olo, compagniaAerea, aeromobile, numeroP ostiP renotati, orarioP artenza, orarioArrivo, aeroportoP artenza, aeroportoArrivo);

aeromobile(codiceAeromobile, modello);

modello(nomeM odello, produttore, peso, lunghezza, numeroM assimoP asseggeri);

aeroporto(nomeAeroporto, citt`a, nazione).

Si assuma che i voli siano quelli relativi ad un dato giorno della settimana e che ogni volo parta e arrivi in giornata. Ogni volo sia identificato univocamente dal codice del volo e sia caratterizzato dal nome della compagnia aerea, dall’aeromobile, dal numero di posti prenotati, dagli orari di partenza e di arrivo e dagli aeroporti di partenza e di arrivo. Ogni aeroplano (aeromobile) sia identificato univocamente da un codice aeromobile e sia caratterizzato da un modello. 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 dal produttore, dal peso, dalla lunghezza e dal numero massimo di passeggeri che pu`o contenere. Infine, ogni aeroporto sia individuato unicamente dal nome e sia caratterizzato dalla citt`a e dalla nazione ove si trova.

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

(a) gli aeromobili che non sono mai stati utilizzati in un volo partito o arrivato all’aeroporto Marco Polo di Venezia;

(b) il numero di voli a pieno carico di Lufthansa, il numero medio di passeggeri dei voli di Lufthansa e il numero minimo di passeggeri di un volo di Lufthansa;

(c) tutte le compagnie che hanno almeno un volo in partenza dall’aeroporto Charles De Gaulle di Parigi;

(d) tutte le compagnie che hanno almeno un volo in partenza da ogni aeroporto francese;

(e) gli aeromobili utilizzati (esattamente) per due o tre voli “senza interruzioni” (esattamente 2 = dall’aeroporto A all’aeroporto B e dall’aeroporto B all’aeroporto C; analogamente per esattamente 3).

Esercizio 2:

Con riferimento all’Esercizio 1, formulare opportune interrogazioni in SQL che permettano di determinare quanto richiesto.

Esercizio 3:

Vogliamo modellare le seguenti informazioni riguardanti i voli in partenza in un piccolo aeroporto.

1

(2)

• Di ogni volo vogliamo specificare la destinazione e l’orario previsto di partenza. Si assuma che ogni volo venga svolto ogni giorno della settimana, sempre nello stesso orario, ma che da un giorno all’altro possano cambiare il cancello d’uscita (gate) e l’aeromobile. Di ogni volo vogliamo specificare l’equipaggio articolato nelle diverse componenti: due piloti, zero, una o pi`u hostess, zero, uno o pi`u steward. I due piloti e almeno una hostess o uno steward devono essere sempre presenti.

• Si assuma che ogni aeroplano effettui ogni giorno un unico volo. Ogni giorno vogliamo sapere l’orario di partenza e la destinazione di ogni aeromobile. Si assuma che, fissati il giorno, l’ora e il cancello d’uscita (gate), venga identificato univocamente il volo, con relativi aeromobile e destinazione.

• Di ogni aeromobile utilizzato, identificato da un opportuno codice, vogliamo memorizzare l’azienda costruttrice e il modello, con le sue caratteristiche: la capacit`a (numero massimo di passeggeri e quantit`a massima di materiale trasportabile) e le caratteristiche tecniche (peso, lunghezza, apertura alare).

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:

Si illustrino brevemente i livelli di isolamento supportati da SQL:1999 per la gestione della concorrenza.

Successivamente, stabilire se i seguenti schedule appartengono o meno a VSR, CSR, TS, 2PL e 2PL stretto.

1. r4(x), r1(x), w4(x), r1(y), w3(y), r4(z), w4(z), w3(z), w1(t), w2(z), w2(t) 2. r1(x), r1(t), w4(y), r4(x), r4(z), r3(x), w4(x), w2(t), r3(z), w2(z), w3(y), w1(y)

Riferimenti

Documenti correlati

• 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

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