BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra...

38
BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Lezione V - InfSisElabInf 1 10/04/2013

Transcript of BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra...

Page 1: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

BASI DATI: algebra relazionale

INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Lezione V - InfSisElabInf 1 10/04/2013

Page 2: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Algebra relazionale Definizione

L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle). In altri termini, l'algebra relazionale è la formalizzazione matematica del modo in cui è possibile estrarre da un database le informazioni di interesse.

1. Operazione di selezione 𝜎(condizione sul valore della tupla)

2. Operazione di proiezione 𝜋(sottoinsieme di attributi della tupla)

3. Operazioni insiemistiche (unione, intersezione, differenza)

4. Operazione di join

10/04/2013 Lezione V - InfSisElabInf 2

Page 3: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di selezione (1)

10/04/2013 Lezione V - InfSisElabInf 3

Selezione 𝝈

L'operatore di selezione 𝜎 è usato per selezionare da una

relazione un sottoinsieme di tuple che soddisfano un

certo criterio

Una operazione di selezione si specifica tramite la

seguente espressione:

𝜎𝑐𝑜𝑛𝑑𝑖𝑧𝑖𝑜𝑛𝑒(𝑟𝑒𝑙𝑎𝑧𝑖𝑜𝑛𝑒)

Una operazione di selezione, quindi, restituisce una

relazione con il medesimo schema, ma con le sole

tuple che soddisfano la condizione

Page 4: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di selezione (2)

10/04/2013 Lezione V - InfSisElabInf 4

Ad esempio, consideriamo di voler selezionare il

questionario dello studente di matricola '120142‘

𝜎𝑚𝑎𝑡𝑟𝑖𝑐𝑜𝑙𝑎=′120141′(𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑎𝑟𝑖_𝑠𝑡𝑢𝑑𝑒𝑛𝑡𝑖)

Page 5: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di selezione (3)

10/04/2013 Lezione V - InfSisElabInf 5

Ad esempio, consideriamo di voler selezionare i

questionari delle ragazze

𝜎𝑠𝑒𝑠𝑠𝑜=′𝑓′(𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑎𝑟𝑖_𝑠𝑡𝑢𝑑𝑒𝑛𝑡𝑖)

Page 6: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di selezione (4)

10/04/2013 Lezione V - InfSisElabInf 6

Ad esempio, consideriamo di voler selezionare i

questionari delle ragazze con meno di 30 anni

𝜎𝑠𝑒𝑠𝑠𝑜=′𝑓′𝐴𝑁𝐷 𝑒𝑡𝑎<30(𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑎𝑟𝑖_𝑠𝑡𝑢𝑑𝑒𝑛𝑡𝑖)

Page 7: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di proiezione (1)

10/04/2013 Lezione V - InfSisElabInf 7

Proiezione 𝜋

L'operazione di proiezione 𝜋 seleziona dalla

relazione solo le colonne specificate

Una operazione di proiezione si specifica tramite la

seguente espressione:

𝜋𝑝𝑟𝑜𝑖𝑒𝑧𝑖𝑜𝑛𝑒(𝑟𝑒𝑙𝑎𝑧𝑖𝑜𝑛𝑒)

Una operazione di proiezione, quindi, restituisce una

relazione con differente schema, ma con le stesse

tuple della relazione originaria

Page 8: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'operatore di proiezione (2)

10/04/2013 Lezione V - InfSisElabInf 8

Ad esempio, consideriamo l'operazione seguente (i.e.

restituisci le colonne «matricola» e «r1»)

𝜋𝑚𝑎𝑡𝑟𝑖𝑐𝑜𝑙𝑎,𝑟1(𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑎𝑟𝑖_𝑠𝑡𝑢𝑑𝑒𝑛𝑡𝑖)

Page 9: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Sequenze di operatori

10/04/2013 Lezione V - InfSisElabInf 9

Ad esempio, consideriamo l'operazione seguente (i.e. restituisci le colonne

‘matricola’ e ‘r1’ dalle tuple in cui il sesso è ‘f ’)

𝜋𝑚𝑎𝑡𝑟𝑖𝑐𝑜𝑙𝑎,𝑟1(𝜎𝑠𝑒𝑠𝑠𝑜=′𝑓′(𝑞𝑢𝑒𝑠𝑡𝑖𝑜𝑛𝑎𝑟𝑖_𝑠𝑡𝑢𝑑𝑒𝑛𝑡𝑖))

Page 10: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Operazione di join (1)

Join

L'operazione di join viene usata per combinare tuple

provenienti da più relazioni in uniche tuple, secondo un

determinato criterio

Una operazione di join si specifica tramite la seguente

espressione:

10/04/2013 Lezione V - InfSisElabInf 10

Page 11: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Operazione join (2)

10/04/2013 Lezione V - InfSisElabInf 11

Ad esempio, consideriamo l'operazione seguente (i.e.

restituisci tutte le informazioni circa i pazienti e le

rispettive sedi elettorali)

Page 12: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Natural join (1)

L'operatore di join e fondamentale perchè permette di reperire informazioni che sono contenute in relazioni tra loro collegate tramite chiavi esterne

In tal caso, è possibile ricorrere al natural join

Il natural join è - essenzialmente - il join su tabelle collegate secondo quanto espresso dal vincolo di integrità referenziale

10/04/2013 Lezione V - InfSisElabInf 12

Page 13: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Natural join (2)

10/04/2013 Lezione V - InfSisElabInf 13

Siccome pazienti.numero sede elettorale è chiave

esterna per sedi elettorali.numero, allora

Page 14: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Come si compone una query

10/04/2013 Lezione V - InfSisElabInf 14

Una query in algebra relazionale si può sempre scrivere

come:

𝜋𝑎𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑖 (𝜎𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑜(𝑟1 ∗ 𝑟2 ∗∗∗∗∗ 𝑟𝑛))

Per comporre una query in algebra relazionale:

1. Identificare le tabelle che contengono i dati oggetto

della query, e metterle nei natural join

2. Identificare la parte della query che rappresenta il

criterio di selezione delle righe

3. Identificare la parte della query che specifica quali

attributi vogliamo ottenere in uscita tramite

proiezione

Page 15: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (1)

10/04/2013 Lezione V - InfSisElabInf 15

1. Una sola tabella è coinvolta nella query: pazienti

2. Il criterio di selezione indica i soli maschi: sesso='m'

3. Voglio tutti gli attributi: nessun 𝜋

Page 16: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (2)

10/04/2013 Lezione V - InfSisElabInf 16

1. Una sola tabella è coinvolta nella query: pazienti

2. Il criterio di selezione indica una età < di 30: eta < 30

3. Voglio il solo sesso come attributo: sesso

Page 17: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (3)

10/04/2013 Lezione V - InfSisElabInf 17

1. Due tabelle sono

coinvolte nella query:

pazienti, sedi elettorali

2. Il criterio di selezione

indica il sesso femminile:

sesso='f'

3. Voglio il solo sesso come

attributo: eta, distanza

Page 18: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (4)

10/04/2013 Lezione V - InfSisElabInf 18

Età e distanza dall'azienda chimica di tutti i pazienti di sesso

feminile

Page 19: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (4)

10/04/2013 Lezione V - InfSisElabInf 19

Page 20: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (4)

10/04/2013 Lezione V - InfSisElabInf 20

Page 21: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (4)

10/04/2013 Lezione V - InfSisElabInf 21

Page 22: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (5)

10/04/2013 Lezione V - InfSisElabInf 22

1. Tre tabelle sono coinvolte

nella query: pazienti,soffre,

patologie (N.B. anche le

tabelle ‘intermedie’ devono

essere considerate)

2. Il criterio di selezione non è

specificato: nessun 𝜋

3. Voglio l'età, il sesso e il DRG

come attributi: eta, sesso,

DRG

Page 23: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (6)

10/04/2013 Lezione V - InfSisElabInf 23

Eta, sesso e DRG di tutti i pazienti

Page 24: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (6)

10/04/2013 Lezione V - InfSisElabInf 24

Page 25: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (6)

10/04/2013 Lezione V - InfSisElabInf 25

Page 26: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Esempi di query in algebra relazionale (6)

10/04/2013 Lezione V - InfSisElabInf 26

Page 27: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

SQL

SQL (Structured Query Language)

Linguaggio standard usato da ogni DBMS per

l’interrogazione dei dati

Può

Creare/distruggere database

Creare/alterare/distruggere tabelle

Inserire/rimuovere dati

Interrogare la base di dati

10/04/2013 Lezione V - InfSisElabInf 27

Page 28: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

SELECT

Il comando SQL per estrarre dati da un DB la

SELECT

La SELECT si compone di (almeno) tre parti

Gli attributi da restituire

Le tabelle da cui estrarre i dati

Il criterio di selezione

... più eventuali indicazioni circa l’ordinamento, etc.

10/04/2013 Lezione V - InfSisElabInf 28

Page 29: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

SELECT

La forma di una SELECT

10/04/2013 Lezione V - InfSisElabInf 29

Page 30: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

L'SQL e l'algebra relazionale

10/04/2013 Lezione V - InfSisElabInf 30

Data una query scritta in algebra relazionale, è

possibile scrivere la corrispondente query in SQL

seguendo il seguente schema:

1. Gli attributi del 𝜋 diventano gli attributi della parte

SELECT

2. Le tabelle messe in * si elencano nella lista delle tabelle

della parte FROM

3. Il criterio di selezione e le condizioni di natural join

diventano il criterio della parte WHERE

Le condizioni di natural join sono l'equivalenza della chiave

primaria con la chiave esterna della tabella collegata dal

join

Page 31: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Pazienti maschi

10/04/2013 Lezione V - InfSisElabInf 31

Page 32: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Il sesso dei pazienti di età inferiore ai 30

anni

10/04/2013 Lezione V - InfSisElabInf 32

Page 33: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Paziente e distanza

Quando esistono delle omonimie, è necessario specificare da quale

relazione “preleviamo” gli attributi

10/04/2013 Lezione V - InfSisElabInf 33

Page 34: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Paziente e DRG

10/04/2013 Lezione V - InfSisElabInf 34

Page 35: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Conteggio di tuple

10/04/2013 Lezione V - InfSisElabInf 35

Page 36: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Valori medi

10/04/2013 Lezione V - InfSisElabInf 36

Page 37: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Raggruppamento

10/04/2013 Lezione V - InfSisElabInf 37

Page 38: BASI DATI: algebra relazionale - sira.diei.unipg.it APPLICATA E SISTEMI... · BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ...

Ultima query

10/04/2013 Lezione V - InfSisElabInf 38