PROVA SCRITTA 25 Luglio 2006 COGNOME NOME MATRICOLA Esercizio di sbarramento Rispondere ai seguenti test. Per ogni test, solo una soluzione e’ corretta L’esercizio si ritiene superato se si risponde correttamente ad almeno 7 domande, di cui almeno una domanda per ogni gruppo di test. Solo se l’esercizio viene superato, gli esercizi successivi verranno corretti e valutati. GRUPPO 1: domande generali Domanda 1 Sia R uno schema di relazione di una base di dati DB. Quale tra le seguenti affermazioni e’ corretta: a) In ogni istante, ad R corrisponde un numero arbitrario di istanze b) In ogni istante, ad R corrisponde una singola istanza c) In un certo istante, possono non esistere istanze associate ad R Domanda 2 Un linguaggio di definizione dei dati permette di: a) Definire le strutture utilizzate per la memorizzazione dei dati su disco b) Definire le tuple che compongono la base di dati c) Definire lo schema della base di dati d) Nessuna delle precedenti. Domanda 3 Siete gli amministratori della base di dati. Un gruppo di utenti ha la necessita’ di accedere solo un sottoinsieme dei dati, corrispondenti alle tuple ottenute eseguendo il join tra due tabelle. Per semplificare l’accesso a questi utenti, e garantire al contempo adeguati meccanismo di controllo dell’accesso, cosa fate: a) Fornite agli utenti una procedura che manipola questi dati b) Fornite agli utenti un’applicazione che manipola questi dati c) Create una vista d) Create una nuova tabella contenente i dati di interesse GRUPPO 2: linguaggi relazionali Si consideri il seguente schema relazionale: OPERA(CodO,Nome,Autore,Tipo) MOSTRA(CodM, Nome,CodO,Stanza,Piano) AUTORE(Codice,Nome,Cognome,DataNascita) dove Tipo in OPERA indica il tipo dell’opera (scultura, pittura, ecc.) e Piano indica il piano a cui la mostra risiede in un certo edificio. Domanda 1 Si supponga di volere determinare gli autori di opere di pittura nati dopo il 1950 e si consideri la seguente espressione incompleta: CodO( Tipo = ‘pittura’ AND DataNascita > ‘1/1/’1950’ (OPERA ……… AUTORE)) Indicare quale tra i seguenti operatori permette di completare correttamente l’espressione precedente: a) Natural Join b) Prodotto Cartesiano c) JOINAutore = Codice d) Nessuna delle precedenti Domanda 2 Si supponga di volere determinare la stanza contenente il maggior numero di opere. Questa espressione: a) Puo’ essere espressa in algebra relazionale b) Non puo’ essere espressa in algebra relazionale ma puo’ essere espressa in calcolo relazionale c) Non puo’ essere espressa ne’ in algebra ne’ in calcolo relazionale Domanda 3 Si consideri la seguente espressione del calcolo relazionale: {t: {Nome }| m (m MOSTRA m.Nome = t.Nome o ( o OPERA o.CodO = m.CodO o.tipo = ‘scultura’))} La precedente espressione permette di determinare: a) Il nome delle mostre che non contengono sculture b) Il nome delle mostre che contengono almeno un’opera che non sia una scultura c) Il nome delle opere che contengono solo sculture d) Nessuna delle precedenti GRUPPO 3: SQL Si consideri nuovamente lo schema relazionale proposto per il Gruppo 2 di test. OPERA(CodO,Nome,Autore,Tipo) MOSTRA(CodM, Nome,CodO,Stanza) AUTORE(Codice,Nome,Cognome,DataNascita) Domanda 1 Si consideri la seguente interrogazione, per determinare per ogni mostra il numero di diverse tipologie di opere in essa esposte: SELECT CodM, …………………. FROM MOSTRA, OPERA WHERE MOSTRA.CodO = OPERA.CodO GROUP BY CodM Indicare quale tra le seguenti espressioni completa il comando precedente: a) COUNT(*) b) COUNT(Tipo) c) COUNT(DISTINCT Tipo) d) SUM(OPERA.CodO) Domanda 2 Si consideri l’interrogazione per determinare le opere che non sono contenute in stanze del terzo piano. Tale interrogazione, quando viene espressa in SQL, conterra’ una sottointerrogazione: a) Scalare correlata b) Scalare non correlata c) Non scalare correlata d) Non scalare non correlata Domanda 3 Si consideri la seguente vista: CREATE VIEW AutoriGiovani AS SELECT * FROM AUTORI, OPERE WHERE Autore = Codice AND DataNascita >1960; Indicare quali tra le seguenti operazioni di manipolazione possono essere eseguite sulla vista: a) Tutte le operazioni b) Inserimento ma non cancellazione c) Cancellazione ma non inserimento d) Nessuna operazione GRUPPO 4: comprensione di schemi ER e progettazione Si risponda alle seguenti domande relative al seguente schema ER: sigla Nome Nome dataCreazione (0,1) numPosti numAerei (0,N) AEREO PROPRIETARIO prezzo COMPAGNIA proprietario dataAcquisto Domanda 1 Indicare quale tra questi requisiti e’ descrive nel modo piu’ preciso l’associazione PROPRIETARIO: a) Ogni AEREO e’ di proprieta’ di almeno una compagnia. Una compagnia e’ proprietaria di un numero arbitrario di aerei. b) Ogni AEREO e’ di proprieta’ di almeno una compagnia. Una compagnia puo’ non essere proprietaria di alcun aereo c) Ogni AEREO e’ di proprieta’ di esattamente una compagnia. Una compagnia e’ proprietaria di un numero arbitrario di aerei. d) Ogni AEREO e’ di proprieta’ di al piu’ una compagnia. Una compagnia e’ proprietaria di un numero arbitrario di aerei. Domanda 2 La risposta a questa domanda si considera corretta se si risponde correttamente ad almeno 3 affermazioni: vero Falso Ci possono essere più aerei con la stessa sigla X Ci possono essere più compagnie con lo stesso proprietario ma con X nomi diversi Ci sono aeroplani che non appartengono ad alcuna compagnia X Ogni compagnia possiede almeno un aereo X Un aereo può appartenere a compagnie diverse anche con lo stesso prezzo e dataAcquisto X Domanda 4 Si consideri lo schema ER in Figura 1. Quale tra i seguenti schemi relazionali corrispondono a tale schema ER? a) AEREO(Nome, Sigla, numPosti dataCreazione) COMPAGNIA(Nome,numAerei,proprietario) PROPRIETARIO(dataCreazione,NCompagnia,prezzoAcquisto,dataAcquisto) b) AEREO(Sigla, Nome, numPosti dataCreazione) COMPAGNIA(Nome,numAerei,proprietario, SiglaAereo, prezzoAcquisto,dataAcquisto) c) AEREO(Sigla, Nome,numPosti dataCreazione NCompagnia, prezzoAcquisto,dataAcquisto) COMPAGNIA(Nome,numAerei,proprietario) d) AEREO(Nome, Sigla, numPosti dataCreazione) COMPAGNIA(Nome,numAerei,proprietario) PROPRIETARIO(NomeAereo, SiglaAereo,NCompagnia,prezzoAcquisto,dataAcquisto)