• Non ci sono risultati.

algebra relazionale

N/A
N/A
Protected

Academic year: 2021

Condividi "algebra relazionale"

Copied!
17
0
0

Testo completo

(1)

A. Ferrari

algebra relazionale

informatica

(2)

A. Ferrari

algebra relazionale

o l’algebra relazionale consente di interrogare una base dati relazionale allo scopo di estrarre

informazioni

o un’interrogazione (query) è data dalla composizione di operatori relazionali

o il risultato di una query è una nuova relazione o operatori base:

o unione

o differenza o prodotto o proiezione o restrizione

(3)

A. Ferrari

relazioni compatibili

o due relazioni si dicono compatibili se hanno lo stesso numero di attributi e ciascun attributo è nella

stessa posizione ed è dello stesso tipo

Studenti-Maschi Cognome Nome Data_Nasc

...

...

...

...

...

...

...

...

...

Studenti-Promossi Cognome Nome Nato_Il

...

...

...

...

...

...

...

...

...

(4)

A. Ferrari

unione

o l’unione di due relazioni compatibili R e S è il risultato dell’unione insiemistica

o il grado della relazione risultante è uguale al grado di R e S

o la cardinalità è la somma delle cardinalità di R e S, meno il numero di tuple ripetute

(5)

A. Ferrari

unione: un esempio

union (ProdottiOrdinati, ProdottiAMagazzino)

(6)

A. Ferrari

differenza

o la differenza fra due relazioni compatibili è la differenza insiemistica (l’opposto dell’unione) o non gode della proprietà commutativa

o S – R non è equivalente a R – S

o il grado del risultato è il medesimo di R e S

o la cardinalità è uguale a quella di R meno il numero di tuple presenti anche in S

(7)

A. Ferrari

differenza: un esempio

difference(ProdottiMagazzino1,ProdottiMagazzino2)

(8)

A. Ferrari

prodotto (cartesiano)

o il prodotto cartesiano viene solitamente utilizzato come operazione intermedia di elaborazioni più

complesse

o il prodotto di due relazioni qualsiasi R e S si ottiene concatenando ogni tupla di R con ogni tupla di S

o se gR e gS sono i gradi delle due relazioni, il grado del prodotto è la somma di gR e gS

o se cR e cS sono le cardinalità delle due relazioni, la cardinalità del prodotto è il prodotto di cR e cS

(9)

A. Ferrari

prodotto: un esempio

Prodotti x Magazzini

(10)

A. Ferrari

proiezione

• la proiezione consente di estrarre solo determinati attributi di una relazione

• il risultato sarà privo di eventuali tuple duplicate

• la relazione risultante ha grado minore o uguale al grado della

relazione di partenza; la cardinalità è uguale a quella di partenza a meno di tuple duplicate

(11)

A. Ferrari

proiezione: un esempio

(12)

A. Ferrari

restrizione

• la restrizione consente di estrarre da una relazione solo le tuple che rispondono a determinate condizioni

• la relazione ottenuta possiede tutte le colonne della relazione di partenza (ha lo stesso grado)

• la cardinalità della nuova relazione può essere minore o uguale alla tabella di partenza

(13)

A. Ferrari

restrizione: un esempio

restrict Prodotti where Giacenza>0

(14)

A. Ferrari

intersezione

o date due relazioni compatibili l’intersezione ritorna solo le tuple presenti in entrambe

(15)

A. Ferrari

intersezione: un esempio

(16)

A. Ferrari

giunzione naturale

o la giunzione naturale consente di combinare due relazioni dotate di uno o più attributi in comune o genera una nuova relazione contenente tutte le

colonne della prima e seconda relazione e tutte le righe per le quali esiste una combinazione

dell’elemento in comune

(17)

A. Ferrari

giunzione naturale: un esempio

Prodotti.CodiceMagazzino join Magazzini.CodiceMagazzino

Riferimenti

Documenti correlati

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

Algebra Relazionale e SQL.. a) Elencare i medici che appartengono a reparti in cui è ricoverata almeno una donna b) Elencare i primari di ciascun reparto, ciascuno con la

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

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

CLIENTE (CID, Nome, Cognome, DataNascita) HOTEL (HID, Nome, Città, Regione, #Stelle) SOGGIORNO (CID, HID, DataInizio, DataFine) Scrivere le seguenti query in algebra

Gigi e Rossella sono al mare ai/da/dai loro nonni.. Andiamo al/in/a teatro

ALTER TABLE Prestazione ADD CONSTRAINT Categoria-Prestazione FOREIGN KEY (FKCategoria) REFERENCES Categoria (ID). ALTER TABLE Servizio ADD CONSTRAINT Prestazione-Servizio FOREIGN KEY

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