5° Anno TEORIA 3. Un modello logico: il modello relazionale | Page 35

Pertanto scriveremo σP( R) = ⎨ t | t ∈ R AND P( t) ⎬
Per come è stata definita l’ operazione di proiezione abbiamo che: Grado( σP( R)) = Grado( R) Card( σP( R)) non è prevedibile a priori ma sicuramente minore o uguale a Card( R)
Grado( σP( Cliente)) = 4( ossia pari al numero di attributi della relazione Cliente) Card( σP( Cliente)) = 2( comunque sicuramente ≤ Card( Cliente))
15. Il modello relazionale Vers. 7.2 – Dicembre 2025
5) RESTRIZIONE O SELEZIONE di una relazione( operatore σ)
DEF: Data una relazione R ed un predicato P( semplice o composto) sui suoi attributi, si definisce restrizione di R a P( o selezione di R su P) la relazione costituita dalle ennuple di R che soddisfano il predicato P.

Pertanto scriveremo σP( R) = ⎨ t | t ∈ R AND P( t) ⎬

N. B. L’ effetto di tale operazione è quello di selezionare un certo numero di righe della tabella relazione( TAGLIO ORIZZONTALE).
Se il predicato P risultasse vero per tutte le n-ple di R, allora la restrizione di R a P coinciderebbe ovviamente con la stessa R( ossia avrebbe la stessa cardinalità di R).
Se il predicato P risultasse falso per tutte le n-ple di R, allora la restrizione di R a P non selezionerebbe alcuna n-pla( ossia avrebbe cardinalità pari a zero).

Per come è stata definita l’ operazione di proiezione abbiamo che: Grado( σP( R)) = Grado( R) Card( σP( R)) non è prevedibile a priori ma sicuramente minore o uguale a Card( R)

Esempio: Sia data la STESSA relazione Cliente definita in precedenza utilizzando la rappresentazione tabellare:
R = Cliente
R
CodCliente
Nominativo
Indirizzo
Provincia
C001
Neri Mario
Via Po, 5
Napoli
C002
Bianchi Gianni
Via Lima, 7
Milano
C003
Rossi Antonio
Via Riga, 9
Napoli
e supponiamo si vogliano effettuare le seguenti query o interrogazioni:
Q3: Prelevare dalla base dati tutti i clienti di Napoli
In questo caso abbiamo
R = Cliente
e
P = { Provincia = " Napoli "}
e quindi dalla tabella Cliente si " sfileranno " solo le ennuple che verificano il predicato P
R
CodCliente
Nominativo
Indirizzo
Provincia
R = Cliente
C001
C002
Neri Mario
Bianchi Gianni
Via Po, 5
Via Lima, 7
Napoli
Milano
P = { Provincia = " Napoli "}
C003
Rossi Antonio
Via Riga, 9
Napoli
ottenendo la seguente tabella:

σP( R)

CodCliente
Nominativo
Indirizzo
Provincia
C001
Neri Mario
Via Po, 5
Napoli
C003
Rossi Antonio
Via Riga, 9
Napoli

Grado( σP( Cliente)) = 4( ossia pari al numero di attributi della relazione Cliente) Card( σP( Cliente)) = 2( comunque sicuramente ≤ Card( Cliente))

Grado( R) = 4 Card( R) = 3
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 35