ALGEBRA RELAZIONALE. Linguaggi di interrogazione relazionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ALGEBRA RELAZIONALE. Linguaggi di interrogazione relazionale"

Transcript

1 ALGEBRA RELAZIONALE Linguaggi di interrogazione relazionale! Linguaggi di interrogazione (LI) permettono la manipolazione e il reperimento di dati da una base di dati! Il modello relazionale supporta LI semplici e potenti! Forte base formale basata sulla logica! Ottimizzazione! Linguaggi di interrogazione! linguaggi di programmazione!! I LI non sono necessariamente Turing completi! I LI non sono fatti per essere usati in calcoli complessi! I LI supportano un accesso semplice ed efficiente a grandi insiemi di dati Giorgio Giacinto 2010 Basi di Dati 2

2 Linguaggi formali di interrogazione relazionale! Due linguaggi di interrogazione matematici formano la base per i linguaggi reali (es. SQL) e per l implementazione! Algebra relazionale: operazionale, utilissima per rappresentare i piani di esecuzione! Calcolo relazionale: permette agli utenti di descrivere ciò che vogliono, piuttosto che il modo in cui calcolarlo (non operazionale, ma dichiarativo)! Capire l algebra e il calcolo è la chiave per la comprensione dell SQL e dell elaborazione delle interrogazioni! Giorgio Giacinto 2010 Basi di Dati 3 Nozioni Preliminari! Una interrogazione si applica alle istanze di relazione, e il risultato di una interrogazione è anch esso una istanza di relazione! Gli schemi delle relazioni in ingresso sono fissi! Anche lo schema per il risultato di una data interrogazione è fisso e determinato dalla definizione dei costrutti del linguaggio di interrogazione.! Notazione posizionale rispetto a notazione nominale dei campi! La notazione posizionale è più semplice per definizioni formali, la notazione nominale è più leggibile! In SQL sono usate entrambe Giorgio Giacinto 2010 Basi di Dati 4

3 Schema base di dati di esempio Velisti(vid:integer,vnome:string, esperienza:integer,età:real) Barche(bid:integer,bnome:string, colore:string) Prenotazioni(vid:integer,bid:integer, giorno:data) Giorgio Giacinto 2010 Basi di Dati 5 Istanze di esempio Useremo la notazione posizionale o a campi nominati. Useremo la convenzione che i nomi dei campi nei risultati delle interrogazioni siano ereditati dai nomi dei campi delle relazioni in ingresso. P1 V1 V2 vid bid giorno /10/ /12/96 età 22 dustin lubber rusty età 28 yuppy lubber guppy rusty Giorgio Giacinto 2010 Basi di Dati 6

4 Algebra relazionale!operazioni di base! Proiezione (!) Cancella colonne non desiderate dalla relazione! Selezione (") Seleziona un sottoinsieme di righe della relazione! Prodotto cartesiano (!) Consente di combinare due relazioni! Differenza insiemistica (") Tuple presenti nella relazione 1, ma non nella relazione 2! Unione (#) Tuple presenti nella relazione 1 e nella relazione 2 Giorgio Giacinto 2010 Basi di Dati 7 Altre Operazioni di Algebra Relazionale! Altre operazioni! intersezione, join, divisione, ridenominazione non essenziali ma (molto!) utili! Poiché ogni operazione restituisce una relazione, le operazioni possono essere composte (l algebra è chiusa ) Giorgio Giacinto 2010 Basi di Dati 8

5 Proiezione! Cancella gli attributi che non sono nella lista di proiezione! Lo schema del risultato contiene esattamente i campi nella lista di proiezione, con gli stessi nomi che avevano nella (unica) relazione in ingresso! L operatore di proiezione deve eliminare i duplicati (perché??)! Nota: i sistemi reali tipicamente non eliminano i duplicati a meno che l utente non lo richieda esplicitamente (perché no?)! vnome,esperienza (V2) vnome espe - rienza yuppy 9 lubber 8 guppy 5 rusty 10! età (V2) età Giorgio Giacinto 2010 Basi di Dati 9 Selezione! Seleziona le righe che soddisfano una condizione (<, >, =, ", #,!,, $, %)! Niente duplicati nel risultato! (Perché?)! Lo schema del risultato è identico allo schema della (unica) relazione in ingresso! La relazione risultato può essere l ingresso per un altra operazione di algebra relazionale! (Composizione di operatori)! esperienza>8 (V2) età 28 yuppy rusty " vnome,esperienza (! esperienza>8 (V2)) vnome esperienza yuppy 9 rusty 10 Giorgio Giacinto 2010 Basi di Dati 10

6 Unione, intersezione, differenza insiemistica! Tutte queste operazioni prendono in ingresso due relazioni che devono essere compatibili rispetto all unione! stesso numero di campi! campi corrispondenti sono dello stesso dominio! Qual è lo schema del risultato? V1#V2 22 dustin lubber rusty guppy yuppy V1 V2 età 22 dustin V1&V2 età 31 lubber rusty Giorgio Giacinto 2010 Basi di Dati 11 Prodotto cartesiano V1 ' P1! Ciascuna riga di V1 è accoppiata con ciascuna riga di P1! Lo schema del risultato ha un campo per ogni campo di V1 e P1, i cui nomi sono, se possibile, ereditati! Conflitto: sia V1 che P1 hanno un campo chiamato vid (vid) vnome esperienza età (vid) bid giorno 22 dustin /10/96 22 dustin /12/96 31 lubber /10/96 31 lubber /12/96 58 rusty /10/96 58 rusty /12/96! Operatore per ridenominare i campi ((C(1 vid1, 5 vid2), V1! P1) Giorgio Giacinto 2010 Basi di Dati 12

7 Join Join condizionale: P!" c V = " c (P $ V)! Lo schema del risultato è lo stesso del prodotto scalare! Meno tuple del prodotto scalare! potrebbe essere calcolato più efficientemente! A volte chiamato theta-join V1!" V1.vid <P1.vid P1 (vid) vnome esperienza (vid) bid giorno 22 dustin /12/96 31 lubber /12/96 Giorgio Giacinto 2010 Basi di Dati 13 Join! Equi-join: un caso speciale di join condizionale dove la condizione c contiene solo uguaglianze! Lo schema del risultato è simile al prodotto scalare, ma c è solo una copia dei campi per i quali è specificata l uguaglianza V1!" V1.vid =P1.vid P1 età bid giorno 22 dustin /10/96 58 rusty /12/96! Join naturale: equi-join su tutti i campi in comune Giorgio Giacinto 2010 Basi di Dati 14

8 Divisione! Non supportata come operatore primitivo, ma utile per esprimere interrogazioni come Trovare i velisti che hanno prenotato tutte le barche! Sia A una relazione con due campi, x e y sia B una relazione con il solo campo y! A/B = {)x* +)y*, B, -)x, y*, A} cioè, A/B contiene tutte le tuple x (velisti) tali che per ogni tupla y (barca) in B, ci sia una tupla xy in A oppure Se l insieme di valori y (barche) associato con un valore x (velista) in A contiene tutti i valori y in B, il valore x è in A/B! In generale, x e y possono essere un qualunque elenco di campi! y è l elenco di campi in B! x # y è l elenco dei campi in A Giorgio Giacinto 2010 Basi di Dati 15 Esempi di divisione A/B sno s2 s2 s3 s4 s4 A pno p1 p3 p4 p1 p4 pno B1 A/B1 sno s2 s3 s4 pno p4 B2 A/B2 sno s4 pno p1 p4 B3 A/B3 sno Giorgio Giacinto 2010 Basi di Dati 16

9 Esprimere A/B usando operatori di base! La divisione non è una operazione essenziale ma solo un utile scorciatoia! Vero anche per i join, ma i join sono così comuni che i sistemi li implementano esplicitamente! Idea: per A/B, calcolare tutti i valori x che non sono interdetti da qualche valore y in B! Un valore x è interdetto se associandogli valori y da B otteniamo una tupla xy che non è in A Valori x interdetti:! x ((! x (A)!B)"A) A/B! x ( A) " Tutte le tuple interdette Giorgio Giacinto 2010 Basi di Dati 17 Istanze per alcuni esempi Giorgio Giacinto 2010 Basi di Dati 18

10 Trovare i nomi dei velisti che hanno prenotato la barca #103! Soluzione 1: " vnome ((! bid=103 Prenota) Velisti)! Soluzione 2:! ( Temp1, " Re Prenota serves) bid =103! ( Tem, Temp1!" Sailors Velisti) ) " vnome (Tem)! Soluzione 3: " vnome ((! bid=103 (Prenota Velisti) Giorgio Giacinto 2010 Basi di Dati 19 Trovare i nomi dei velisti che hanno prenotato una barca rossa Informazioni sul colore sono disponibili solo in Barche, quindi abbiamo bisogno di un ulteriore join " vnome ((! colore= rosso Barche) Prenota Velisti Una soluzione più efficiente " vnome (" vid ((" bid! colore= rosso Barche) Prenota) Velisti)! Un ottimizzatore di interrogazioni può trovare la seconda soluzione data la prima! Giorgio Giacinto 2010 Basi di Dati 20

11 Trovare i nomi dei velisti che hanno prenotato una barca rossa o una verde! Possiamo identificare tutte le barche rosse o verdi, poi trovare i velisti che hanno prenotato una di esse #(Tempbarche, (! colore= rosso % colore= verde Barche)) " vnome (Tempbarche Prenota Velisti)! Possiamo anche definire TempBarche usando l unione (come?)! Che succede se % è sostituito da $ in questa interrogazione? Giorgio Giacinto 2010 Basi di Dati 21 Trovare i nomi dei velisti che hanno prenotato una barca rossa e una verde! L approccio precedente non funziona! Dobbiamo identificare i velisti che hanno prenotato barche rosse, i velisti che hanno prenotato barche verdi, poi trovare l intersezione (notate che vid è una chiave per Velisti) #(Temprosse,! vid ((! colore= rosso Barche) #(Tempverdi,! vid ((! colore= verde Barche) Prenota) Prenota) " vnome (Temprosse & Tempverdi) Velisti) Giorgio Giacinto 2010 Basi di Dati 22

12 Trovare i nomi dei velisti che hanno prenotato almeno due barche! Occorre trovare tutte le tuple di Prenotate riferite allo stesso velista ma con barche prenotate diverse.! Per confrontare tuple di una stessa relazione serve un join fra due copie della stessa relazione!(prenotate," vid,vnome,bid (Velisti!" Prenotazioni)!(CoppiePrenotate(1! vid1,2! vnome, 3! bid1, 4! vid2, 5! vnome2, 6! bid2),prenotate"prenotate) " vnome1 # (vid1=vid 2)#(bid1$bid 2) CoppiePrenotate Giorgio Giacinto 2010 Basi di Dati 23 Trovare i nomi dei velisti che hanno prenotato tutte le barche! Uso della divisione! gli schemi delle relazioni in ingresso alla divisione devono essere scelti con cura # (Tempvids, (" vid,bid Prenota) / (" bid Barche)) " vnome (Tempvids Velisti)! Per trovare i velisti che hanno prenotato tutte le barche Interlago... / " bid (! bnome= Interlago Barche) Giorgio Giacinto 2010 Basi di Dati 24

13 Altre interrogazioni 1. Trovare i colori delle barche prenotate da Lubber 2. Trovare i nomi dei velisti che hanno prenotato almeno una barca 3. Trovare i vid dei velisti con età superiore a 20 che non hanno prenotato una barca rossa 4. Trovare il nome del velista più giovane 5. Trovare i dati della prenotazione più vecchia Giorgio Giacinto 2010 Basi di Dati 25 Soluzioni 1. ( ( ( ( )!" P2) ))! colore B1!"! bid! vid " vnome=lubber V ! vnome ( V 3!" (! vid P2) )! vid (" età>20 ( V 3) ) #! vid P2 ( ) ( ) $! vid P2!"! bid (" colore=rosso B1) 4. V 4 =! vid,età ( V 3) V 5 =! vid1,età1 (" età1>età2 (# (1 $ vid1,2 $ età1,3 $ vid2, 4 $ età2)v 4 % V 4) )! vnome ( V 3!"! vid ( V 4 & V 5) ) Giorgio Giacinto 2010 Basi di Dati 26

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici

Dettagli

Lezione 5. Algebra relazionale

Lezione 5. Algebra relazionale Lezione 5 Algebra relazionale Pag.1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale

Dettagli

Lezione 6 SQL Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 6 SQL Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 6 SQL Pag.1 Istanze di esempio vid vnome esperienza età 22 Dustin 7 45.0 29 Brutus 1 33.0 31 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85

Dettagli

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

Dettagli

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare

Dettagli

Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM

Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM Capitolo 4 SQL: il linguaggio di interrogazione SQL Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM Significato originario Structured Query Language Standard de facto Attuale standard ANSI/ISO

Dettagli

3 Algebra Relazionale

3 Algebra Relazionale Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 Tiziana Catarci Ultimo aggiornamento : 22/02/2017 I linguaggi di interrogazione e aggiornamento

Dettagli

ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a

ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2016-2017 ALGEBRA RELAZIONALE Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere informazioni contenute

Dettagli

ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a

ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a 1 ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2014-2015 Algebra Relazionale Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere le informazioni contenute

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2013/14

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2013/14 ELABORAZIONE DELLE INTERROGAZIONI Roberto Basili Corso di Basi di Dati a.a. 2013/14 Introduzione alla valutazione delle interrogazioni Piano: albero composto da operatori dell algebra relazionale, con

Dettagli

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici. Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,

Dettagli

ALGEBRA'RELAZIONALE'

ALGEBRA'RELAZIONALE' ALGEBRA'RELAZIONALE'! 2 Definizioni'! Algebra Relazionale! Insieme di operatori di base del modello relazionale! Espressioni in Algebra relazionale! Sequenza di operazioni in algebra relazionale! Calcolo

Dettagli

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti: Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la

Dettagli

Introduzione alla valutazione delle interrogazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Introduzione alla valutazione delle interrogazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Introduzione alla valutazione delle interrogazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Introduzione alla valutazione delle interrogazioni v Piano: albero composto da operatori

Dettagli

ALGEBRA RELAZIONALE. DB -Algebra Relazionale 1

ALGEBRA RELAZIONALE. DB -Algebra Relazionale 1 ALGEBRA RELAZIONALE DB -Algebra Relazionale 1 ESEMPIO DI QUERY NOME MATRICOL INDIRIZZO TELEFONO Mario Rossi 123456 Via Etnea 1 222222 Ugo Bianchi 234567 Via Roma 2 333333 Teo Verdi 345678 Via Enna 3 444444

Dettagli

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2015/16

ELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2015/16 ELABORAZIONE DELLE INTERROGAZIONI Roberto Basili Corso di Basi di Dati a.a. 2015/16 Introduzione alla valutazione delle interrogazioni Piano: albero composto da operatori dell algebra relazionale, con

Dettagli

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

Dettagli

Basi di Dati DBDMG - Politecnico di Torino Esercizi di SQL

Basi di Dati DBDMG - Politecnico di Torino Esercizi di SQL Basi di Dati DBDMG - Politecnico di Torino Esercizio 1. Dato lo schema relazionale costituito dalle tabelle (le chiavi primarie sono sottolineate): esprimere in SQL le seguenti interrogazioni: RIVISTA

Dettagli

Operatori di base. σ F (r) = {t t r. F(t) = true} SELEZIONE σ F (r)

Operatori di base. σ F (r) = {t t r. F(t) = true} SELEZIONE σ F (r) Algebra relazionale Linguaggio dallo stile operazionale, in quanto rappresenta il piano di esecuzione di una query. Definisce un insieme di operazioni su relazioni. Le operazioni hanno come operandi una

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto SQL IL LINGUAGGIO PER INTERROGARE

Dettagli

Equivalenza di Espressioni Algebriche

Equivalenza di Espressioni Algebriche Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Equivalenza

Dettagli

Basi di dati e Relazioni

Basi di dati e Relazioni Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati

Dettagli

Basi di dati. Linguaggi di interrogazione

Basi di dati. Linguaggi di interrogazione Basi di dati Linguaggi di interrogazione Algebra relazionale Definita da Codd (70) Molto utile per imparare a formulare query Insieme minimo di 5 operazioni che danno l'intero potere espressivo del linguaggio

Dettagli

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida Introduzione all algebra relazionale Prof. Giovanni Giuffrida Esempio di interrogazione Studenti Nome Matricola Indirizzo Telefono Mario Rossi 456 Via Roma 1 095 111 Ugo Bianchi 567 Via Etnea 154 095 222

Dettagli

Lezione 3. Il modello relazionale

Lezione 3. Il modello relazionale Lezione 3 Il modello relazionale Pag.1 Perché studiare il Modello Relazionale? E un modello dati vicino alla logica di funzionamento del DBMS È il modello più largamente usato Produttori: IBM, Microsoft,

Dettagli

Algebra Relazionale.

Algebra Relazionale. Algebra Relazionale c.vallati@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di

Dettagli

Linguaggi di interrogazione. linguaggi interrogazione 1

Linguaggi di interrogazione. linguaggi interrogazione 1 Linguaggi di interrogazione linguaggi interrogazione 1 a linguaggi formali Classificazione Algebra relazionale Calcolo relazionale Programmazione logica b linguaggi programmativi SQL: Structured Query

Dettagli

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere

Dettagli

Equivalenze di espressioni. Equivalenze. Equivalenze. Atomizzazione delle selezioni ( F 2 (E)) Idempotenza delle proiezioni

Equivalenze di espressioni. Equivalenze. Equivalenze. Atomizzazione delle selezioni ( F 2 (E)) Idempotenza delle proiezioni di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E1 E2 se E1 R E2 (equivalenza assoluta per ogni schema R L

Dettagli

Aggiornamenti e Interrogazioni

Aggiornamenti e Interrogazioni Aggiornamenti e Interrogazioni Aggiornamento: inserimento o modifica di dati (una funzione che, data un istanza di basi di dati ne produce un altra) Interrogazione: estrazione di informazioni (una funzione

Dettagli

Prodotti costosi, complessi, che richiedono investimenti in hardware, software, personale.

Prodotti costosi, complessi, che richiedono investimenti in hardware, software, personale. Vantaggi dei DBMS Disponibilità dei dati a tutta una comunità Modello unificato e preciso della realtà di interesse Controllo centralizzato dei dati Condivisione Indipendenza dei dati Svantaggi dei DBMS

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...

Dettagli

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Basi di dati Esercizi

Basi di dati Esercizi Università degli Studi di Cagliari Corso di Laurea Magistrale in Ing. per l Ambiente e il Territorio Laboratorio d Informatica A.A. 2018/2019 Docente: Giorgio Fumera Basi di dati Esercizi Gli esercizi

Dettagli

Basi di dati. Gabriella Trucco

Basi di dati. Gabriella Trucco Basi di dati Gabriella Trucco gabriella.trucco@unimi.it Algebra relazionale Definizione: insieme di operazioni (query) che servono per manipolare relazioni (tabelle). Formalizzazione matematica del modo

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Algebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale

Algebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale Interrogazione Basi di Dati Algebra Relazionale Interrogare un DB signifia estrarre le informazioni desiderate dal DB stesso In genere le informazioni desiderate si possono estrarre da una singola tabella

Dettagli

Modulo 8 I data base Unità 5 Le Query

Modulo 8 I data base Unità 5 Le Query Modulo 8 I data base Unità 5 Le Query Prof. Antonio Scanu 1 Le operazioni relazionali: In questa lezione focalizziamo l attenzione sulle operazioni che consentono di interrogare una base di dati relazionale.

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione

Dettagli

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO) Modello Relazionale Modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO

Dettagli

Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13 Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Riepilogo operatori algebra Operatori insiemistici Applicabili SOLO a relazioni con lo stesso schema: BASE

Dettagli

Algebra relazionale: operazioni

Algebra relazionale: operazioni Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide

Dettagli

Attributi e domini. per brevità scriviamo: A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. per brevità scriviamo: A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un insieme infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari Basi di Dati Corso di Laurea in Informatica Corso B A.A. 2015/16 Dr. Claudia d'amato Dipartimento di Informatica, Università degli Studi Bari tel.: 080 5442246 email: claudia.damato@uniba.it http://www.di.uniba.it/~cdamato/

Dettagli

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie: lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza

Dettagli

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione

Dettagli

record a struttura fissa

record a struttura fissa Modello Relazionale E un modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO

Dettagli

Parte III. L algebra relazionale

Parte III. L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

Scopo. Informatica. Sistema informativo. Sistema informatico

Scopo. Informatica. Sistema informativo. Sistema informatico BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in

Dettagli

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Operazioni Relazionali Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Algebra relazionale Il modello logico Relazionale si fonda sull algebra relazionale Permette di

Dettagli

Modulo 2 Data Base 3

Modulo 2 Data Base 3 Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un

Dettagli

ALGEBRA RELAZIONALE. L algebra relazionale

ALGEBRA RELAZIONALE. L algebra relazionale ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare

Dettagli

Il modello relazionale dei dati. modello relazionale 1

Il modello relazionale dei dati. modello relazionale 1 Il modello relazionale dei dati modello relazionale Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello

Dettagli

Parte III L algebra relazionale

Parte III L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2017-2018 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

Dettagli

Basi di dati. Argomenti. Materiale didattico. Laboratorio d'informatica

Basi di dati. Argomenti. Materiale didattico. Laboratorio d'informatica Laboratorio d'informatica Laurea Magistrale in Ingegneria per l'ambiente e il Territorio Università degli Studi di Cagliari A.A. 2016/2017 Docente: Giorgio Fumera Basi di dati Argomenti Generalità sulle

Dettagli

Interrogazioni (Query) Esempi. Esempi. Esempi

Interrogazioni (Query) Esempi. Esempi. Esempi Interrogazioni (Query Un interrogazione è una funzione E(r che applicata ad istanze r di una base di dati produce una relazione su un dato insieme di attributi X. Le interrogazioni su uno schema di base

Dettagli

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati MODULO 2 TITOLO Basi di dati Il modulo introduce le basi di dati. Si definisce la differenza tra sistema informativo ed informatico e successivamente si trattano i limiti della gestione ad archivi, giungendo

Dettagli

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 Language Soluzione Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 19/03/2016

Dettagli

Linguaggi per basi di dati e SQL

Linguaggi per basi di dati e SQL Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

REGISTRO DELLE LEZIONI

REGISTRO DELLE LEZIONI UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: BASI DI DATI

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo Linguaggi per basi di dati Accesso alla base di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l accesso Linguaggi di manipolazione dei dati Utilizzati

Dettagli

Linguaggi per basi di dati ALGEBRA RELAZIONALE. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati ALGEBRA RELAZIONALE. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Linguaggi per basi di dati Capitolo 3: LGER RELZIONLE operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 1

Dettagli

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali Scopo Informatica Gestione dell informazione per le lauree triennali LEZIONE 9 Elaborazione di dati: Basi di dati Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione

Dettagli

La gestione delle interrogazioni

La gestione delle interrogazioni La gestione delle interrogazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Esecuzione e ottimizzazione delle query Un modulo del DBMS Query processor

Dettagli

D B M G. Linguaggio SQL: fondamenti. Operatori insiemistici. Operatore UNION Operatore INTERSECT Operatore EXCEPT

D B M G. Linguaggio SQL: fondamenti. Operatori insiemistici. Operatore UNION Operatore INTERSECT Operatore EXCEPT Linguaggio SQL: fondamenti Operatori insiemistici Operatore UNION Operatore INTERSECT Operatore EXCEPT 2007 Politecnico di Operatori insiemistici Operatore UNION Operatore insiemistico di unione A UNION

Dettagli

Algebra Relazionale.

Algebra Relazionale. Algebra Relazionale foglia@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di progettazione

Dettagli

Informatica di Base 1 Linea 1

Informatica di Base 1 Linea 1 Informatica di Base 1 Linea 1 Jianyi Lin Dipp. di Matematica e Scienze dell Informazione Università degli Studi di Milano, Italia jianyi.lin@unimi.it a.a. 2011/12 1 c 2011 J.Lin, M. Monga. Creative Commons

Dettagli

Basi di Dati. prof. Letizia Tanca. Linguaggi formali di interrogazione per il Modello Relazionale dei Dati

Basi di Dati. prof. Letizia Tanca. Linguaggi formali di interrogazione per il Modello Relazionale dei Dati Basi di Dati prof. Letizia Tanca Linguaggi formali di interrogazione per il Modello Relazionale dei Dati Linguaggi di interrogazione Ricordiamo: Permettono di trovare un dato basandosi sulle sue proprietà.

Dettagli

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti Operatori insiemistici Operatore UNION Operatore INTERSECT Operatore EXCEPT Operatore UNION Operatore insiemistico di unione A UNION B Esegue l unione delle due espressioni relazionali

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli

BASI DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 4 Accesso ai dati di un DB SQL Accesso ai dati di un DB Aggiornamento

Dettagli

Il Modello Relazionale e le operazioni

Il Modello Relazionale e le operazioni Il Modello Relazionale e le operazioni Prof. Giuseppe Di Capua UD 5 Modello Logico Nello sviluppo della teoria dei database sono emersi quattro tipi diversi di modelli per le basi di dati: 1. Modello gerarchico

Dettagli

REGISTRO DELLE LEZIONI

REGISTRO DELLE LEZIONI UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: Basi di Dati

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 D1.2 Selezione e proiezione 1 Prerequisiti Elementi di teoria degli insiemi Composizione di operazioni 2 1 Introduzione Oltre alle operazioni insiemistiche, può capitare

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una

Dettagli

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL. SQL: storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. standard di fatto SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Studenti Nome Matricola Provincia AnnoNascita Isaia 071523 PI 1982 Rossi 067459 LU 1984 Bianchi 079856 LI 1983 Bonini 075649 PI 1984 Esami Materia Candidato* Data Voto BD 071523

Dettagli

SQL per le applicazioni. Basi di dati. Elena Baralis. Pag Politecnico di Torino 1 D B M G2 D B M G4 D B M G5 D B M G6. SQL per le applicazioni

SQL per le applicazioni. Basi di dati. Elena Baralis. Pag Politecnico di Torino 1 D B M G2 D B M G4 D B M G5 D B M G6. SQL per le applicazioni Linguaggio SQL: costrutti avanzati Introduzione Concetto di cursore Aggiornabilità SQL statico e dinamico Embedded SQL Call Level Interface (CLI) Stored Procedure Confronto tra le alternative DB M B G

Dettagli

Operatori derivati dagli insiemi

Operatori derivati dagli insiemi Operatori derivati dagli insiemi Unione L unione fra due relazioni r 1 e r 2 definite sullo stesso schema X si indica con r 1 r 2 ed è una relazione su X contenente le tuple appartenenti a r 1, a r 2 o

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati L Algebra Relazionale Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ L algebra relazionale è un linguaggio (procedurale) di interrogazione per basi di dati relazionali.

Dettagli