• Non ci sono risultati.

Compito di Basi di dati - Informatica 1 settembre 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati - Informatica 1 settembre 2010"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati - Informatica

1 settembre 2010

Esercizio 1:

Sia dato il seguente schema relazionale relativo al dominio delle conferenze relative ad una certa area scientifica:

EDIZIONICONFERENZE(Nome, Anno, Citt`a);

RELATORI(NomeConferenza, AnnoConferenza, NomeRelatore).

Si assuma che ogni edizione di una conferenza sia identificata univocamente dal nome della conferenza e dall’anno in cui si `e tenuta la specifica edizione (ad esempio, ICALP 2009 e ICALP 2010 identificano due edizione diverse della conferenza ICALP). Si assuma che sia edizioni di conferenze diverse sia edizioni diverse di una stessa conferenza si possano tenere nella stessa citt`a (ad esempio, STACS 1984 e ICLP 1991 si sono tenute entrambe a Parigi; STACS 1984 e STACS 1998 si sono tenute entrambe a Parigi). Si assuma, inoltre, che in ogni edizione di ogni conferenza siano presenti pi`u relatori e che uno stesso relatore possa partecipare a pi`u edizioni di pi`u conferenze.

Definire preliminarmente le chiavi delle 2 relazioni (chiavi primarie, eventuali altre chiavi candidate ed eventuali chiavi esterne). Successivamente, 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) i relatori che hanno partecipato ad almeno un’edizione della conferenza ICALP;

(b) i relatori che hanno partecipato esattamente a due edizioni della conferenza STACS;

(c) i relatori che hanno partecipato solo a edizioni di conferenze che si sono svolte a Roma;

(d) il relatore (i relatori, se pi`u d’uno) che hanno partecipato al maggior numero di edizioni della conferenza TIME;

(e) i relatori che hanno partecipato a tutte le edizioni di conferenze che si sono svolte a Roma.

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 realizzare una base di dati per la gestione dell’ufficio acquisti di un’azienda caratterizzato dal seguente insieme di requisiti:

• l’azienda sia suddivisa in un certo insieme di reparti, ciascuno identificato univocamente da un codice e caratterizzato da una breve descrizione e dal nominativo del responsabile (si assuma che ogni reparto abbia un unico responsabile e che una stessa persona possa essere responsabile di pi`u reparti)

1

(2)

• ogni reparto possa formulare delle richieste d’acquisto; ogni richiesta d’acquisto formulata da un dato reparto sia caratterizzata da un numero progressivo, che la identifica univocamente all’interno dell’insieme delle richieste del reparto (esempio, richiesta numero 32 formulata dal reparto manuten- zione), da una data (si assuma che uno stesso reparto possa effettuare pi`u richieste in una stessa data), dall’insieme degli articoli da ordinare, con l’indicazione, per ciascun articolo, della quantit`a richiesta, e dalla data prevista di consegna;

• ogni articolo sia identificato univocamente da un codice articolo e sia caratterizzato da una breve descrizione, da una unit`a di misura e da una classe merceologica;

• ogni fornitore sia identificato univocamente da un codice fornitore e sia caratterizzato dalla partita IVA, dall’indirizzo, da uno o pi`u recapiti telefonici e da un indirizzo di posta elettronica; alcuni fornitori (non necessariamente tutti) possiedano un numero di fax;

• ad ogni fornitore sia associato un listino, comprendente uno o pi`u articoli; per ciascun articolo appartenente ad un dato listino siano specificati il codice articolo, il prezzo unitario, il quantitativo minimo d’ordine e lo sconto applicato;

• per soddisfare le richieste provenienti dai vari reparti, l’ufficio acquisti emetta degli ordini; ogni ordine sia identificato univocamente da un codice ordine e sia caratterizzato dalla data di emissione, dal fornitore a cui viene inviato, dall’insieme degli articoli ordinati, con l’indicazione, per ciascuno di essi, della quantit`a ordinata, e dalla data prevista di consegna (si tenga presente che non esiste una corrispondenza uno-ad-uno tra richieste dei reparti e ordini emessi dall’ufficio: una richiesta pu`o essere soddisfatta attraverso pi`u ordini e un ordine pu`o raccogliere richieste d’acquisto provenienti da pi`u richieste).

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 descriva la traduzione relazionale di una relazione binaria molti a molti del modello Entit`a Relazioni.

Si stabilisca se (e, in caso affermativo, come) i vincoli di partecipazione e cardinalit`a specificati a livello concettuale vengono preservati dal corrispondente schema relazionale, distinguendo i casi (0, N ) − (0, N ), (0, N ) − (1, N ) e (1, N ) − (1, N ).

Riferimenti

Documenti correlati

• Ogni citt` a sul lago sia identificata univocamente dal nome e sia caratterizzata dal numero di abitanti, dalla provincia e dalla regione di appartenenza e dal numero di compagnie

• 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

• 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

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

La compagnia aerea offre un certo numero di voli caratterizzati da: un codice numerico che identifica univocamente il volo, il giorno in cui il volo viene effettuato (ad esempio,

Ogni azienda sia identificata univocamente da un codice e sia caratterizzata dal comune ove si trova l’ufficio di riferimento per la regione Friuli Venezia Giulia.. Si assuma

Si assuma un’organizzazione analoga per i libri presenti in magazzino, con due specificit` a: tutte le eventuali copie di uno stesso libro vengano collocate una accanto all’altra

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