Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu
Esercitazione Basi di Dati2 Algebra Relazionale Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto, Costo) con vincoli di integrità referenziale fra Prodotto e la chiave di Prodotti fra Fornitore e la chiave di Fornitori 1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €. (5 minuti?) 2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM è la marca di un prodotto). (5 minuti?) 3.Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. (10 minuti?) 4.Trovare i codici dei fornitori che distribuiscono tutti i prodotti presenti nel catalogo. (15 minuti?) 5.Trovare i nomi dei fornitori che forniscono tutti i prodotti IBM presenti nel catalogo. (15 minuti?)
Esercitazione Basi di Dati3 Algebra Relazionale Le Relazioni Fornitori NomeCodiceFornitoreIndirizzoCittà Ladroni001Via OstenseRoma Risparmietti002Viale MarconiRoma Teloporto010Via RomaMilano CodiceProdottoNomeMarcaModello 0001NotebookIBM390 x 0002DesktopIBM DesktopACER730 Prodotti Catalogo FornitoreProdottoCosto € € € € € € € 2.000
Esercitazione Basi di Dati4 Algebra Relazionale 1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €. Esercizio 1.1 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati5 Algebra Relazionale 1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €. Nome, Marca, Modello ( Costo < 2000 (Prodotti ⋈ CP=P Catalogo)) Esercizio 1.1 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati6 Algebra Relazionale Le Relazioni CodiceProdottoNomeMarcaModello 0001NotebookIBM390 x 0002DesktopIBM DesktopACER730 (Prodotti ⋈ CP=P Catalogo) FornitoreProdottoCosto € € € € € € € ModelloMarcaNomeCP 510IBMDesktop ACERDesktop xIBMNotebook IBMDesktop ACERDesktop xIBMNotebook ACERDesktop 0003
Esercitazione Basi di Dati7 Algebra Relazionale Le Relazioni Costo < 2000 (Prodotti ⋈ CP=P Catalogo) FornitoreProdottoCosto € € € € € € € ModelloMarcaNomeCP 510IBMDesktop ACERDesktop xIBMNotebook IBMDesktop ACERDesktop xIBMNotebook ACERDesktop 0003
Esercitazione Basi di Dati8 Algebra Relazionale Le Relazioni Nome, Marca, Modello ( Costo < 2000 (Prodotti ⋈ CP=P Catalogo)) FornitoreProdottoCosto € € € € € € € ModelloMarcaNomeCP 510IBMDesktop ACERDesktop xIBMNotebook IBMDesktop ACERDesktop xIBMNotebook ACERDesktop 0003
Esercitazione Basi di Dati9 Algebra Relazionale 1.Trovare Nome, Marca e Modello dei prodotti acquistabili con meno di 2000 €. Nome, Marca, Modello ( Costo < 2000 (Prodotti ⋈ CP=P Catalogo)) Esercizio 1.1 NomeMarcaModello NotebookIBM390 x DesktopACER730 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati10 Algebra Relazionale 2.Trovare i nomi dei fornitori che distribuiscono prodotti IBM (IBM è la marca di un prodotto). Esercizio 1.2 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati11 Algebra Relazionale 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)) ) Esercizio 1.2 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati12 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € NomeCFIndirizzoCittà Ladroni001Via Ostiense Roma Ladroni001Via Ostiense Roma Risparmiet.002Viale Marconi Roma Risparmiet.002Viale Marconi Roma Risparmiet.002Viale Marconi Roma Teloporto010Via Roma Milano Teloporto010Via Roma Milano (Fornitori ⋈ CF=F Catalogo) NomeCodiceFornitoreIndirizzoCittà Ladroni001Via OstenseRoma Risparmietti002Viale MarconiRoma Teloporto010Via RomaMilano
Esercitazione Basi di Dati13 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € NomeCF..Città Ladroni001.. Roma Ladroni001.. Roma Risparmiet Roma Risparmiet Roma Risparmiet Roma Teloporto010.. Milano Teloporto010.. Milano ModelloMarca..CP 510IBM ACER xIBM IBM ACER xIBM ACER CodiceProdottoNomeMarcaModello 0001NotebookIBM390 x 0002DesktopIBM DesktopACER730 ((Fornitori ⋈ CF=F Catalogo) ⋈ P=CP ( CP,Marca (Prodotti))
Esercitazione Basi di Dati14 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € NomeCF..Città Ladroni001.. Roma Ladroni001.. Roma Risparmiet Roma Risparmiet Roma Risparmiet Roma Teloporto010.. Milano Teloporto010.. Milano ModelloMarca..CP 510IBM ACER xIBM IBM ACER xIBM ACER Marca =‘IBM’ ((Fornitori ⋈ CF=F Catalogo) ⋈ P=CP ( CP,Marca (Prodotti))
Esercitazione Basi di Dati15 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € NomeCF..Città Ladroni001.. Roma Ladroni001.. Roma Risparmiet Roma Risparmiet Roma Risparmiet Roma Teloporto010.. Milano Teloporto010.. Milano ModelloMarca..CP 510IBM ACER xIBM IBM ACER xIBM ACER Nome ( Marca =‘IBM’ ((Fornitori ⋈ CF=F Catalogo) ⋈ P=CP ( CP,Marca (Prodotti)))
Esercitazione Basi di Dati16 Algebra Relazionale 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)) ) Esercizio 1.2 Nome Ladroni Risparmietti Teloporto Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati17 Algebra Relazionale 3.Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. Esercizio 1.3 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati18 Algebra Relazionale 3.Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. P ( F F’ ( Catalogo ⋈ P=P’ X’←X (Catalogo)) X’←X indica una ridenominazione in cui ciascun attributo A viene cambiato in A’ Esercizio 1.3 Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati19 Algebra Relazionale Le Relazioni Catalogo ⋈ P=P’ X’←X (Catalogo) FornitoreProdottoCosto € € € € € € € € € € € € € € € € € Fornitore ’ Prodotto’Costo’ € € € € € € € € € € € € € € € € € 2.000
Esercitazione Basi di Dati20 Algebra Relazionale Le Relazioni F F’ ( Catalogo ⋈ P=P’ X’←X (Catalogo)) Fornitore ’ Prodotto’Costo’ € € € € € € € € € € € € € € € € € FornitoreProdottoCosto € € € € € € € € € € € € € € € € € 1.800
Esercitazione Basi di Dati21 Algebra Relazionale 3.Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. P ( F F’ ( Catalogo ⋈ P=P’ X’←X (Catalogo)) X’←X indica una ridenominazione in cui ciascun attributo A viene cambiato in A’ Esercizio 1.3 CodiceProdotto Fornitori (CF, Nome, Indirizzo, Città) Prodotti (CP, Nome, Marca, Modello) Catalogo (F, P, Costo)
Esercitazione Basi di Dati22 Algebra Relazionale Esercizio Trovare i codici dei fornitori che distribuiscono tutti i prodotti presenti nel catalogo. NomeCodiceFornitoreIndirizzoCittà Ladroni001Via OstenseRoma Risparmietti002Viale MarconiRoma Teloporto010Via RomaMilano CodiceProdottoNomeMarcaModello 0001NotebookIBM390 x 0002DesktopIBM DesktopACER730 FornitoreProdottoCosto € € € € € € € 2.000
Esercitazione Basi di Dati23 Algebra Relazionale Esercizio Trovare i codici dei fornitori che distribuiscono tutti i prodotti presenti nel catalogo. F (Catalogo) - F (( F (Catalogo) ⋈ P (Catalogo)) – F,P (Catalogo) ))
Esercitazione Basi di Dati24 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € F (Catalogo)- Fornitori che non forniscono tutti i prodotti Fornitore Fornitori che non forniscono tutti i prodotti
Esercitazione Basi di Dati25 Algebra Relazionale Le Relazioni F (Catalogo) ⋈ P (Catalogo) Fornitore Prodotto ⋈ ProdottoFornitore Tutte le coppie Fornitore/Prodotto
Esercitazione Basi di Dati26 Algebra Relazionale Le Relazioni F (Catalogo) ⋈ P (Catalogo) – F,P (Catalogo) ProdottoFornitore Tutte le coppie Fornitore/Prodotto – Fornitore/Prodotto ProdottoFornitore Le forniture mancate
Esercitazione Basi di Dati27 Algebra Relazionale Le Relazioni F (( F (Catalogo) ⋈ P (Catalogo)) – F,P (Catalogo) )) ProdottoFornitore Fornitori che non forniscono tutti i prodotti Fornitore
Esercitazione Basi di Dati28 Algebra Relazionale Le Relazioni FornitoreProdottoCosto € € € € € € € F (Catalogo)- Fornitori che non forniscono tutti i prodotti Fornitore Fornitore
Esercitazione Basi di Dati29 Algebra Relazionale 5.Trovare i nomi dei fornitori che forniscono tutti i prodotti IBM presenti nel catalogo. Esercizio 1.5
Esercitazione Basi di Dati30 Algebra Relazionale 5.Trovare i nomi dei fornitori che forniscono tutti i prodotti IBM presenti nel catalogo. La soluzione è identica a quella della interrogazione 4, con, al posto della relazione Catalogo la vista catalogoIBM : CatalogoIBM := P,F ( Marca=’IBM’ (Catalogo ⋈ P=CP Prodotti)) Esercizio 1.5