• Non ci sono risultati.

Algebra Relazionale

N/A
N/A
Protected

Academic year: 2021

Condividi "Algebra Relazionale"

Copied!
9
0
0

Testo completo

(1)

& %

Algebra Relazionale

Angelo Montanari

Dipartimento di Scienze Matematiche, Informatiche e Fisiche

Università di Udine

(2)

& %

Osservazioni Preliminari

(1) L’algebra relazionale è un linguaggio procedurale i cui

operatori ricevono in ingresso una o più relazioni e producono in uscita una relazione (proprietà di chiusura dell’algebra

relazionale). Ciò consente di comporre gli operatori dell’algebra relazionale per formulare interrogazioni complesse.

(2) Le relazioni intermedie e finali calcolate tramite espressioni dell’algebra relazionale non vengono memorizzate (non

cambiano la base di dati). Differenza tra aggiornamenti (update) ed interrogazioni (query).

(3) Le relazioni corrispondono a predicati estensionali; non vengono utilizzate regole logiche per specificare predicati

intensionali (basi di dati tradizionali vs. basi di dati deduttive).

(3)

& %

Limiti dell’algebra relazionale

(i) solo relazioni finite (no complementazione);

(ii) solo informazione positiva (di cui non si può assumere, in generale, la completezza);

(iii) non si possono esprimere chiusure ricorsive/transitive.

(4)

& %

Le Operazioni di base - 1

Le operazioni di base (o primitive) comprendono:

Due operazioni di arità 1:

(1) selezione (notazione σ) (2) proiezione (notazione π) Tre operazioni di arità 2:

(3) unione insiemistica (notazione ∪)

(4) differenza insiemistica (notazione \ o −) (5) prodotto cartesiano (notazione ×)

(5)

& % Se gli attributi sono identificati dal loro nome (e non dalla loro

posizione), un’ulteriore operazione è necessaria:

(6) rinomina (notazione ρ)

La valutazione delle espressioni dell’algebra relazionale: come costruire sequenze di operazioni.

Condizioni esistenziali vs. condizioni universali:

• come esprimere condizioni universali in termini di (negazioni di) condizioni esistenziali: la costruzione dell’universo dei

candidati (eventualmente, tramite prodotto cartesiano) e l’uso della differenza insiemistica (per sottrarre dall’universo dei candidati i casi negativi)

(6)

& %

Le Operazioni di base - 3

Come confrontare tuple di tabelle diverse? Prodotto cartesiano e selezione (operazione di join)

Come confrontare tuple di una stessa tabella? Generazione di una o più copie della tabella e join

un esempio: come determinare il valore massimo o minimo associato ad dato un attributo

(7)

& %

Le Operazioni Derivate

Le operazioni derivate comprendono:

• intersezione

• join (giunzione)

– θ-join (prodotto cartesiano più selezione) – equi-join

– natural join

• semi-join destro e sinistro

• divisione

(8)

& %

Le Operazioni Addizionali - 1

Le operazioni “addizionali” comprendono:

• le funzioni aggregate (con e senza raggruppamento) – le funzioni SUM e AVERAGE

– la funzione COUNT (necessaria solo per contare in modo

‘non limitato’)

– le funzioni MAXIMUM, MINIMUM (non strettamente necessarie)

• join esterno: destro, sinistro e completo

• unione esterna

(9)

& %

Le Operazioni Addizionali - 2

Come esprimere le operazioni esterne in termini delle operazioni di base:

• join esterno sinistro di r e s (i casi dei join esterni destro e completo sono analoghi):

(r ▷◁ s) ∪ (r \ (r ⋉ s)) × {(NULL, NULL, . . . , NULL)},

dove la relazione costante {(NULL, NULL, . . . , NULL)} ha quale schema S \ R.

• unione esterna di r e s

join (naturale) esterno completo di r e s

Riferimenti

Documenti correlati

Il risultato che otterremo sarà una tabella (priva di nome), avente come schema lo stesso schema di STUDENTE e come istanza le tuple di STUDENTE che soddisfano il

Quindi, per il Teorema di Weiestrass, minimo e massimo assoluto esistono... Quindi, per il Teorema di Weiestrass, minimo e massimo

Possiamo fare le varie osservazioni riportate sulle dispense.. Col comando plot(B) si ottiene un grafico

Tuttavia le relazioni sono insiemi di tuple omogenee e quindi ha senso definire ed applicare tali operatori solo a tuple definite sugli stessi

Genitore Figlio Luca Anna Maria Anna Giorgio Luca Silvia Maria Enzo Maria. Genitori Per trovare nonni

Calcolare inoltre la retta di

[r]

l’attributo MatrDocente nella relazione Corsi fa riferimento a Matricola nella relazione Docenti I valori assunti da un attributo nella relazione referenziante devono