• Non ci sono risultati.

Compito di Basi di Dati e Sistemi Informativi 28 marzo 2006

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di Dati e Sistemi Informativi 28 marzo 2006"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di Dati e Sistemi Informativi

28 marzo 2006

Esercizio 1:

Sia dato il seguente schema relazionale relativo ad una biblioteca:

U tente(nomeU tente, citt`aResidenza, telef ono);

Libro(codiceLibro, autore, titolo);

P restito(utente, libro, dataInizioP restito, dataF ineP restito).

Ogni utente sia identificato univocamente dal suo nome, ogni libro dal suo codice (si assuma che di ogni libro sia disponibile una sola copia). Ogni libro sia contraddistinto da un unico titolo e abbia uno o pi`u autori. Gli attributi dataInizioPrestito e dataFinePrestito tengano traccia del giorno di inizio e fine prestito, rispettivamente (si assuma che le date vengano rappresentate nel formato giorno/mese/anno, ad esempio, 17/12/2005). Si assuma che uno stesso utente possa prendere in prestito pi`u volte lo stesso libro.

Prestiti ancora in corso siano contraddistinti dall’avere un valore per l’attributo dataInizioPrestito, ma non per l’attributo dataFinePrestito (al quale sia associato il “valore” NULL).

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

(a) gli utenti che non hanno mai preso in prestito pi`u di una volta uno stesso libro;

(b) il libro (i libri se pi`u d’uno) che sono stati dati in prestito il maggior numero di volte;

(c) i libri che (nel tempo) sono stati presi in prestito dall’utente Schizzo, ma non dall’utente Bozzetto, o dall’utente Bozzetto, ma non dall’utente Schizzo;

(d) gli utenti che, da quando sono diventati utenti della biblioteca, hanno preso in prestito esattamente due libri;

(e) gli utenti tali che fra i libri che hanno preso in prestito ve ne `e almeno uno che sono i soli ad aver preso in prestito.

Esercizio 2:

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

Esercizio 3:

Si vuole progettare una base di dati di supporto alla gestione di una libreria on-line.

Ogni libro sia identificato univocamente dal suo codice ISBN e caratterizzato da un titolo, un anno di pubblicazione e un prezzo. Ogni autore sia identificato univocamente da un codice autore e caratterizzato da un nome, un indirizzo e una URL. Ogni casa editrice sia identificata univocamente dal suo nome e caratterizzata da un indirizzo, un recapito telefonico e una URL. Si assuma che ogni libro sia pubblicato da una (e una sola) casa editrice e che una casa editrice possa pubblicare pi`u libri.

1

(2)

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 come un cesto contenente i libri selezionati per l’acquisto. Si assuma che ogni acquisto sia identificato univocamente da un codice di cesto (o codice di acquisto). Inoltre, si assuma che in ogni cesto possano essere inseriti pi`u libri e che di un libro possano essere acquistate (contemporaneamente) pi`u copie. Si assuma, infine, che un cliente possa effettuare pi`u acquisti e che un acquisto sia effettuato da un unico cliente.

I libri messi in vendita dalla libreria on-line siano conservati in un insieme di magazzini. Ogni magazzino sia identificato univocamente da un codice magazzino e sia caratterizzato da un indirizzo e da un recapito telefonico. Si assuma che non tutti i libri siano necessariamente presenti in tutti i magazzini (ma vi possano, ovviamente, essere dei libri presenti in pi`u magazzini). In generale, ogni magazzino conservi pi`u copie dei libri in esso presenti.

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 indichino anche le eventuali regole aziendali (regole di derivazione e vincoli di integrit`a).

Esercizio 4:

Si definiscano le nozioni di prima forma normale (1NF) e di seconda forma normale (2NF). Inoltre, si forni- scano due relazioni che rispettivamente non rispettano la 1NF e la 2NF. Infine, si stabilisca se la relazione R(A, B, C, D, E), con associato l’insieme di dipendenze F = {E → C, E → D, E → B, CD → E, B → A},

`

e o meno in 2NF (la risposta va ovviamente motivata).

Riferimenti

Documenti correlati

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

Successivamente, con riferimento allo schema relazionale dell’Esercizio 1, formulare un’interrogazione nel calcolo relazionale su tuple con dichiarazioni di range che determini tutte

Si assuma che il traffico stradale di ciascuna provincia sia sotto la responsabilit`a di uno specifico corpo di polizia stradale provinciale, anche se membri del corpo di polizia di

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

(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