Transcript
Page 1: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

Informatica

Introduzione alle basi di datiLezione 8 (bis)Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistraleAnno accademico: 2005-2006

Page 2: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

2

Interrogazioni con Algebra Relazionale

Dato schema R(Y) di DB, un’interrogazione è una funzione che, per ogni istanza r di R(Y), produce una relazione su un dato insieme di attributi XLe espressioni di un linguaggio di interrogazione (per esempio, algebra relazionale), permettono di realizzare interrogazioni a un DBE(r): risultato dell’applicazione dell’espressione E al DB rE(r) è una relazione

Page 3: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

3

Esempi di Interrogazioni: 1

Matr

Nome Età

Stip

101 Mario Rossi 34 2.000

103 Mario Bianchi

23 1.750

104 Luigi Neri 38 3.050

105 Nico Bini 44 1.700

210 Marco Celli 49 3.000

231 Siro Bisi 50 3.000

252 Nico Bini 44 3.500

301 Sergio Rossi

34 3.500

375 Mario Rossi 50 3.250

Capo

Impiegato

210 101

210 103

210 104

231 105

301 210

301 231

375 252

Impiegati Supervisione

Page 4: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

4

Esempi di Interrogazioni: 1

Trovare matricola, nome ed età degli impiegati che guadagnano più di 2.000

Matr,Nome,Età(Stip>2.000(Impiegati))

Page 5: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

5

Esempi di Interrogazioni: 1

Trovare matricola, nome ed età degli impiegati che guadagnano più di 2.000

Matr

Nome Età

101 Mario Rossi 34

104 Luigi Neri 38

210 Marco Celli 49

231 Siro Bisi 50

252 Nico Bini 44

301 Sergio Rossi

34

375 Mario Rossi 50

Page 6: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

6

Esempi di Interrogazioni: 2

Trovare gli impiegati che guadagnano più del loro capo, mostrando matricola, nome e stipendio di ciascuno di essi e del capo

1. Definire relazione R che lega (join) descrizione di impiegati a descrizione di capo

Per non confondere gli attributi dell’impiegato e del capo bisogna ridenominare una delle due relazioni

Page 7: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

7

Esempi di Interrogazioni: 2

Trovare gli impiegati che guadagnano più del loro capo, mostrando matricola, nome e stipendio di ciascuno di essi e del capo

2. Selezionare le tuple di R tali nelle quali lo stipendio dell’impiegato è superiore a quello del capo

Page 8: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

8

Esempi di Interrogazioni: 2

Trovare gli impiegati che guadagnano più del loro capo, mostrando matricola, nome e stipendio di ciascuno di essi e del capo

3. Proiettare risultato su attributo Matr, Nome e Stip di impiegato e sui corrispettivi (ridenominati) di capo

Page 9: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

9

Esempi di Interrogazioni: 2

1. Definire relazione R che lega descrizione di impiegati a descrizione di capo

a) Definire relazione R1 che descrive gli impiegati di ciascun capo

Schema: R1(Matr,Nome,Età,Stip,Capo,Impiegato)

R1 = Impiegati Matr=Impiegato Supervisione

Page 10: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

10

Esempi di Interrogazioni: 2

R1 = Impiegati Matr=Impiegato Supervisione

Matr

Nome Età

Stip Capo

Impiegato

101 Mario Rossi 34 2.000

210 101

103 Mario Bianchi

23 1.750

210 103

104 Luigi Neri 38 3.050

210 104

105 Nico Bini 44 1.700

231 105

210 Marco Celli 49 3.000

301 210

231 Siro Bisi 50 3.000

301 231

252 Nico Bini 44 3.500

375 252

R1

Page 11: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

11

Esempi di Interrogazioni: 2

1. b) Definire relazione R che descrive

impiegati e capo: per non confondere gli attributi dell’impiegato e del capo ridenominare impiegati

R2=MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)

R = R1 Capo=MatrC R2

Page 12: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

12

Esempi di Interrogazioni: 2

R2=MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)

MatrC

NomeC EtàC

StipC

101 Mario Rossi 34 2.000

103 Mario Bianchi

23 1.750

104 Luigi Neri 38 3.050

105 Nico Bini 44 1.700

210 Marco Celli 49 3.000

231 Siro Bisi 50 3.000

252 Nico Bini 44 3.500

301 Sergio Rossi

34 3.500

375 Mario Rossi 50 3.250

R2

Page 13: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

13

Esempi di Interrogazioni: 2

R = R1 Capo=MatrC R2

Matr

Nome Età

Stip Capo

Impiegato

MatrC

NomeC EtàC

StipC

101 Mario Rossi 34 2.000

210 101 210 Marco Celli

49 3.000

103 Mario Bianchi

23 1.750

210 103 210 Marco Celli

49 3.000

104 Luigi Neri 38 3.050

210 104 210 Marco Celli

49 3.000

105 Nico Bini 44 1.700

231 105 231 Siro Bisi 50 3.000

210 Marco Celli 49 3.000

301 210 301 Sergio Rossi

34 3.500

231 Siro Bisi 50 3.000

301 231 301 Sergio Rossi

34 3.500

252 Nico Bini 44 3.500

375 252 375 Mario Rossi

50 3.250

R

Page 14: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

14

Esempi di Interrogazioni: 2

1. b) Definire relazione R che descrive

impiegati e capo: per non confondere gli attributi dell’impiegato e del capo ridenominare impiegati

R2=MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)

R = R1 Capo=MatrC R2

(Impiegati Matr=Impiegato Supervisione) Capo=MatrC

MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)

Page 15: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

15

Esempi di Interrogazioni: 2

2. Selezionare tuple in R in cui lo stipendio dell’impiegato è superiore a quello del capo:

Stip>StipC(R)

Matr

Nome Età

Stip Capo

Impiegato

MatrC

NomeC EtàC

StipC

104 Luigi Neri 38 3.050

210 104 210 Marco Celli

49 3.000

252 Nico Bini 44 3.500

375 252 375 Mario Rossi

50 3.250

Page 16: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

16

Esempi di Interrogazioni: 2

2. Selezionare tuple in R in cui lo stipendio dell’impiegato è superiore a quello del capo:

Stip>StipC(R)

Stip>StipC((Impiegati Matr=ImpiegatoSupervisione)

Capo=MatrC

MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati))

Page 17: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

17

Esempi di Interrogazioni: 2

3. Proiettare Stip>StipC(R) su attributi richiesti:Matr,Nome,Stip,MatrC,NomeC,StipC(Stip>StipC(R))

Matr

Nome Stip MatrC

NomeC StipC

104 Luigi Neri 3.050

210 Marco Celli

3.000

252 Nico Bini 3.500

375 Mario Rossi

3.250

Page 18: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

18

Esempi di Interrogazioni: 2

3. Proiettare Stip>StipC(R) su attributi richiesti:Matr,Nome,Stip,MatrC,NomeC,StipC(Stip>StipC(R))

Matr,Nome,Stip,MatrC,NomeC,StipC(Stip>StipC((Impiegati

Matr=ImpiegatoSupervisione) Capo=MatrC

MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)))

Page 19: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

19

Esempi di Interrogazioni: 2

Matr,Nome,Stip,MatrC,NomeC,StipC(Stip>StipC((Impiegati

Matr=ImpiegatoSupervisione) Capo=MatrC

MatrC,NomeC,EtàC,StipCMatr,Nome,Età,Stip(Impiegati)))

Trovare gli impiegati che guadagnano più del loro capo, mostrando matricola, nome e stipendio di ciascuno di essi e del capo

Page 20: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

20

Esempi di Interrogazioni: 3

Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di 2.000

1. Tutti gli impiegati? Selezionare capi che hanno impiegati con stipendio < 2.000

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))

Page 21: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

21

Esempi di Interrogazioni: 3

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))

Matr

Nome Età

Stip

103 Mario Bianchi

23 1.750

105 Nico Bini 44 1.700

Matr

Nome Età

Stip Capo

Impiegato

103 Mario Bianchi

23 1.750

210 103

105 Nico Bini 44 1.700

231 105

Capo

210

231

Stip<2.000(Impiegati)

Supervisione Matr=Impiegato(Stip<2.000(Impiegati))

Capo(Supervisione Matr=Impiegato

(Stip<2.000(Impiegati)))

Page 22: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

22

Esempi di Interrogazioni: 3

2. Sottrarre tali capi all’insieme di tutti i capi

Capo(Supervisione) –

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))

Page 23: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

23

Esempi di Interrogazioni: 3

Capo(Supervisione) –

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))

Capo

210

231

301

375

Capo(Supervisione) Capo(Supervisione) –

Capo(Supervisione

Matr=Impiegato

(Stip<2.000(Impiegati)))

Capo

301

375

Page 24: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

24

Esempi di Interrogazioni: 3

Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di 2.000

Matr,Nome(Impiegati Matr=Capo

(Capo(Supervisione) –

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))))

Page 25: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

25

Esempi di Interrogazioni: 3

Impiegati Matr=Capo

(Capo(Supervisione) –

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati))))

Matr

Nome Età

Stip Capo

301 Sergio Rossi

34 3.500

301

375 Mario Rossi 50 3.250

375

Page 26: Informatica Introduzione alle basi di dati Lezione 8 (bis) Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

26

Esempi di Interrogazioni: 3

Matr,Nome(Impiegati Matr=Capo

(Capo(Supervisione) –

Capo(Supervisione Matr=Impiegato(Stip<2.000(Impiegati)))))

Matr

Nome

301 Sergio Rossi

375 Mario Rossi


Recommended