Operazioni Insiemistiche Operazioni insiemistiche Due relazioni R e S vengono chiamate compatibili (omogenee)se: • hanno lo stesso numero di attributi • ogni attributo nella stessa posizione all’interno delle due relazioni è dello stesso tipo. Ad esempio, le seguenti relazioni Persona e Dipendente sono compatibili: Dirigente(Nome: stringa, Stipendio: reale, DataNascita: data) Dipendente(Nominativo: stringa, Stip: reale, Dnascita: data). In questo caso si possono applicare le usuali operazioni sugli insiemi: intersezione, unione, differenza. Operazioni tra relazioni compatibili Intersezione Genera, a partire da due tabelle omogenee, una nuova tabella che contiene soltanto le righe comuni. Esempio: R=Clienti-2004 CodCli Nome Provincia C006 Bianchi Mi C002 Neri Le CodCli Nome Provincia C005 Rossi Mi C002 Neri Le C005 Rossi Mi S=Clienti-2005 CodCli Nome Provincia C016 Verdi Ca C002 Neri Le C005 Rossi Mi R∩S Operazioni tra relazioni compatibili Unione Genera una nuova tabella che contiene le righe della prima e della seconda tabella con riduzione a una di quelle ripetute. Esempio: R=Clienti-2004 RUS CodCli Nome Provincia C006 Bianchi Mi C002 Neri Le C005 Rossi Mi S=Clienti-2005 CodCli Nome Provincia C016 Verdi Ca C002 Neri Le C005 Rossi Mi CodCli Nome Provincia C006 Bianchi Mi C002 Neri Le C005 Rossi Mi C016 Verdi Ca Operazioni tra relazioni compatibili Differenza Genera una nuova tabella che contiene soltanto le righe della prima tabella che non sono contenute nella seconda. Esempio: R=Clienti-2004 R-S CodCli Nome Provincia C006 Bianchi Mi C002 Neri Le C005 Rossi Mi S=Clienti-2005 CodCli Nome CodCli Nome Provincia C006 Bianchi Mi S-R Provincia C016 Verdi Ca C002 Neri Le C005 Rossi Mi CodCli Nome Provincia C016 Verdi Ca Prodotto Cartesiano Date due relazioni R e S, rispettivamente di grado g1 e g2 e cardinalità c1 e c2, il prodotto cartesiano di R e S è la relazione che ha grado g1 + g2 e cardinalità c1 x c2 ottenuta combinando tutte le righe della relazione R con le righe della relazione S.