esercitazione algebra relazionale ed sqlatzeni/didattica/bdn/20092010/esercitaziones… ·...
TRANSCRIPT
![Page 1: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/1.jpg)
Basi di DatiBasi di Dati Esercitazione Algebra RelazionaleEsercitazione Algebra Relazionale
ed SQL10 Novembre 2009
![Page 2: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/2.jpg)
Esercizio 1
Fornitori (CodiceFornitore, Nome, Indirizzo, Città)Prodotti (CodiceProdotto, Nome, Marca, Modello)Catalogo (Fornitore, Prodotto, Costo)
con vincoli di integrità referenzialef P d tt l hi di P d ttifra Prodotto e la chiave di Prodottifra Fornitore e la chiave di Fornitori
1. Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di2000 €.
2 Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM è la2. Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM è lamarca di un prodotto).
3. Trovare i codici di tutti i prodotti che sono forniti da almeno duefornitori.fornitori.
4. Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.
5 Trovare i nomi dei fornitori che forniscono tutti i prodotti IBM
Esercitazione Basi di Dati 2Algebra Relazionale e SQL
5. Trovare i nomi dei fornitori che forniscono tutti i prodotti IBMpresenti nel catalogo.
![Page 3: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/3.jpg)
Le Relazioni
Nome CodiceFornitore Indirizzo Citta
L d i 01 Vi O ti RLadroni 01 Via Ostiense Roma
Risparmietti 02 Viale Marconi Roma
Teloporto 10 Via Roma MilanoFornitori
Teloporto 10 Via Roma Milano
TuttoIBM 13 Corso Italia Perugia
Nome CodiceProdotto Marca Modello
Notebook 01 IBM 390xProdotti
Desktop 02 IBM 510
Desktop 10 Acer 730
Prodotti
Esercitazione Basi di Dati 3Algebra Relazionale e SQL
![Page 4: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/4.jpg)
Le Relazioni
Fornitore Prodotto Costo
01 002 3200
01 003 2200
02 001 1900Catalogo02 002 2500
02 003 1800
10 001 2200
Catalogo
10 001 2200
10 003 2000
13 001 2600
13 002 2850
Esercitazione Basi di Dati 4Algebra Relazionale e SQL
![Page 5: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/5.jpg)
Esercizio 1.1
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP Nome Marca Modello)Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €.p q
Esercitazione Basi di Dati 5Algebra Relazionale e SQL
![Page 6: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/6.jpg)
Esercizio 1.1
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €.
πNome, Marca, Modello, ,
(σCosto < 2000(Prodotti ⋈CP=P Catalogo))
Esercitazione Basi di Dati 6Algebra Relazionale e SQL
![Page 7: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/7.jpg)
Esercizio 1.1
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
1 T N M M d ll d i d tti i t bili
( , , , )
Catalogo (F, P, Costo)
1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €
πNome, Marca, Modello(σCosto < 2000(Prodotti ⋈CP=P Catalogo))
select distinct nome, marca, modello
from prodotti, catalogo
where codiceProdotto = prodotto
and costo < 2000
Esercitazione Basi di Dati 7Algebra Relazionale e SQL
![Page 8: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/8.jpg)
Esercizio 1.1
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €.
Nome Marca Modello
Notebook IBM 390x
Desktop Acer 730
Esercitazione Basi di Dati 8Algebra Relazionale e SQL
![Page 9: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/9.jpg)
Esercizio 1.2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
2.Trovare i nomi dei fornitori che distribuiscono prodottipIBM (IBM è la marca di un prodotto).
Esercitazione Basi di Dati 9Algebra Relazionale e SQL
![Page 10: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/10.jpg)
Esercizio 1.2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM
( , , , )
Catalogo (F, P, Costo)
2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBMè la marca di un prodotto).
πNome (
σMarca =‘IBM’((Fornitori⋈CF=F Catalogo)
⋈P=CP(πCP,Marca(Prodotti)))C CP,Marca
Esercitazione Basi di Dati 10Algebra Relazionale e SQL
![Page 11: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/11.jpg)
Esercizio 1.2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM
Catalogo (F, P, Costo)
è la marca di un prodotto).πNome(σMarca=‘IBM’((Fornitori⋈CF=FCatalogo)⋈P=CP(πCP,Marca(Prodotti)))
select distinct fornitori.nome
f d tti t l f it ifrom prodotti, catalogo, fornitori
where codiceProdotto = prodotto
and fornitore = codiceFornitore
and marca = 'IBM'
Esercitazione Basi di Dati 11Algebra Relazionale e SQL
![Page 12: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/12.jpg)
Esercizio 1.2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM
( , , , )
Catalogo (F, P, Costo)
2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBMè la marca di un prodotto).
Nome
Ladroni
Risparmietti
T lTeloporto
TuttoIBM
Esercitazione Basi di Dati 12Algebra Relazionale e SQL
![Page 13: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/13.jpg)
Esercizio 1.3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
3. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori.da almeno due fornitori.
Esercitazione Basi di Dati 13Algebra Relazionale e SQL
![Page 14: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/14.jpg)
Esercizio 1.3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
3 Trovare i codici di tutti i prodotti che sono forniti da almeno
( , , , )
Catalogo (F, P, Costo)
3. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori.
πP ( σF ≠ F’(Catalogo ⋈P=P’ ρX’←X(Catalogo))P ( F ≠ F ( g P=P ρX ←X( g ))
ρX’←X indica una ridenominazione in cui ciascun attributo A viene cambiato in A’
Esercitazione Basi di Dati 14Algebra Relazionale e SQL
![Page 15: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/15.jpg)
Esercizio 1.3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
3 Trovare i codici di tutti i prodotti che sono forniti da almeno
( , , , )
Catalogo (F, P, Costo)
3. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori.
πP ( σF ≠ F’(Catalogo ⋈P=P’ ρX’←X(Catalogo))P ( F ≠ F ( g P=P ρX ←X( g ))
select distinct c1 prodottoselect distinct c1.prodottofrom catalogo c1, catalogo c2where c1 prodotto = c2 prodottowhere c1.prodotto c2.prodottoand c1.fornitore > c2.fornitore
Esercitazione Basi di Dati 15Algebra Relazionale e SQL
![Page 16: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/16.jpg)
Esercizio 1.3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
3 Trovare i codici di tutti i prodotti che sono forniti da almeno
( , , , )
Catalogo (F, P, Costo)
3. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori.
CodiceProdotto
001001
002
003003
Esercitazione Basi di Dati 16Algebra Relazionale e SQL
![Page 17: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/17.jpg)
Esercizio 1.4
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
4.Trovare i codici dei fornitori che distribuiscono tutti iprodotti presenti nel catalogo.p odott p ese t e cata ogo
Esercitazione Basi di Dati 17Algebra Relazionale e SQL
![Page 18: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/18.jpg)
Esercizio 1.4
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
4.Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.
πF(Catalogo) -πF((πF(Catalogo)⋈ πP(Catalogo))πF((πF(Catalogo)⋈ πP(Catalogo))
– π F,P(Catalogo) ))
Esercitazione Basi di Dati 18Algebra Relazionale e SQL
![Page 19: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/19.jpg)
Esercizio 1.4
4.Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.πF(Catalogo) -πF((πF(Catalogo)⋈ πP(Catalogo)) – π F,P(Catalogo) ))
create view fornituraMancanteas select c1.fornitore, c2.prodotto
from catalogo c1, catalogo c2exceptexcept
select fornitore, prodotto from catalogo
select fornitorefrom catalogo
exceptselect fornitorefrom fornituraMancante;
Esercitazione Basi di Dati 19Algebra Relazionale e SQL
![Page 20: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/20.jpg)
Esercizio 1.4
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
4.Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.
Fornitore
2
Esercitazione Basi di Dati 20Algebra Relazionale e SQL
![Page 21: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/21.jpg)
Esercizio 1.4
4.Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.πF(Catalogo) -πF((πF(Catalogo)⋈ πP(Catalogo)) – π F,P(Catalogo) ))
select distinct fornitorefrom catalogo c1where not existswhere not exists
(select * from catalogo c2gwhere not exists (select *from catalogo c3where c2.prodotto = c3.prodottoand c1 fornitore = c3 fornitore))
Esercitazione Basi di Dati 21Algebra Relazionale e SQL
and c1.fornitore = c3.fornitore))
![Page 22: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/22.jpg)
Esercizio 1.4
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP Nome Marca Modello)Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
4.Trovare i codici dei fornitori che distribuiscono tutti i prodottipresenti nel catalogo.
Fornitore
2
Esercitazione Basi di Dati 22Algebra Relazionale e SQL
![Page 23: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/23.jpg)
Esercizio 1.5
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
5 Trovare i nomi dei fornitori che forniscono tutti i5. Trovare i nomi dei fornitori che forniscono tutti iprodotti IBM presenti nel catalogo.
Esercitazione Basi di Dati 23Algebra Relazionale e SQL
![Page 24: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/24.jpg)
Esercizio 1.5
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
5 T i i d i f it i h f i t tti i d tti
( , , , )
Catalogo (F, P, Costo)
5. Trovare i nomi dei fornitori che forniscono tutti i prodottiIBM presenti nel catalogo.
In algebra, come interrogazione 4, usando, al posto dellaa geb a, co e te oga o e , usa do, a posto de arelazione Catalogo, relazione catalogoIBM:
CatalogoIBM := πP,F(
σ ’ ’(Catalogo ⋈ C Prodotti))σMarca=’IBM’(Catalogo ⋈P=CP Prodotti))
Esercitazione Basi di Dati 24Algebra Relazionale e SQL
![Page 25: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/25.jpg)
Esercizio 1.5create view catalogoIBMas select catalogo.fornitore, catalogo.prodotto,
from catalogo c, prodotti pwhere marca =‘IBM’and p.codiceProdotto=c.prodotto;
select distinct fornitorefrom catalogoIBM c1where not exists(select * from catalogoIBM c2where not exists ( l t *(select *from catalogoIBM c3where c2.prodotto = c3.prodottoand c1 fornitore = c3 fornitore));and c1.fornitore = c3.fornitore));
Esercitazione Basi di Dati 25Algebra Relazionale e SQL
![Page 26: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/26.jpg)
Esercizio 1.5
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
5. Trovare i nomi dei fornitori che forniscono tutti i prodottiIBM presenti nel catalogo.IBM presenti nel catalogo.
FornitoreFornitore
2
13
Esercitazione Basi di Dati 26Algebra Relazionale e SQL
![Page 27: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/27.jpg)
Esercizio 2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
2. Trovare i codici ed i nomi dei fornitori che vendono più prodotti ed il numero di prodotti vendono più prodotti ed il numero di prodotti venduti.
Esercitazione Basi di Dati 27Algebra Relazionale e SQL
![Page 28: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/28.jpg)
Esercizio 2
2. Trovare il codice ed i nomi dei fornitori che vendono più prodotti ed il numero di prodotti p p pvenduti.
select f2.codiceFornitore, f2.nome, count(*) as SommaProdotti
from fornitori f2 catalogo c2from fornitori f2, catalogo c2
where f2.codicefornitore = c2.fornitore
group by f2.codiceFornitore, f2.nomegroup by f2.codiceFornitore, f2.nome
having count(*) >= all (
select count(*)
from catalogo c
group by c.fornitore );
Esercitazione Basi di Dati 28Algebra Relazionale e SQL
![Page 29: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/29.jpg)
Esercizio 2
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)( , , , )
Catalogo (F, P, Costo)
2. Trovare i codici ed i nomi dei fornitori che vendono piùprodotti ed il numero di prodotti venduti.
CodiceFornitore Nome NumeroProdottiCodiceFornitore Nome NumeroProdotti
2 Risparmietti 3
Esercitazione Basi di Dati 29Algebra Relazionale e SQL
![Page 30: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/30.jpg)
Esercizio 3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
3. Trovare per ogni prodotto il fornitore che lo vende a prezzo più bassoprezzo più basso.
Esercitazione Basi di Dati 30Algebra Relazionale e SQL
![Page 31: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/31.jpg)
Esercizio 3
3. Trovare per ogni prodotto il fornitore che lo vende a prezzo più basso.
select c.prodotto, c.fornitore, f.nomep
from ES.catalogo c, ES.fornitori f
where f.codiceFornitore = c.fornitore
and costo <= all (
select costo
from ES.catalogo c1
where c.prodotto = c1.prodotto);p p );
Esercitazione Basi di Dati 31Algebra Relazionale e SQL
![Page 32: Esercitazione Algebra Relazionale ed SQLatzeni/didattica/BDN/20092010/EsercitazioneS… · Esercitazione Basi di Dati Algebra Relazionale e SQL 11. Esercizio 1.2 Fornitori (CF, Nome,](https://reader036.vdocuments.pub/reader036/viewer/2022063014/5fd02c7e9f857867ae4427df/html5/thumbnails/32.jpg)
Esercizio 3
Fornitori (CF, Nome, Indirizzo, Città)
Prodotti (CP, Nome, Marca, Modello)
Catalogo (F, P, Costo)
3. Trovare per ogni prodotto il fornitore che lo vende a prezzo più bassoprezzo più basso.
Prodotto Fornitore Nome
1 2 Risparmietti
2 2 Risparmietti
3 2 Risparmietti
Esercitazione Basi di Dati 32Algebra Relazionale e SQL