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

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