|
Operazioni primitiveUnione Dette R e S due relazioni compatibili, l'unione di R con S è la relazione ottenuta dall'unione insiemistica delle due relazioni: ... Differenza Dette R e S due relazioni compatibili, la differenza fra R e S è la relazione ottenuta dalla differenza insiemistica delle due relazioni: ... Osservazione: Intersezione di due relazioni: R - (R - S) Prodotto Siano A1, ..., An1 e B1, ..., Bn2 gli attributi (tutti diversi) di due relazioni qualsiasi R e S rispettivamente di m1 ed m2 tuple. Si definisce prodotto tra R e S la relazione con attributi A1, ..., An1, B1, ..., Bn2 di grado n1+n2 costituita dalle m1xm2 tuple ottenute "concatenando" ogni tupla di R con ogni tupla di S: ... Proiezione Data una relazione R ed un sottoinsieme A dei suoi attributi, si definisce proiezione di R su A la relazione di grado k che si ottiene da R ignorando gli attributi (colonne) non presenti in A. Restrizione L'operazione di restrizione (o di selezione) consente di estrarre delle tuple (cioè delle righe) da una relazione R in base ad un certo criterio P. Il criterio P può essere espresso come condizione semplice o composta (con i connettivi and e or). Una condizione semplice è della forma A operatore_di_confronto B dove A e B sono nomi di attributi di R, oppure costanti o espressioni operatore_di_confronto è uno degli operatori =, <>, >, >=, <, <= Ridenominazione di un attributo Possiamo pensare ad una sintassi come rename A as B in R che ha l'effetto di restituire una relazione identica ad R con l'attributo A rinominato come B Operazioni derivate (giunzioni)Equigiunzione (equijoin) L'equigiunzione (equijoin) di due relazioni R e S, rispetto ad un attributo A di R ed un attributo B di S, è definito come segue: ... Si fa cioè il prodotto tra Re S e si mantengono solo quelle righe in cui risultano uguali i due attributi A e B. L'equigiunzione è un caso particolare di una operazione più generale in cui un operatore di confronto viene applicato sui due attributi A e B. A sua volta è un caso particolare di giunzione interna (inner join) in cui il criterio di selezione delle tuple di RxS viene stabilito da una qualsiasi condizione. Giunzione naturale (natural join) Siano R ed S due relazioni e facciamo l'ipotesi che vi sia un solo attributo A in comune. La giunzione naturale (natural join) tra R ed S, può essere definita con ... In altri termini: si rinomina l'attributo comune in una delle due relazioni, si fa l'equijoin rispetto ai due attributi e si elimina una delle colonne che risultano uguali. Auto giunzione (self join) ? ... Giunzioni esterne (outer join) e associazioni ISA Da diversi anni si è ravvisata la necessità di introdurre nuove operazioni di giunzione, non derivabili dalle operazioni primitive, chiamate giunzioni esterne (outer join) e che appaiono come delle estensioni della giunzione naturale. Esse tornano comodo quando si vogliono unire tabelle "preservando", nel risultato, tutte le informazioni presenti su una o su entrambe le tabelle di partenze. Si considerano normalmente tre tipi di giunzioni esterne da considerarsi come delle estensioni della giunzione naturale
|
|