• Non ci sono risultati.

Corso integrato di Sistemi di Elaborazione Modulo I

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso integrato di Sistemi di Elaborazione Modulo I"

Copied!
72
0
0

Testo completo

(1)

Modulo I

Prof. Crescenzio Gallo

[email protected]

Corso integrato di Sistemi di Elaborazione

(2)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Algebra relazionale

2

(3)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

3

Algebra relazionale

Introduzione

Selezione e proiezione

Prodotto cartesiano e join

Natural join, theta-join e semi-join

Outer join

Unione e intersezione

Differenza e anti-join

Divisione e altri operatori

(4)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Introduzione

4

(5)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

5

Algebra relazionale

Estende l’algebra degli insiemi per il modello relazionale

Definisce un insieme di operatori che operano su relazioni e producono come risultato una relazione

Gode della proprietà di chiusura

- il risultato di qualunque operazione algebrica su relazioni è a sua volta una relazione

(6)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

6

Operatori dell’algebra relazionale

Operatori unari

- selezione (σ)

- proiezione (π)

Operatori binari

- prodotto cartesiano (×)

- join (⋈)

- unione (⋃)

- intersezione (⋂)

- differenza (− oppure ∖)

- divisione (∕)

Operatori insiemistici

- unione (⋃)

- intersezione (⋂)

- differenza (− oppure ∖)

- prodotto cartesiano (×)

Operatori relazionali

- selezione (σ)

- proiezione (π)

- join (⋈)

- divisione (∕)

(7)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Selezione e Proiezione

7

(8)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

8

Selezione

La selezione estrae un sottoinsieme “orizzontale” della relazione (estrae righe della tabella).

(9)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

9

Selezione: definizione

R = σp (A)

La selezione genera una relazione R

- avente lo stesso schema di A

- contenente tutte le n-uple della relazione A per cui è vero il predicato p

Il predicato p è un’espressione booleana di confronti tra attributi e/o costanti

- p: (Città=‘Torino’) ∧ (Età>18)

- p: DataRestituzione > DataConsegna+10

(10)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

10

Selezione: esempio

(11)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

11

Proiezione

La proiezione estrae un sottoinsieme “verticale” della relazione (estrae colonne della tabella).

(12)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

12

Proiezione: definizione

R = πd (A)

La proiezione genera una relazione R

- avente come schema la lista di attributi “d” (sottoinsieme dello schema di A)

- contenente tutte le n-uple della relazione A

Sono eliminati gli eventuali duplicati dovuti all’esclusione degli attributi non presenti in d

- se d include una chiave candidata, non vi sono duplicati

(13)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

13

Proiezione: esempio 1

(14)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

14

Proiezione: esempio 2

Trovare il nome dei dipartimenti in cui è presente almeno un docente: R = πDipartimento (Docenti)

(15)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

15

Selezione+proiezione: esempio

Innanzitutto occorre selezionare i

corsi del secondo semestre…

Trovare il nome dei corsi del secondo semestre

(16)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

16

Selezione+proiezione: esempio

…quindi proiettare l’attributo NomeCorso,

ottenendo la relazione

finale desiderata.

(17)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

17

Selezione+proiezione: esempio

(18)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

18

Selezione+proiezione: esempio (corretto?)

(19)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

19

Selezione+proiezione: soluzione errata

(20)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

20

Selezione+proiezione: soluzione errata

L’attributo Semestre non esiste più, quindi non è possibile eseguire l’operazione di selezione

Perciò l’ordine delle operazioni è importante

(21)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Prodotto cartesiano e Join

21

(22)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

22

Prodotto cartesiano: definizione

R = A × B

Il prodotto cartesiano di due relazioni A e B genera una relazione R

- avente come schema l’unione degli schemi di A e di B

- contenente tutte le coppie formate da una n-upla di A e una n-upla di B

Il prodotto cartesiano è

- commutativo: A×B = B×A

- associativo: (A×B)×C = A×(B×C)

(23)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

23

Prodotto cartesiano: esempio

Trovare il prodotto cartesiano tra Corsi e Docenti

(24)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

24

Prodotto cartesiano: esempio

(25)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

25

Join

Il join di due relazioni A e B genera tutte le coppie formate da una n-upla di A e una n-upla di B

“semanticamente legate”

(26)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

26

Join: definizione

Il join è un operatore derivato

- può essere espresso utilizzando gli operatori ×, σp, πd

Il join è definito separatamente perché esprime sinteticamente molte operazioni ricorrenti nelle interrogazioni

Esistono diversi tipi di join

- natural join

- theta-join (e il suo sottocaso equi-join)

- semi-join

(27)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

27

Join: esempio

Trovare le informazioni sui corsi e sui docenti che li tengono

(28)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

28

Join: esempio

(29)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

29

Join: esempio

Nota bene: il docente (D105, Neri, Informatica), che non tiene alcun corso, non compare nel risultato del join.

(30)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Natural join, theta- join e semi-join

30

(31)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

31

Natural join: definizione

R = A ⋈ B

Il natural join di due relazioni A e B genera una relazione R, avente come schema

- gli attributi presenti nello schema di A e non presenti nello schema di B

- gli attributi presenti nello schema di B e non presenti nello schema di A

- una sola copia degli attributi comuni (con lo stesso nome nello schema di A e di B)

contenente tutte le coppie costituite da una n-upla di A e una n-upla di B per cui il valore degli attributi comuni è uguale

Il natural join è commutativo e associativo

(32)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

32

Natural join: esempio

Nota bene: l’attributo comune MatrDocente è presente una volta sola nello schema della relazione risultante R

(33)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

33

Theta-join: definizione

R = A ⋈p B

Il theta-join di due relazioni A e B genera una relazione R

- avente come schema l’unione degli schemi di A e B

- contenente tutte le coppie costituite da una n-upla di A e una n-upla di B per cui è vero il predicato p

Il predicato p è nella forma X θ Y, dove

- X è un attributo di A, Y è un attributo di B

- θ è un operatore di confronto compatibile con i domini di X e Y

Il theta-join è commutativo e associativo

(34)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

34

Theta-join: esempio

(35)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

35

Theta-join: esempio

(36)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

36

Theta-join: esempio

(37)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

37

Equi-join: definizione

R = A ⋈p B

L’equi-join è un caso particolare del theta-join in cui θ è l’operatore di uguaglianza (=).

(38)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

38

Semi-join: definizione e proprietà

R = A ⋉p B

Il semi-join di due relazioni A e B genera una relazione R

- avente lo stesso schema di A

- contenente tutte le n-uple di A per cui è vero il predicato p

Il predicato p è espresso nella stessa forma del theta- join (confronto fra attributi di A e B)

Il semi-join può essere espresso in funzione del theta- join: A ⋉p B = πschema(A) (A ⋈p B)

Il semi-join non gode della proprietà commutativa

(39)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

39

Semi-join: esempio

Si osservi che il semi- join effettua la

proiezione dei soli attributi del docente

(40)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

40

Semi-join: esempio

(41)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

41

Semi-join: esempio

(42)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

42

Semi-join: esempio

(43)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Outer-join

43

(44)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

44

Outer-join

Variante del join che permette di conservare l’informazione relativa alle tuple non

semanticamente legate dal predicato di join

- completa con valori nulli le n-uple prive di controparte

Esistono tre tipi di outer-join

- left: sono completate solo le n-uple del primo operando

- right: sono completate solo le n-uple del secondo operando

- full: sono completate le n-uple di entrambi gli operandi

(45)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

45

Left outer-join: definizione

R = A ⟕p B

Il left outer-join di due relazioni A e B genera una relazione R

avente come schema l’unione degli schemi di A e di B

contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p

- una n-upla di A che non è correlata mediante il predicato p a n- uple di B completata con valori nulli per tutti gli attributi di B

Il left outer-join non è commutativo

(46)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

46

Left outer-join: esempio

Trovare le informazioni sui docenti e sui corsi che tengono

(47)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

47

Right outer-join: definizione

R = A ⟖p B

Il right outer-join di due relazioni A e B genera una relazione R

avente come schema l’unione degli schemi di A e di B

contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p

- una n-upla di B che non è correlata mediante il predicato p a n- uple di A completata con valori nulli per tutti gli attributi di A

Il right outer-join non è commutativo

(48)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

48

Full outer-join: definizione

R = A ⟗p B

Il full outer-join di due relazioni A e B genera una relazione R

avente come schema l’unione degli schemi di A e di B

contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p

- una n-upla di A che non è correlata mediante il predicato p a n-uple di B completata con valori nulli per tutti gli attributi di B

- una n-upla di B che non è correlata mediante il predicato p a n-uple di A completata con valori nulli per tutti gli attributi di A

Il full outer-join è commutativo

(49)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Unione e intersezione

49

(50)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

50

Unione

L’unione di due relazioni A e B seleziona tutte le n-uple presenti in almeno una delle due relazioni

(51)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

51

Unione: definizione e proprietà

R = A ∪ B

L’unione di due relazioni A e B genera una relazione R

- avente lo stesso schema di A

- contenente tutte le n-uple provenienti da A e da B

Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

Le n-uple duplicate sono eliminate

L’unione è commutativa e associativa

(52)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

52

Unione: esempio

Trovare le informazioni relative ai docenti dei corsi di laurea o di master

N.B. Non vi sono righe duplicate

(53)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

53

Intersezione

L’intersezione di due relazioni A e B seleziona tutte le n-uple presenti in entrambe le relazioni

(54)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

54

Intersezione: definizione e proprietà

R = A ∩ B

L’intersezione di due relazioni A e B genera una relazione R

- avente lo stesso schema di A

- contenente le sole n-uple appartenenti sia ad A che a B

Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

L’intersezione è commutativa e associativa

(55)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

55

Intersezione: esempio

Trovare le informazioni dei docenti che insegnano sia nei corsi di laurea che nei master

(56)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Differenza e anti-join

56

(57)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

57

Differenza

La differenza di due relazioni A e B seleziona tutte le n-uple presenti in A ma non in B

(58)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

58

Differenza

A−B ≠ B−A

(59)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

59

Differenza: definizione e proprietà

R = A − B

L’intersezione di due relazioni A e B genera una relazione R

- avente lo stesso schema di A

- contenente le n-uple di A che non appartengono a B

Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

La differenza non è né commutativa né associativa

(60)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

60

Differenza: esempio 1

Trovare le informazioni dei docenti che insegnano nei corsi di laurea ma non nei master

(61)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

61

Differenza: esempio 2

Trovare le informazioni dei docenti che insegnano nei master ma non nei corsi di laurea

(62)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

62

Differenza: esempio 3

Trovare matricola, nome e dipartimento dei docenti che non tengono corsi

(63)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

63

Differenza: esempio 3

(64)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

64

Differenza: esempio 3

← dalla relazione Docenti

← dalla relazione Corsi

(65)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

65

Differenza: esempio 3

(66)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

66

Anti-join: definizione e proprietà

R = A ⋉p B

L’anti-join di due relazioni A e B genera una relazione R

- avente lo stesso schema di A

- contenente tutte le n-uple di A per cui non esiste nessuna n-upla in B per cui è vero il predicato p

Il predicato p è espresso nella stessa forma del theta- join e del semi-join

L’anti-join non gode né della proprietà commutativa, né della proprietà associativa

(67)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

67

Anti-join: esempio

Trovare matricola, nome e dipartimento dei docenti che non tengono corsi

(68)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

Divisione e altri operatori

68

(69)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

69

Divisione: definizione e proprietà

R = A / B

La divisione della relazione A per la relazione B genera una relazione R

- avente come schema schema(A) − schema(B)

- contenente tutte le n-uple di A tali che per ogni n-upla (Y:y) presente in B esiste una n-upla (X:x,Y:y) in A

La divisione non gode né della proprietà commutativa, né della proprietà associativa

(70)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

70

Divisione: esempio

Trovare le matricole degli studenti che hanno superato tutti i corsi del 1° anno

(71)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

71

Divisione: esempio

Tutti i corsi del primo anno (C2 e C4) sono stati superati dagli studenti con

matricola S1 ed S4.

(72)

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare

72

Altri operatori

Sono stati proposti numerosi altri operatori per estendere il potere espressivo dell’algebra

relazionale

- estensione con un nuovo attributo (calcolato), definito da un’espressione scalare: Peso_Lordo = Peso_Netto+Tara

Calcolo di funzioni aggregate

- max, min, avg, count, sum

- eventualmente con la definizione di sottoinsiemi in cui raggruppare i dati (GROUP BY di SQL)

Riferimenti

Documenti correlati

‣ Il collegamento tra calcolatore ed unità esterne avviene tramite connessioni standard (porte periferiche), alle cui specifiche i costruttori devono attenersi....

Le informazioni memorizzate sul disco sono codificate sotto forma di stati di memorizzazione di zone del materiale magnetico disposto sulla superficie del disco. Le operazioni

Università di Foggia - CdL in Ingegneria dei Sistemi Logistici per l’Agroalimentare.. La rappresentazione

- sintesi (progettazione) dei circuiti digitali (data una certa funzione logica, svilupparne una implementazione efficiente)....

• Con la predizione inter-fotogramma, ciascun fotogramma di una sequenza di immagini viene classificato come un determinato tipo di fotogramma, ad esempio I, P o B. • Un

Una volta dotato di sistema operativo, un computer può eseguire svariate applicazioni (software applicativo): ad es.. videoscrittura, foglio elettronico, presentazioni

Un file system ad allocazione sparsa assegna lo spazio ai file in parti fisicamente contigue (dette estensioni) man mano che occorre: in tal modo non c’è più l’inconveniente

๏ Nasce nel 2001 come OS X per combinare le note caratteristiche dell'interfaccia utente del Mac OS classico con l'architettura di un sistema operativo di derivazione Unix BSD