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