• Non ci sono risultati.

Compito di Basi di Dati 13 luglio 2009

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di Dati 13 luglio 2009"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di Dati

13 luglio 2009

Esercizio 1:

Sia dato il seguente schema relazionale relativo ad un insieme di montagne e rifugi:

Montagna(Nome, QuotaVetta, ProvinciaVetta);

Rifugio(Nome, QuotaRifugio, ProvinciaRifugio, Montagna);

Appartenenza(Provincia, Regione).

Si assuma che montagne e rifugi siano identificati univocamente dal loro nome. Si assuma che un rifugio sia associato ad un’unica montagna e che ad una montagna possano essere associati zero, uno o pi`u rifugi.

Definire preliminarmente le chiavi primarie e le eventuali chiavi esterne delle relazioni date. Succes- sivamente, formulare (se possibile) opportune interrogazioni in algebra relazionale che permettano di determinare, senza utilizzare l’operazione di divisione e usando le funzioni aggregate solo se necessario:

(a) le montagne che hanno solo rifugi che appartengono alla stessa provincia;

(b) le montagne che hanno meno di due rifugi ad una quota maggiore o uguale a 2500 metri;

(c) per ogni regione, le province prive di rifugi ove si trova almeno una vetta;

(d) per ogni regione, il numero di montagne con un solo rifugio la cui vetta appartiene alla regione;

(e) le montagne che hanno rifugi esattamente nelle stesse province.

Esercizio 2:

Con riferimento all’Esercizio 1, formulare (se possibile) opportune interrogazioni in SQL (si faccia riferi- mento allo standard SQL-92) che permettano di determinare quanto richiesto, usando le funzioni aggregate solo se necessario.

Esercizio 3:

Si supponga di aver collezionato il seguente insieme di requisiti per la progettazione di una base di dati relazionale per la gestione di un museo d’arte.

Il museo d’arte ha una collezione di oggetti d’arte, ciascuno identificato da un opportuno codice e carat- terizzato da un artista (se noto), da un anno di creazione (se noto), da un titolo e da una descrizione. Per ogni oggetto d’arte, viene, inoltre, memorizzata la nazione di provenienza (Italia, Egitto, Grecia, india, ..).

Gli oggetti d’arte sono categorizzati in diversi modi.

Gli oggetti d’arte vengono innanzitutto partizionati sulla base del loro tipo: pitture, sculture e oggetti d’antiquariato. Oggetti d’arte di altro tipo vengono classificati sotto la voce “altro”. Ogni pittura `e caratterizzata dal tipo di pittura (ad olio, a tempera, ..), dal materiale di supporto (carta, legno, ..) e dallo stile (moderno, astratto, ..). Ogni scultura `e caratterizzata dal materiale, dalle dimensioni (altezza e

1

(2)

larghezza) e dallo stile. Fra le sculture hanno un rilievo particolare le statue. Ogni oggetto d’antiquariato

`

e caratterizzato dall’epoca e dallo stile. Ogni altro oggetto d’arte `e caratterizzato dal tipo (stampa, foto, ..) e dallo stile.

Gli oggetti d’arte vengono, inoltre, partizionati in oggetti d’arte che appartengono alla collezione perma- nente (di propriet`a del museo) e oggetti d’arte in prestito. Per gli oggetti del primo tipo, si tiene traccia della data di acquisizione, dello status (in mostra, in prestito, in magazzino) e del costo. Per gli oggetti del secondo tipo, si tiene traccia della collezione di provenienza, della data di inizio prestito e della data prevista di restituzione.

Il museo mantiene informazioni sugli artisti (se disponibili) quali il nome, la data di nascita (se nota), la data di morte (se non viventi), la nazione d’origine, l’epoca, lo stile principale e un breve profilo. Si assume che il nome identifichi univocamente ogni artista.

Il museo organizza periodicamente delle esibizioni. Ogni esibizione `e caratterizzata da un nome, che la identifica univocamente, una data di inizio e una data di fine. Di ogni esibizione vogliamo sapere quali sono gli oggetti d’arte del museo che ne fanno parte.

Si definisca uno schema Entit`a-Relazioni (ER) che descriva il contenuto informativo del sistema, illus- trando 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 accurata- mente i vincoli di cardinalit`a e partecipazione di ciascuna relazione. Si indichino anche le eventuali regole di derivazione e gli eventuali vincoli di integrit`a non esprimibili nel modello ER.

Esercizio 4:

Si descriva la traduzione relazionale di una relazione molti a uno nei casi (0, 1) − (0, N ) e (1, 1) − (1, N ).

Si stabilisca se (e, in caso affermativo, come) i vincoli specificati a livello di schema concettuale vengono preservati a livello di schema relazionale.

Riferimenti

Documenti correlati

• 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

Per quanto riguardo i docenti, vanno memorizzati il codice fiscale, che li identifica univocamente, il nome e il cognome, il sesso, la data e il luogo di nascita, l’indirizzo, uno o

Alcuni corsi sono associati ad un anno specifico di un dato corso di laurea (ad esempio, il corso di basi di dati ` e associato al terzo anno del corso di laurea triennale

Si assuma che ogni aeroplano possa avere una o pi` u aziende proprietarie (aeroplano condiviso da pi` u aziende) e che ogni azienda (proprietaria) possa essere proprietaria di uno o

Si assuma che ogni automobile sia identificata univocamente dalla targa, ogni proprietario dal codice fiscale e ogni casa costruttrice dal nome.. Si assuma, inoltre, che ogni

Di ogni articolo comparso su rivista vengono registrati il nome della rivista, il numero del volume della rivista in cui l’articolo ` e comparso, i numeri delle pagine iniziale e

Di ogni film interessano il titolo, l’anno di produzione, la nazione (le nazioni se pi` u d’una) in cui ` e stato prodotto, il produttore, il regista (i registi se pi` u d’uno) e

[4b] Determinare il numero di accessi a blocco richiesti da una ricerca con indice secondario denso costruito su un campo non chiave di dimensione V 2 = 15 byte.. [4c] Si