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 X Le espressioni di un linguaggio di interrogazione (per esempio, algebra relazionale), permettono di realizzare interrogazioni a un DB E(r): risultato dell’applicazione dell’espressione E al DB r E(r) è una relazione
3 Esempi di Interrogazioni: 1 MatrNomeEtàStip 101Mario Rossi Mario Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Sergio Rossi Mario Rossi CapoImpiegato ImpiegatiSupervisione
4 Esempi di Interrogazioni: 1 Trovare matricola, nome ed età degli impiegati che guadagnano più di Matr,Nome,Età ( Stip>2.000 (Impiegati))
5 Esempi di Interrogazioni: 1 Trovare matricola, nome ed età degli impiegati che guadagnano più di MatrNomeEtà 101Mario Rossi34 104Luigi Neri38 210Marco Celli49 231Siro Bisi50 252Nico Bini44 301Sergio Rossi34 375Mario Rossi50
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
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
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
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
10 Esempi di Interrogazioni: 2 R1 = Impiegati Matr=Impiegato Supervisione MatrNomeEtàStipCapoImpiegato 101Mario Rossi Mario Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini R1
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,StipC Matr,Nome,Età,Stip (Impiegati) R = R1 Capo=MatrC R2
12 Esempi di Interrogazioni: 2 R2= MatrC,NomeC,EtàC,StipC Matr,Nome,Età,Stip (Impiegati) MatrCNomeCEtàCStipC 101Mario Rossi Mario Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Sergio Rossi Mario Rossi R2
13 Esempi di Interrogazioni: 2 R = R1 Capo=MatrC R2 MatrNomeEtàStipCapoImpiegatoMatrCNomeCEtàCStipC 101Mario Rossi Marco Celli Mario Bianchi Marco Celli Luigi Neri Marco Celli Nico Bini Siro Bisi Marco Celli Sergio Rossi Siro Bisi Sergio Rossi Nico Bini Mario Rossi R
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,StipC Matr,Nome,Età,Stip (Impiegati) R = R1 Capo=MatrC R2 (Impiegati Matr=Impiegato Supervisione) Capo=MatrC MatrC,NomeC,EtàC,StipC Matr,Nome,Età,Stip (Impiegati)
15 Esempi di Interrogazioni: 2 2. Selezionare tuple in R in cui lo stipendio dell’impiegato è superiore a quello del capo: Stip>StipC (R) MatrNomeEtàStipCapoImpiegatoMatrCNomeCEtàCStipC 104Luigi Neri Marco Celli Nico Bini Mario Rossi
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=Impiegato Supervisione) Capo=MatrC MatrC,NomeC,EtàC,StipC Matr,Nome,Età,Stip (Impiegati))
17 Esempi di Interrogazioni: 2 3. Proiettare Stip>StipC (R) su attributi richiesti: Matr,Nome,Stip,MatrC,NomeC,StipC ( Stip>StipC (R)) MatrNomeStipMatrCNomeCStipC 104Luigi Neri Marco Celli Nico Bini Mario Rossi3.250
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=Impiegato Supervisione) Capo=MatrC MatrC,NomeC,EtàC,StipC Matr,Nome,Età,Stip (Impiegati)))
19 Esempi di Interrogazioni: 2 Matr,Nome,Stip,MatrC,NomeC,StipC ( Stip>StipC ((Impiegati Matr=Impiegato Supervisione) Capo=MatrC MatrC,NomeC,EtàC,StipC Matr,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
20 Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati? Selezionare capi che hanno impiegati con stipendio < Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati)))
21 Esempi di Interrogazioni: 3 Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati))) MatrNomeEtàStip 103Mario Bianchi Nico Bini MatrNomeEtàStipCapoImpiegato 103Mario Bianchi Nico Bini Capo Stip<2.000 (Impiegati) Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati)) Capo ( Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati)))
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)))
23 Esempi di Interrogazioni: 3 Capo (Supervisione) – Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati))) Capo Capo (Supervisione) Capo (Supervisione) – Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati))) Capo
24 Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Matr,Nome (Impiegati Matr=Capo ( Capo (Supervisione) – Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati)))))
25 Esempi di Interrogazioni: 3 Impiegati Matr=Capo ( Capo (Supervisione) – Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati)))) MatrNomeEtàStipCapo 301Sergio Rossi Mario Rossi
26 Esempi di Interrogazioni: 3 Matr,Nome (Impiegati Matr=Capo ( Capo (Supervisione) – Capo (Supervisione Matr=Impiegato ( Stip<2.000 (Impiegati))))) MatrNome 301Sergio Rossi 375Mario Rossi