Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Dati Relazionali
Algebra Relazionale:
basato sulla teoria degli insiemi
procedurale
usato per l’implementazione di linguaggi
reali (SQL)
si presta a ottimizzazioni
Query languages per Basi di
Dati Relazionali
Calcolo Relazionale:
basato sulla logica del 1^ ordine
dichiarativo
usato per definire la sintassi di linguaggi
reali (SQL)
si può tradurre in algebra relazionale
Algebra Relazionale
Insieme di operatori
Basati su concetti algebrici\insiemistici
Operatori che trasformano (una o più) relazioni
in altre relazioni
Manipolano ISTANZE di DB relazionali
Costituiscono un query-language
Algebra Relazionale
Sintassi c (r) = r’
selezione
c condizione di selezione
dove X1X2 X1 X2
Se X1 X2 X1 X2 X1 X2= Y
allora join naturale combina tuple di r1 ed r2 con uguali valori su Y
Join Naturale
Ossrvazioni:
Se X1 X2 = allora
join naturale = prodotto cartesiano
Se X1 X2 = X1 X2 (ossia X1 = X2)
join naturale = Intersezione fra r1 ed r2
Join
Operatore binario
r1 Join r2
Commutativo
r1 join r2 = r2 join r1
Associativo
r1 join (r2 join r3) = (r1 join r2) join r3
Quindi applicabile in sequenza
r1 join r2 join…join rn
joinni=1 ri
Coinvolge nelle query un numero arbitrario di
relazioni
Join Naturale
Fra r1 ed r2 con X1X2 e X1X2=Y
combina r1 ed r2 rispetto alle tuple con uguali valori su y
Join vuoto
non coppie t1 r1,t2 r2 tali che t1[y]=t2[y]
Join completo
tupla t1 r1 t2 r2: t1[y] = t2[y] e viceversa
r1 joinU r2 EQUI-JOIN
con U (A1 = A11) (A2 = A21) … (An = An1)