• Non ci sono risultati.

Data Science e Tecnologie per le Basi di Dati Homework 4

N/A
N/A
Protected

Academic year: 2021

Condividi "Data Science e Tecnologie per le Basi di Dati Homework 4"

Copied!
1
0
0

Testo completo

(1)

Data Science e Tecnologie per le Basi di Dati Homework 4

Sono date le relazioni seguenti (le chiavi primarie sono sottolineate):

IMPRESA-PULIZIE(Pid, Nome, Indirizzo, Citt`a, Regione) SERVIZI-OFFERTI(Pid, Sid)

SERVIZIO(Sid, NomeServizio, Categoria)

EDIFICIO(Eid, NomeEdificio, TipoEdificio, Indirizzo, Citt`a , Regione) SERVIZI-PULIZIA(Pid, Eid, Data, Sid, Costo, NumeroOre)

Si ipotizzino le seguenti cardinalit`a:

• card(IMPRESA-PULIZIE) = 104 tuple, valori distinti di Regione = 20

• card(SERVIZI-OFFERTI)= 2 · 105 tuple,

• card(SERVIZIO)= 100 tuple,

valori distinti di Categoria = 10

• card(EDIFICIO)= 5 · 107 tuple, valori distinti di Citt`a = 1000 valori distinti di TipoEdificio = 10

• card(SERVIZI-PULIZIA)= 109 tuple,

MIN(Data) = 1/1/2010, MAX(Data) = 31/12/2019

Inoltre si ipotizzi il seguente fattore di riduzione per le condizioni di group by:

• having COUNT(*) 1 '12.

• having SUM(Costo) 1000 '101. Si consideri la seguente query SQL:

select Eid, SUM(Costo) as TotCost, SUM(NumeroOre) as TotOre from SERVIZI-PULIZIA SP, EDIFICIO E

where SP.Data>=1/1/2019 and SP.Data<=31/12/2019 and E.TipoEdificio <> ‘Ufficio’

and E.Citt`a=‘Torino’

and SP.Eid=E.Eid

and SP.Sid IN ( select SO.Sid

from IMPRESA-PULIZIE IP, SERVIZIO S, SERVIZI-OFFERTI SO where SO.Sid=S.Sid and SO.Pid=IP.Pid

and (Regione=‘Piemonte’ or Regione=‘Liguria’) and Categoria=‘Interni’

group by SO.Sid having COUNT(*)>=1) group by SP.Eid

having SUM(Costo)>=1000 Homework tasks

Per l’interrogazione SQL

1. Si scriva l’espressione algebrica corrispondente, indicando le operazioni svolte, la cardinalit`a e la selettivit`a di ogni operazione. Dove necessario, si ipotizzi la distribuzione dei dati. Discutere la possibilit`a di anticipare l’operatore GROUP BY.

2. Si scelgano le strutture fisiche accessorie per migliorare le prestazioni dell’interrogazione. Si motivi la scelta e si definisca il piano di esecuzione (ordine e tipo dei join, accesso alle tabelle e/o indici, etc.).

Riferimenti

Documenti correlati

(a) Si deve aggiornare nella tabella TOTALE VENDITE LIBRERIA il numero complessivo di copie del libro vendute presso la libreria e l’importo complessivamente incassato dalla

(a) Per ogni tipologia di servizio e considerando solo il volume d’affari del 2009, visualizzare per ogni filiale e quadrimestre, il volume d’affari totale, il numero totale

(b) Per ogni team e per ogni mese, calcolare in media quante righe di codice sono state aggiunte ad ogni commit, separatamente per ogni combinazione di tipo di commit (bugfix,

• Incassi e numero di chiamate effettuate su base mensile in funzione della provincia e della regione nella quale si trova l'apparecchio del chiamante.. • Incassi e numero

Cambiare l’attributo di classe all’interno tra le “Data set metadata information” da “Service Class” a “Native Country” (altrimenti, rieseguire l’intero processo di

Verificare il funzionamento del trigger inserendo dei record nella tabella TICKETS in modo da far cambiare status a un cliente. • inserire uno o più biglietti per

Il comando per visualizzare il piano di esecuzione esegue delle query alla tabella PLAN_TABLE.. Se questa esiste già verrà mostrato un errore (“Nome colonna

Un ulteriore indice su emp(deptno) non aiuterebbe la join, poiché prima della join viene eseguito un filtro su Job, che richiede l’indice su Job ed un access by