• Non ci sono risultati.

Esame di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Basi di Dati"

Copied!
9
0
0

Testo completo

(1)

Esame di Basi di Dati

17 Febbraio 2014

Matricola CFU (9/12/9+9) Progetto (S`ı/No)

Cognome Nome

Istruzioni

• I voti verranno resi disponibili su AlmaEsami. Chi vorr` a rifiutare il voto dovr` a comunicarlo tassativamente 5 giorni dalla data della pubblica- zione all’indirizzo [email protected], e ricevere conferma di avvenuta ricezione della notifica. Passato questo termine, i voti di coloro che non li hanno esplicitamente rifiutati si intendono accettati, e il docente provve- der` a a registrarli successivamente — il momento preciso in cui avverr` a la registrazione non ` e definito a priori, e pu` o variare da appello ad appello, l’unico termine fisso ` e quello dei 5 giorni per rifiutare il voto. Quanto detto vale per i voti maggiori o uguali a 18.

• Non sar` a compilato alcuno statino, e il libretto non verr` a firmato. La registrazione avviene solamente elettronicamente. Pertanto non bisogna presentarsi fisicamente dal docente per la registrazione.

• Prima di iniziare, scrivere nome, cognome e matricola su tutti i fogli, in modo leggibile. Nella tabella sopra riportata indicare il numero di cfu del corso nel proprio anno di iscrizione e se si ` e svolto il progetto.

• Scrivere le soluzioni direttamente su questi fogli, e utilizzare i fogli pro- tocollo solo per la brutta: i fogli protocollo verranno ritirati, ma non verranno corretti. Si pu` o usare il verso se necessario. Non ` e gradito l’uso delle matite: si deve utilizzare una penna.

• Non si possono utilizzare libri o appunti, n´ e tenere telefoni cellulari o altri dispositivi di comunicazione, neanche se spenti. Il tempo a disposizione ` e di due ore.

• Si consiglia di non dare soltanto le soluzioni, ma anche i ragionamenti che hanno portato alla soluzione. Questo ci permetter` a di valutare anche risposte parziali o parzialmente false.

Firma per la presa visione delle istruzioni:

(2)

1 Domande a risposta multipla

1. Quale di questi non ` e un operatore monadico in algebra relazionale (a) join

(b) proiezione (c) selezione (d) ridenominazione

2. Il modello relazionale si dice essere basato su valori perch` e:

(a) fra le tuple di una relazione ` e definito un ordinamento basato sul valore degli attributi

(b) i riferimenti tra i dati in relazioni diverse sono rappresentati per mezzo di valori degli attributi

(c) come nella relazione matematica gli elementi sono individuati per valore

(d) tutte le precedenti

3. Una tabella rappresenta una relazione se (a) le righe sono diverse fra loro

(b) le intestazioni delle colonne sono diverse tra loro (c) i valori di ogni colonna sono fra loro omogenei (d) tutte le precedenti

4. Quale dei seguenti pu` o essere un vincolo di ennupla?

(a) un vincolo interrelazionale

(b) un vicolo di integrit` a referenziale tra due relazioni (c) (Voto = 30) OR NOT (Lode = ’e lode’)

(d) tutti i precedenti

5. In una SELECT SQL si fa riferimento a una vista:

(a) mediante la parola chiave VIEW (b) come se fosse una relazione di base

(c) come se fosse una relazione di base solo se ` e una vista materializzata (d) mediante la parola chiave FOREIGN

6. In SQL una primary key:

(a) deve essere definita su un singolo attributo (b) pu` o essere definita su pi` u attributi

(c) pu` o assumere il valore null

(d) pu` o avere null come valore di default

2

(3)

2 Query

Si considerino le seguenti tabelle:

Via

codVia nome codZona

11234 San Vitale 2 21234 Indipendenza 1

31234 Farini 3

41234 Castiglione 3 ZonaTL

codZona multaEuro oraInizioDivieto oraFineDivieto

1 40 10 15

2 50 8 20

3 70 10 12

Multa

codMulta codVia targa data 111 11234 LE2078937 10/07/2010

222 11234 AB67554M 25/12/2012

333 31234 CD88776H 18/09/2013

444 21234 ED15611T 28/11/2013

(Importante: il contenuto delle tabelle ` e solamente un esempio; non pos- sono trarsi conclusioni sull’assenza o la completezza dei dati.)

1. Scrivere in SQL una query che restituisce la targa delle auto che hanno preso pi` u di 2 multe nella stessa via dal primo gennaio 2013 in poi.

2. Scrivere in SQL una query che restituisce il nome e la quantit` a di multe per ogni via non vietata dalle ore 17

3. Scrivere in algebra relazionale una query che restituisce le vie che preve- dono una multa maggiore o uguale a 50 euro e non hanno mai registrato multe

4. Scrivere in algebra relazionale una query che restituisce le ore di fine di-

vieto per tutte le zone dove l’auto con targa AB67554M non ha preso una

multa

(4)

3 Progettazione

Si vuole progettare un database per raccogliere dati riguardanti pubblicazioni scientifiche provenienti dalle universit` a.

Nel database si vogliono memorizzare i dati riguardanti ogni autore, ovvero nome, cognome e data di nascita, che insieme rendono possibile l’identificazione univoca dell’autore, e l’email. Ogni autore fa parte di un dipartimento, con un nome e un’universit` a di appartenenza. Si vuole memorizzare la data per l’afferenza di ogni autore al suo dipartimento. Le universit` a sono memorizzate con un nome e un codice interno al database.

Ogni articolo scientifico pu` o avere pi` u autori, ha un titolo, un abstract, e un codice univoco DOI. Un articolo pu` o contenere citazioni ad altri articoli, cos`ı come pu` o ricevere citazioni da altri articoli. Se un articolo ` e in database vuol dire che ` e stato pubblicato in un certo volume di una rivista, in un determinato anno. Un articolo non pu` o essere pubblicato in pi` u di una rivista. Ogni rivista ha un codice univoco ISSN, un nome e un publisher. Ogni rivista ha inoltre un comitato editoriale, che cambia di anno in anno, di cui possono far parte anche autori registrati nel database.

Si disegni il modello concettuale del dominio descritto utilizzando i diagram- mi E/R e si indichino gli eventuali vincoli non esprimibili.

4

(5)
(6)

4 Indici

Mostrare i passi dell’inserimento della chiave K=18 nel seguente B+Tree:

6

(7)

Traccia di soluzione dell’esame di Basi di dati del 17 Febbraio 2014

(1) Domande a risposta multipla

1-a; 2-b; 3-d; 4-c; 5-b; 6-b.

(2) Query

1. SELECT targa FROM Multa

GROUP BY targa,codVia HAVING COUNT(targa)>2 WHERE data >= ’2013-01-01’

oppure SELECT targa FROM Multa

GROUP BY targa,codVia HAVING COUNT(codVia)>2 WHERE data >= ’2013-01-01’

2. SELECT Via.nome, COUNT(Multa.codVia)

FROM Via NATURAL JOIN ZonaTL NATURAL JOIN Multa WHERE ZonaTL.oraFineDivieto <= 17

GROUP BY codVia

3. π codV ia,nome,codZona (σ multaEuro>=50 (V ia ./ ZonaT L))−π codV ia,nome,codZona (V ia ./

M ulta)

4. π oraF ineDivieto (zonaT L)−π oraF ineDivieto (σ targa=

0

AB67554M

0

(M ulta ./ V ia ./

zonaT L))

(8)

(3) Progettazione

8

(9)

(4) Indici

Riferimenti

Documenti correlati

Cognome Nome Data Nascita Prov. Nascita Punteggio

[r]

[r]

Graduatoria Cognome Nome Data Nascita Prov.. Nascita Punteggio Anno

PUBLIO VIRGILIO MARONE - MERCATO S.SEVERINO (SA ) Grad. di Istituto II Fascia

Classe di Concorso Tipo Posto Po.. sto Cognome Nome

[r]

f.to Dott.ssa Maria Aida Tatiana Episcopo. NUOVE RICHIESTE