• Non ci sono risultati.

Compito di Basi di Dati e Sistemi Informativi 22 dicembre 2006

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di Dati e Sistemi Informativi 22 dicembre 2006"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di Dati e Sistemi Informativi

22 dicembre 2006

Esercizio 1:

Sia dato il seguente schema relazionale:

Ricetta(nomeRicetta, numeroP ersone, tempoP reparazione, istruzioni);

Ingrediente(nomeIngrediente, nomeRicetta, dose);

M enu(numeroM enu, occasione);

Contiene(menu, ricetta, portata).

Si assuma che ogni ricetta sia identificata univocamente dal suo nome e che il tempo di preparazione sia espresso in minuti.

Inoltre, si assuma che un ingrediente possa comparire in pi`u ricette.

Si assuma anche che ogni men`u sia adatto ad un’unica occasione (ad esempio, Natale), ma che per una data occasione vi siano pi`u possibili men`u.

Infine, si assuma che una ricetta possa essere presente in pi`u men`u, ma che, in un dato men`u, possa essere utilizzata in un’unica portata (ad esempio, possa comparire come antipasto o secondo, ma non come entrambi).

Definire preliminarmente le chiavi primarie e le eventuali chiavi esterne delle relazioni date.

Successivamente, stabilire quali delle seguenti interrogazioni si possono esprimere in algebra relazionale.

In tutti i casi in cui risulta possibile, formulare opportune interrogazioni in algebra relazionale che permettano di determinare (senza usare l’operatore di divisione):

(a) le ricette con tempo di preparazione inferiore ad un’ora che non contengono, quale ingrediente, le uova;

(b) fra tutte le ricette che richiedono pi`u di tre ingredienti, la ricetta (le ricette se pi`u d’una) che richiede il minor numero di ingredienti;

(c) le ricette che non contengono come ingrediente la salsa di pomodoro e che compaiono in almeno tre men`u;

(d) le coppie di ricette tali che esista almeno un ingrediente che compare nella prima, ma non nella seconda, ed esista almeno un ingrediente che compare nella seconda, ma non nella prima;

(e) gli ingredienti che compaiono in un sottoinsieme proprio delle ricette in cui compare l’ingrediente salsa di pomodoro.

Esercizio 2:

Con riferimento all’Esercizio 1, stabilire quali interrogazioni si possono esprimere nel linguaggio SQL (si faccia riferimento allo standard SQL-92). In tutti i casi in cui risulta possibile, formulare oppor- tune interrogazioni in SQL che permettano di determinare quanto richiesto (usando solo se necessario le funzioni aggregate).

1

(2)

Esercizio 3:

Si vuole progettare una base di dati di supporto alla gestione di una videoteca che consente il noleggio di un ampio insieme di film.

Ogni film `e identificato univocamente da un codice numerico. Di ogni film, vogliamo memorizzare il titolo, il regista, l’anno di produzione, il genere e la valutazione della critica, se presente. Ogni film `e disponibile per il noleggio in un certo numero di video. Sono presenti due tipi di video: videocassette e dvd. Videocassette e dvd sono identificati univocamente da un codice di collocazione.

La base di dati dovr`a, inoltre, memorizzare informazioni sui clienti della videoteca e sui video da loro noleggiati. Di ogni utente vogliamo mantenere nome, cognome, data di nascita, residenza e uno o pi`u recapiti telefonici. Ogni cliente `e identificato univocamente da un codice che corrisponde al numero della tessera rilasciatagli per poter usufruire dei servizi della videoteca.

Ogni cliente pu`o avere contemporaneamente in noleggio un numero limitato di video (non pi`u di tre). Di ogni noleggio, vogliamo memorizzare la data in cui il noleggio `e stato effettuato e, per i noleggi conclusi, la data di restituzione. Ogni cliente pu`o, inoltre, consigliare dei film agli altri clienti, esprimendo un giudizio che viene registrato nella base di dati.

Infine, la videoteca prevede un programma di promozione dei clienti pi`u attivi. Ogni noleggio consente, infatti, l’accumulo di un certo numero di punti. Quando i punti accumulati superano una certa soglia, i clienti vengono qualificati come clienti VIP e hanno diritto ad un bonus. La base di dati dovr`a memo- rizzare, per ogni cliente VIP, il valore corrente del suo bonus. Per i clienti standard, ovvero i clienti che non hanno ancora accumulato punti sufficienti per accedere alla categoria VIP, vogliamo memorizzare il numero di punti mancanti per l’accesso a tale categoria.

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, qualora necessario, 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.

Se necessario, si introducano appropriate regole aziendali (regole di derivazione e vincoli di integrit`a).

Esercizio 4:

Si definisca la traduzione nel modello relazionale delle relazioni uno-a-molti del modello Entit`a-Relazioni.

In particolare, per ognuno dei quattro casi possibili, ossia (1,1)-(1,N), (1,1)-(0,N), (0,1)-(1,N) e (0,1)- (0,N), si determini se i vincoli imposti dallo schema Entit`a-Relazioni possono o meno essere codificati nel corrispondente schema relazionale.

Riferimenti

Documenti correlati

Ogni edizione di un corso sia caratterizzata dal codice del corso, dall’anno accademico (si assuma che di ogni corso venga tenuta al pi` u un’edizione per anno accademico), dal

Ogni cliente sia identificato univocamente dalla sua email e caratterizzato da un nome, un indirizzo e un recapito telefonico. Ogni acquisto da parte di un cliente sia visualizzato

(Si assuma che non vi siano caselli appartenenti a pi` u autostrade.) Si tenga traccia della distanza che intercorre tra coppie di caselli consecutivi (ad esempio, tra il casello

Si assuma che un artista possa tenere pi` u di un concerto nella stessa citt`a nello stesso mese di uno stesso anno, ma non lo stesso giorno.. Si assuma, infine, che nella base di

(e) per ogni posizione, il numero di parcheggi presenti, il numero totale di posti disponibili e l’ammontare complessivo degli stipendi pagati per gli addetti alla sicurezza.

(d) le regioni tali che l’insieme delle citt`a in cui almeno un agente ha il suo ufficio sia un sovrainsieme proprio dell’insieme delle citt`a in cui risiede almeno un

Si determini il numero di accessi a blocco richiesti da una ricerca basata su un indice secondario costruito su un campo chiave non ordinante V 2 di dimensione pari a 9

(a) tutte le citt`a tedesche direttamente raggiungibili da Amsterdam (una citt`a x `e direttamente raggiun- gibile da una citt`a y se esiste un volo di una qualche compagnia da y