Compito Basi di Dati. Tempo concesso : 90 minuti
21 Gennaio 05
Nome: ______________ Cognome: _________________ Matricola: __________
Esercizio 1
Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di un vivaio di piante
e si definisca il relativo schema E/R (usando la metodologia proposta a lezione).
Il vivaio SempreVerde vuole realizzare un sistema informativo per la gestione delle piante.
Le piante disponibili nel vivaio, caratterizzate da un codice e da una descrizione, appartengono a una specie
che a sua volta fa parte di una determinata categoria (es. specie “mela renetta”, categoria “alberi da frutta”).
All’interno del vivaio sono presenti diverse serre identificate da un codice, ciascuna delle quali è divisa in
settori, caratterizzati da un numero univoco all’interno della serra. Ciascuna serra ospita una sola categoria di
piante; al suo interno, in ogni settore può ospitare una sola specie.
Si vuole gestire inoltre il personale che lavora nel vivaio, memorizzando per ciascun dipendente codice
fiscale, cognome, nome, indirizzo e numero di telefono. Ogni settore è affidato a un dipendente che deve
innaffiare le piante presenti nei settori di sua competenza nel rispetto di un calendario settimanale prefissato
(giorni della settimana e rispettivi orari per ciascun settore).
In alcuni periodi dell’anno il vivaio propone delle vendite promozionali, delle quali si memorizzano un
codice identificativo, un nome, la data di inizio e quella di fine. In ciascuna promozione vengono offerti degli
sconti su alcune specie di piante. La percentuale di sconto all’interno di una determinata promozione dipende
dalla specie di pianta e dalla quantità acquistata.
Svolgimento
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________
Esercizio 2
Dato il seguente schema relazionale:
PRODOTTO (codProdotto, nomeProdotto, descrizione)
TIPOPROMOZIONE (codTipo, descrizione)
PROMOZIONE (codPromozione, codTipo: TIPOPROMOZIONE, dataInizio, dataFine)
PRODOTTOINPROMOZIONE(codProdotto: PRODOTTO, codPromozione: PROMOZIONE, percentualeSconto)
1. Scrivere l’espressione di algebra relazionale e la query SQL che visualizzano l’elenco dei prodotti
che non sono mai stati messi in promozione (codProdotto, nomeProdotto);
2. Scrivere la query SQL che visualizza, per ciascuna promozione, il numero di prodotti che vi rientrano
(codPromozione, dataInizio, dataFine, numeroProdotti);
3. Scrivere la query SQL che seleziona, per ciascun prodotto, la massima percentuale di sconto applicata
nel corso delle diverse promozioni iniziate nell’anno 2004 (codProdotto, nomeProdotto,
percentualeSconto).
Svolgimento
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________
Esercizio 3
È data la seguente query:
SELECT tipoPromoziome, AVG(percentualeSconto)
FROM PROMOZIONE
WHERE dataInizio >= ‘1/1/2002’
AND codSupermercato = 123
GROUP BY tipoPromozione
sulla relazione:
PROMOZIONE (codPromozione, tipoPromozione, codSupermercato, dataInizio, dataFine, percentualeSconto)
sulla quale è costruito un indice clustered su codSupermercato con NLcodSupermercato = 30.
Si determini il miglior piano di accesso per la risoluzione della query tenendo conto dei seguenti dati:
NP = 350, NT = 5000
NKcodSupermercato = 20, NKtipoPromozione = 5
dataInizio ∈ [1/1/2000,31/12/2003]
len(tipoPromozione) = 50 byte, len(percentualeSconto) = 4 byte, D = 1 KB
Si ipotizzi di utilizzare l’algoritmo Sort-Merge a Z=3 vie per l’eventuale ordinamento del risultato.
Svolgimento
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________
Matricola: ____________
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Esercizio 4
• E’ data la seguente relazione:
A(k, a, b, c)
sapendo che:
ƒ NR = 2000
ƒ len(k) = 4 byte, len(a) = 8 byte, len(b) = 50 byte, len(c) = 4 byte
ƒ D = 1 KB
ƒ u = ln 2 (foglie e file dati)
calcolare il numero di pagine occupate dalla relazione e il numero di foglie di un indice di tipo B+-tree
sull’attributo b (assumendo len(p) = 4 byte e NKb = 20).
• Data la seguente relazione:
ORDINE (codPromozione,
finePromozione)
codProdotto,
nomeProdotto,
percentualeSconto,
inizioPromozione,
sapendo che l’attributo percentualeSconto è riferito allo sconto effettuato su un determinato prodotto
all’interno di una specifica promozione, evidenziare tutte le dipendenze funzionali non banali presenti e
dire in che forma normale si trova lo schema proposto.
Svolgimento
Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05
Matricola: ____________