15 . Il modello relazionale Vers . 6.2 – Gennaio 2023
Esempio : Siano date le seguenti due relazioni R ed S compatibili così definite utilizzando la rappresentazione tabellare :
R = Cliente-2004 S = Cliente-2005
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 |
S |
CodCliente |
Nominativo |
Indirizzo |
Provincia |
|
|
Bianchi Gianni |
Via Lima , 7 |
Milano |
|
C004 |
Verdi Giuseppe |
Via Pia , 11 |
Lecce |
Grado ( R ) = 4 Card ( R ) = 3
Grado ( S ) = 4 Card ( S ) = 2
Allora per come è stato definito l ’ operatore relazionale - si ha che :
R - S |
CodCliente |
Nominativo |
Indirizzo |
|
|
C001 |
Neri Mario |
Via Po , 5 |
Napoli |
|
C003 |
Rossi Antonio |
Via Riga , 9 |
Napoli |
Grado ( Cliente-2004 - Cliente-2005 ) = Grado ( Cliente-2004 ) = Grado ( Cliente-2005 ) = 4 Card ( Cliente-2004 - Cliente-2005 ) = Card ( Cliente-2004 ) – numero di ennuple ripetute = ( 3 - 1 ) = 2
3 ) PRODOTTO CARTESIANO di due relazioni ( operatore X )
DEF : Date due relazioni qualsiasi R ed S rispettivamente di grado g1 e g2 e cardinalità c1 e c2 , il prodotto cartesiano di R ed S è la relazione di grado g1 + g2 e cardinalità c1 x c2 , le cui ennuple si ottengono concatenando ogni ennupla di R con ogni ennupla di S .
Quindi se consideriamo una qualsiasi ennupla della prima relazione r = ( a1 , a2 , … , ag1 ) ed una qualsiasi ennupla della seconda relazione s = ( b1 , b2 , … , bg2 ) e definiamo l ’ operazione conc come
N . B . Per evitare ambiguità nei nomi degli attributi di R X S occorre che i nome degli attributi di R e di S siano diversi tra loro ( eventualmente occorre rinominarli opportunamente prima di procedere all ’ operazione ).
Per come è stata definita l ’ operazione di prodotto cartesiano abbiamo che :
Grado ( R X S ) = Grado ( R ) + Grado ( S ) Card ( R X S ) = Card ( R ) * Card ( S )
r conc s = ( a1 , a2 , … , ag1 , b1 , b2 , … , bg2 ) allora il prodotto cartesiano delle relazioni R ed S viene allora definito come
R X S = ⎨ t | t = r conc s , r ∈ R , s ∈ S ⎬
N . B Non è una operazione commutativa in quanto è facile dimostrare che R X S ≠ S X R
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 31