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

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 . 6.2 – Gennaio 2023
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
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
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 . 34