Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Algebra relazionale

Precedente
SUPERIORE
Successiva

Operazioni primitive

Unione

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

bulletL left outer join R: si preservano le tuple di L
bulletL right outer join R: si preservano le tuple di R
bulletL full outer join R: si preservano sia le tuple di L che di R

Algebra relazionale - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva