Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu [email protected].

30
Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu [email protected]

Transcript of Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu [email protected].

Page 1: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Basi di Dati Esercitazione Algebra

Relazionale21 Ottobre 2013

Disheng Qiu [email protected]

Page 2: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 2Algebra 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 Prodottifra 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?)

Page 3: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 3Algebra Relazionale

Le Relazioni

Fornitori

Nome CodiceFornitore Indirizzo Città

Ladroni 001 Via Ostense RomaRisparmietti 002 Viale Marconi RomaTeloporto 010 Via Roma Milano

CodiceProdotto Nome Marca Modello

0001 Notebook IBM 390 x0002 Desktop IBM 5100003 Desktop ACER 730

Prodotti

Catalogo

Fornitore Prodotto Costo

001 0002 € 3.200001 0003 € 2.200002 0001 € 1.900002 0002 € 2.500002 0003 € 1.800010 0001 € 2.200010 0003 € 2.000

Page 4: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 4Algebra 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)

Page 5: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 5Algebra 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)

Page 6: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 6Algebra Relazionale

Le Relazioni

CodiceProdottoNomeMarcaModello

0001NotebookIBM390 x

0002DesktopIBM510

0003DesktopACER730

(Prodotti ⋈CP=P Catalogo)

Fornitore Prodotto Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Modello Marca Nome CP

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

730 ACER Desktop 0003

Page 7: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 7Algebra Relazionale

Le Relazioni

Costo < 2000(Prodotti ⋈CP=P Catalogo)

Fornitore Prodotto Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Modello Marca Nome CP

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

730 ACER Desktop 0003

Page 8: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 8Algebra Relazionale

Le Relazioni

 Nome, Marca, Modello(Costo < 2000(Prodotti ⋈CP=P Catalogo))

Fornitore Prodotto Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Modello Marca Nome CP

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

510 IBM Desktop 0002

730 ACER Desktop 0003

390 x IBM Notebook 0001

730 ACER Desktop 0003

Page 9: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 9Algebra 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

Nome Marca Modello

Notebook IBM 390 x

Desktop ACER 730

Fornitori (CF, Nome, Indirizzo, Città)

Prodotti (CP, Nome, Marca, Modello)

Catalogo (F, P, Costo)

Page 10: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 10Algebra 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)

Page 11: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 11Algebra 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)

Page 12: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 12Algebra Relazionale

Le Relazioni

Fornitore Prodotto Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Nome CF Indirizzo Città

Ladroni 001 Via Ostiense Roma

Ladroni 001 Via Ostiense Roma

Risparmiet. 002 Viale Marconi Roma

Risparmiet. 002 Viale Marconi Roma

Risparmiet. 002 Viale Marconi Roma

Teloporto 010 Via Roma Milano

Teloporto 010 Via Roma Milano

(Fornitori⋈CF=F Catalogo)

Nome CodiceFornitore Indirizzo Città

Ladroni 001 Via Ostense RomaRisparmietti 002 Viale Marconi RomaTeloporto 010 Via Roma Milano

Page 13: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 13Algebra Relazionale

Le Relazioni

Fornitore Prodotto

Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Nome CF .. Città

Ladroni 001 .. Roma

Ladroni 001 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Teloporto 010 .. Milano

Teloporto 010 .. Milano

Modello Marca .. CP

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

730 ACER .. 0003

CodiceProdottoNomeMarcaModello

0001NotebookIBM390 x

0002DesktopIBM510

0003DesktopACER730

((Fornitori⋈CF=F Catalogo)⋈P=CP(CP,Marca(Prodotti))

Page 14: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 14Algebra Relazionale

Le Relazioni

Fornitore Prodotto

Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Nome CF .. Città

Ladroni 001 .. Roma

Ladroni 001 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Teloporto 010 .. Milano

Teloporto 010 .. Milano

Modello Marca .. CP

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

730 ACER .. 0003

Marca =‘IBM’

((Fornitori⋈CF=F Catalogo)⋈P=CP(CP,Marca(Prodotti))

Page 15: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 15Algebra Relazionale

Le Relazioni

Fornitore Prodotto

Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

Nome CF .. Città

Ladroni 001 .. Roma

Ladroni 001 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Risparmiet. 002 .. Roma

Teloporto 010 .. Milano

Teloporto 010 .. Milano

Modello Marca .. CP

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

510 IBM .. 0002

730 ACER .. 0003

390 x IBM .. 0001

730 ACER .. 0003

Nome (Marca =‘IBM’

((Fornitori⋈CF=F Catalogo)⋈P=CP(CP,Marca(Prodotti)))

Page 16: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 16Algebra 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)

Page 17: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 17Algebra 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)

Page 18: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 18Algebra 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)

Page 19: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 19Algebra Relazionale

Le Relazioni

Catalogo ⋈P=P’

X’←X(Catalogo)

Fornitore Prodotto Costo

001 0002 € 3.200

002 0002 € 2.500

001 0003 € 2.200

002 0003 € 1.800

010 0003 € 2.000

002 0001 € 1.900

010 0001 € 2.200

002 0002 € 2.500

001 0002 € 3.200

002 0003 € 1.800

001 0003 € 2.200

010 0003 € 2.000

010 0001 € 2.200

002 0001 € 1.900

010 0003 € 2.000

001 0003 € 2.200

002 0003 € 1.800

Fornitore’

Prodotto’ Costo’

001 0002 € 3.200

001 0002 € 3.200

001 0003 € 2.200

001 0003 € 2.200

001 0003 € 2.200

002 0001 € 1.900

002 0001 € 1.900

002 0002 € 2.500

002 0002 € 2.500

002 0003 € 1.800

002 0003 € 1.800

002 0003 € 1.800

010 0001 € 2.200

010 0001 € 2.200

010 0003 € 2.000

010 0003 € 2.000

010 0003 € 2.000

Page 20: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 20Algebra Relazionale

Le Relazioni

F F’(

Catalogo ⋈P=P’

X’←X(Catalogo))

Fornitore’

Prodotto’ Costo’

001 0002 € 3.200

001 0002 € 3.200

001 0003 € 2.200

001 0003 € 2.200

001 0003 € 2.200

002 0001 € 1.900

002 0001 € 1.900

002 0002 € 2.500

002 0002 € 2.500

002 0003 € 1.800

002 0003 € 1.800

002 0003 € 1.800

010 0001 € 2.200

010 0001 € 2.200

010 0003 € 2.000

010 0003 € 2.000

010 0003 € 2.000

Fornitore Prodotto Costo

001 0002 € 3.200

002 0002 € 2.500

001 0003 € 2.200

002 0003 € 1.800

010 0003 € 2.000

002 0001 € 1.900

010 0001 € 2.200

002 0002 € 2.500

001 0002 € 3.200

002 0003 € 1.800

001 0003 € 2.200

010 0003 € 2.000

010 0001 € 2.200

002 0001 € 1.900

010 0003 € 2.000

001 0003 € 2.200

002 0003 € 1.800

Page 21: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 21Algebra 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

0001

0002

0003

Fornitori (CF, Nome, Indirizzo, Città)

Prodotti (CP, Nome, Marca, Modello)

Catalogo (F, P, Costo)

Page 22: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 22Algebra Relazionale

Esercizio 1.44. Trovare i codici dei fornitori che distribuiscono tutti i prodotti

presenti nel catalogo.

Nome CodiceFornitore Indirizzo Città

Ladroni 001 Via Ostense RomaRisparmietti 002 Viale Marconi RomaTeloporto 010 Via Roma Milano

CodiceProdotto Nome Marca Modello

0001 Notebook IBM 390 x0002 Desktop IBM 5100003 Desktop ACER 730

Fornitore Prodotto Costo

001 0002 € 3.200001 0003 € 2.200002 0001 € 1.900002 0002 € 2.500002 0003 € 1.800010 0001 € 2.200010 0003 € 2.000

Page 23: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 23Algebra Relazionale

Esercizio 1.4

4. Trovare i codici dei fornitori che distribuiscono tutti i prodotti presenti nel catalogo.

  F(Catalogo) -

F((F(Catalogo)⋈ P(Catalogo))

– F,P(Catalogo) ))

Page 24: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 24Algebra Relazionale

Le Relazioni

Fornitore Prodotto

Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

F(Catalogo)- Fornitori che non forniscono

tutti i prodotti

Fornitore

001

002

010

-

Fornitori che

non forniscono

tutti i prodotti

Page 25: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 25Algebra Relazionale

Le Relazioni

F(Catalogo)⋈ P(Catalogo)

Fornitore

001

002

010

Prodotto

0001

0002

0003

Prodotto Fornitore

0001 001

0002 002

0003 010

0001 002

0002 010

0003 001

0001 010

0002 001

0003 002

Tutte le coppie Fornitore/Prodotto

Page 26: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 26Algebra Relazionale

Le Relazioni

F(Catalogo)⋈ P(Catalogo) – F,P(Catalogo)

Prodotto Fornitore

0001 001

0002 002

0003 010

0001 002

0002 010

0003 001

0001 010

0002 001

0003 002

Tutte le coppie Fornitore/Prodotto – Fornitore/Prodotto

Prodotto Fornitore

0002 001

0003 001

0001 002

0002 002

0003 002

0001 010

0003 010

Le forniture mancate

Page 27: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 27Algebra Relazionale

Le Relazioni

F((F(Catalogo)⋈ P(Catalogo))

– F,P(Catalogo) ))

Prodotto Fornitore

0001 001

0002 002

0003 010

0001 002

0002 010

0003 001

0001 010

0002 001

0003 002

Fornitori che non forniscono tutti i prodotti

Fornitore

001

010

Page 28: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 28Algebra Relazionale

Le Relazioni

Fornitore Prodotto

Costo

001 0002 € 3.200

001 0003 € 2.200

002 0001 € 1.900

002 0002 € 2.500

002 0003 € 1.800

010 0001 € 2.200

010 0003 € 2.000

F(Catalogo)- Fornitori che non forniscono

tutti i prodotti

Fornitore

001

002

010

- Fornitore

001

010

Page 29: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 29Algebra Relazionale

5. Trovare i nomi dei fornitori che forniscono tutti i prodotti IBM presenti nel catalogo.

Esercizio 1.5

Page 30: Basi di Dati Esercitazione Algebra Relazionale 21 Ottobre 2013 Disheng Qiu disheng.qiu@gmail.com.

Esercitazione Basi di Dati 30Algebra 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