Travelgenio e Travel2be pubblicano la classifica delle linee aeree 2013
C6es
-
Upload
majong-devjfu -
Category
Travel
-
view
764 -
download
1
description
Transcript of C6es
![Page 1: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/1.jpg)
Basi di Dati
Esercizi di interrogazioni complesse (II parte)
![Page 2: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/2.jpg)
DB MobiliArticoli (Art_Cod, Cat_Cod, Art_Descrizione, Art_Prezzo, Art_IVA,
Art_Spese_Trasporto)FK: Cat_Cod REFERENCES Categorie
Categorie (Cat_Cod, Cat_Descrizione)Componenti (Com_Cod, Com_Descrizione, Com_Costo, Lab_Cod)
FK: Lab_Cod REFERENCES LaboratoriLaboratori (Lab_Cod, Lab_Indirizzo, Lab_Citta, Lab_Telefono)Ordini (Ord_Cod, Neg_Cod, Ord_Data)
FK: Neg_Cod REFERENCES NegoziNegozi (Neg_Cod, Neg_Nome, Neg_Indirizzo, Neg_Citta, Neg_Telefono)CompArt (Art_Cod, Com_Cod, CompArt_Qta)
FK: Art_Cod REFERENCES ArticoliFK: Com_Cod REFERENCES Componenti
OrdArt (Ord_Cod, Art_Cod, OrdArt_Qta)FK: Ord_Cod REFERENCES OrdiniFK: Art_Cod REFERENCES Articoli
2 Esercizi di interrogazioni complesse (II parte)
![Page 3: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/3.jpg)
DB Mobili
Art_CodCat_CodArt_DescrizioneArt_PrezzoArt_IVAArt_Spese_Trasporto
Articoli
Com_CodCom_DescrizioneCom_CostoLab_Cod
Componenti
Ord_CodNeg_CodOrd_Data
Ordini
Neg_CodNeg_NomeNeg_IndirizzoNeg_CittaNeg_Telefono
Negozi
Cat_CodCat_Descrizione
Categorie
Lab_CodLab_IndirizzoLab_CittaLab_Telefono
LaboratoriArt_CodCom_CodCompArt_Qta
CompArt
Ord_CodArt_CodOrdArt_Qta
OrdArt
3 Esercizi di interrogazioni complesse (II parte)
![Page 4: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/4.jpg)
DB Mobili – Query binarieI codici degli ordini del negozio con codice 123 e quelli in cui vengono richiesti più di 10 pezzi dello stesso articolo
SELECT Ord_CodFROM OrdiniWHERE Neg_Cod = '123'
UNIONSELECT Ord_CodFROM OrdArtWHERE OrdArt_Qta > 10
4 Esercizi di interrogazioni complesse (II parte)
![Page 5: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/5.jpg)
DB Mobili – Query nidificateI componenti meno utilizzati nelle composizioni, ovvero che compaiono meno della media nella composizione dei vari articoli
SELECT DISTINCT Com_CodFROM CompArtWHERE CompArt_Qta <
(SELECT AVG(CompArt_Qta)FROM CompArt)
5 Esercizi di interrogazioni complesse (II parte)
![Page 6: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/6.jpg)
DB Mobili – Query nidificateGli articoli per cui non vi sono ordini
SELECT *FROM ArticoliWHERE NOT EXISTS
( SELECT * FROM OrdArtWHERE OrdArt.Art_Cod = Articoli.Art_Cod)
6 Esercizi di interrogazioni complesse (II parte)
![Page 7: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/7.jpg)
DB Mobili – Query nidificatePer il componente “ANTA”, la differenza rispetto al costo medio dei componenti
SELECT (Com_Costo ‐(SELECT AVG(Com_Costo)FROM Componenti) ) AS Differenza
FROM ComponentiWHERE Com_Descrizione ='ANTA'
7 Esercizi di interrogazioni complesse (II parte)
![Page 8: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/8.jpg)
DB EsamiS (Matr, SNome, Citta, ACorso)C (CC, CNome, CD)
FK: CD REFERENCES D
D (CD, CNome, Citta)E (Matr, CC, Data, Voto)
FK: Matr REFERENCES S
FK: CC REFERENCES C
Matr SNome Citta Acorso
S
CC CNome CDC
CD CNome CittaD
Matr CC Data Voto E
8 Esercizi di interrogazioni complesse (II parte)
![Page 9: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/9.jpg)
DB Esami – Query binarieCittà di studenti ma non di docenti
SELECT Citta FROM SEXCEPTSELECT Citta FROM D
SELECT CittaFROM SWHERE Citta NOT IN ( SELECT Citta
FROM D)
9 Esercizi di interrogazioni complesse (II parte)
![Page 10: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/10.jpg)
DB Esami – Query nidificateStudenti con anno di corso più basso
SELECT *FROM SWHERE ACorso <= ALL (SELECT ACorso
FROM S)
10 Esercizi di interrogazioni complesse (II parte)
![Page 11: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/11.jpg)
DB Esami – Query nidificateNome degli studenti che hanno sostenuto l'esame del corso C323
SELECT SNomeFROM SWHERE Matr IN (SELECT Matr
FROM EWHERE CC='C323')
Questa query è riscrivibile in una query semplice:
SELECT SNomeFROM E,SWHERE E.Matr=S.MatrAND E.CC='C323'
11 Esercizi di interrogazioni complesse (II parte)
![Page 12: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/12.jpg)
DB Esami – Query nidificateNome degli studenti che non hanno sostenuto l'esame del corso C323
SELECT SNomeFROM SWHERE Matr NOT IN (SELECT Matr
FROM EWHERE CC='C323')
SELECT SNomeFROM SWHERE Matr <> ALL (SELECT Matr
FROM EWHERE CC='C323')
12 Esercizi di interrogazioni complesse (II parte)
![Page 13: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/13.jpg)
DB Esami – Query nidificateSELECT SNomeFROM SWHERE NOT EXISTS ( SELECT *
FROM EWHERE E.Matr=S.MatrAND E.CC='C323')
NOTA: nessuna delle varianti viste è riscrivibile come query semplice. Ad esempio, la seguente query non è equivalente a quelle viste:
SELECT SNomeFROM E,SWHERE E.Matr=S.MatrAND E.CC <> 'C323'
13 Esercizi di interrogazioni complesse (II parte)
![Page 14: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/14.jpg)
DB Esami – Query nidificate (divisione)Studenti che hanno sostenuto tutti gli esami relativi a corsi del docente 624
E’ utile riformulare la query:
Studenti per i quali non esiste alcun corso del docente 624 di cui non hanno sostenuto l'esame
14 Esercizi di interrogazioni complesse (II parte)
![Page 15: C6es](https://reader036.fdocumenti.com/reader036/viewer/2022081816/548971fcb47959050d8b59b6/html5/thumbnails/15.jpg)
DB Esami – Query nidificate (divisione)Studenti per i quali non esiste alcun corso del docente 624 di cui non hanno sostenuto l'esame
SELECT *FROM SWHERE NOT EXISTS
(SELECT *FROM CWHERE CD='624'AND NOT EXISTS
(SELECT *FROM EWHERE E.Matr=S.MatrAND E.CC=C.CC))
15 Esercizi di interrogazioni complesse (II parte)