Join (naturale) Join. Join. Join

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Join (naturale) Join. Join. Join"

Transcript

1 Combinando selezione e proiezione, si possono estrarre informazioni da una sola relazione. Non si possono però correlare informazioni presenti in relazioni diverse Il join è l'operatore più interessante (potente) dell'algebra relazionale in quanto permette di correlare dati presenti in relazioni diverse (naturale) E l operatore più caratteristico dell algebra relazionale, che evidenzia la proprietà del modello relazionale di essere basato su valori. Non ha un corrispettivo nella teoria degli insiemi. L operatore di join (naturale) correla dati contenuti in relazioni diverse. Il suo risultato è una relazione definita sull unione degli schemi degli operandi, le cui tuple sono ottenute combinando le tuple degli operandi che hanno valori uguali su attributi comuni (con lo stesso nome). Il join naturale r 1 r 2 di r 1 (X 1 ) e r 2 (X 2 ) è una relazione definita su X 1 X 2 (che si può scrivere X 1 X 2 ) r 1 r 2 = { t su X 1 X 2 t[x 1 ] r 1 e t[x 2 ] r 2 } Il grado della relazione ottenuta è minore o uguale alla somma dei gradi delle due relazioni in quanto gli attributi omonimi compaiono una sola volta. Per questo motivo la definizione implica che una tupla del risultato sia ottenuta concatenando ogni tupla della prima relazione con ogni tupla della seconda in cui gli attributi comuni hanno lo stesso valore. Se X 1 X 2 è vuoto il join naturale equivale al prodotto cartesiano fra le relazioni. Non ci sono attributi comuni e ogni tupla della prima relazione può concatenarsi con ogni tupla della seconda Se X 1 = X 2 il join naturale equivale all intersezione fra le relazioni. Infatti, ogni tupla può concatenarsi solo con se stessa e quindi, se è presente nel risultato finale (cioè se è presente in entrambe le relazioni), resta immutata. 1

2 Due casi limite: Se ciascuna tupla di ciascun operando contribuisce ad almeno una tupla del risultato il join si dice completo. Se per alcune tuple non è verificata la corrispondenza e non contribuiscono al risultato, le tuple si dicono dangling. join vuoto, nessuna tupla degli operandi è combinabile ciascuna delle tuple di un operando è combinabile con tutte le tuple dell altro. In questo caso il risultato è pari al prodotto cartesiano degli operandi. Il secondo caso richiede: che esistano attributi comuni che assumono lo stesso valore per ogni tupla di entrambi gli operandi (che, quindi, non contengono informazione significativa) oppure che non vi siano attributi comuni. Mori Neri runi ianchi Mori Neri runi ianchi runi ogni tupla contribuisce al risultato: il join è completo Un non completo Neri ianchi Mori C runi Neri Mori ianchi Mori 2

3 Un vuoto D Mori Neri C runi ianchi : proprietà r 1 r 2 contiene un numero di tuple compreso fra zero (risultato = insieme vuoto) e il prodotto di r 1 e r 2 (risultato = prodotto cartesiano) Se r 1 r 2 è completo allora contiene un numero di tuple pari almeno al massimo fra r 1 e r 2 (nessuna tupla resta esclusa, quindi tutte le tuple della relazione di cardinalità maggiore partecipano sicuramente al join) Se X 1 X 2 contiene una chiave per r 2, allora r 1 (X 1 ) r 2 (X 2 ) contiene al più r 1 tuple (ogni tupla di r 1 si associa al più a una tupla di r 2 ). : proprietà se il join coinvolge una chiave di r 2 e un vincolo di integrità referenziale da r 1 a r 2, allora il numero di tuple è pari a r 1 (ogni tupla di r 1 si associa ad una e una sola tupla di r 2 ) r 1 r 2 = r 2 r 1 il join è commutativo (r 1 r 2 ) r 3 = r 1 (r 2 r 3 ) il join è associativo Quindi sequenze di join possono essere scritte senza parentesi 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 condizione di selezione. Se F è una condizione di uguaglianza fra un attributo della prima relazione e uno della seconda, allora siamo in presenza di un equi-join. E il tipo di join più comune. Sono importanti formalmente: il join naturale è basato sui nomi degli attributi equi-join e theta-join sono basati sui valori 3

4 Neri ianchi Codice Capo Mori runi JOIN Reparto=Codice Codice Capo Mori Neri runi Neri ianchi Mori runi Neri runi ianchi Mori ianchi runi naturale ed equi-join PROJ Impiegato,Reparto,Capo ( SEL Reparto=Codice ( JOIN ) ) Codice Capo JOIN Reparto=Codice (equi-join) equivale a (ridenominazione + join naturale) JOIN (REN Reparto Codice ()) ma anche (theta-join, accetta qualsiasi pred. logico) esterni Il join naturale non include nel risultato le tuple in cui non c è corrispondenza fra gli attributi legati dal join (tuple dangling). Si definiscono altri tipi di join, in cui vengono considerate anche le tuple dangling, utilizzando valori nulli dove non vi sia corrispondenza. sinistro (r 1 JOIN LEFT r 2 ) Contribuiscono tutte le tuple di r 1, eventualmente estese con valori nulli relativamente agli attributi di r 2 se non c è corrispondenza destro (r 1 JOIN RIGHT r 2 ) Contribuiscono tutte le tuple di r 2, eventualmente estese con valori nulli relativamente agli attributi di r 1 se non c è corrispondenza completo o full join (r 1 JOIN FULL r 2 ) Contribuiscono tutte le tuple di r 1 e r 2, eventualmente estese con valori nulli relativamente agli attributi dell altra relazione se non c è corrispondenza 4

5 Neri ianchi Mori C runi Neri ianchi Mori C runi JOIN LEFT Neri Mori ianchi Mori NULL JOIN RIGHT Neri Mori ianchi Mori NULL C runi Neri ianchi JOIN FULL Mori C runi Neri Mori ianchi Mori NULL NULL C runi e proiezioni: problemi Neri ianchi Mori C runi Neri Mori ianchi Mori Neri ianchi Mori 5

6 e proiezioni: problemi Neri Mori ianchi runi Verdi ini Neri Mori ianchi runi Verdi ini Neri Mori ianchi runi Neri runi ianchi Mori Verdi ini e proiezioni: proprietà Date due relazioni R 1(X 1 ) e R 2(X 2 ) X1 (R 1 R 2 ) R 1 X2 (R 1 R 2 ) R 2 Se proietto il risultato del join sullo schema di una delle due relazioni ne ottengo un sottoinsieme. Infatti, se non c è corrispondenza fra alcune tuple di R 1 e di R 2, tali tuple sono dangling e vengono escluse dal join. Se si tenta quindi di ricostruire le due relazioni originali si ha perdita di informazione. e proiezioni: proprietà R(X), X = X 1 X 2 ( X1 (R)) ( X2 (R)) R Se scompongo lo schema di una relazione R in due sottoschemi X 1 e X 2, R è contenuta nella relazione che si ottiene effettuando il join fra le proiezioni di R su di essi. 6

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Proiezione Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è l insieme di tuple su Y ottenute dalle tuple di r considerando solo i valori

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

Proiezione. Proiezione. Join. Operatore monadico Produce un risultato che

Proiezione. Proiezione. Join. Operatore monadico Produce un risultato che Proiezione Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è l insieme di tuple su Y ottenute dalle tuple di r considerando solo i valori

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

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

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

Vincoli di Integrità Referenziale

Vincoli di Integrità Referenziale Vincoli di Integrità Referenziale In alcuni casi (corrispondenze fra relazioni) è necessario che i valori degli attributi di una relazione R 1 si trovino anche in attributi corrispondenti di un altra relazione

Dettagli

Linguaggi per basi di dati

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

Dettagli

Join. il Join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 20/03/2006 1

Join. il Join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 20/03/2006 1 Join il Join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 20/03/2006 1 Prove scritte in un concorso pubblico I compiti sono anonimi e ad ognuno

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

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

Dichiarativi : specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come")

Dichiarativi : specificano le proprietà del risultato (che cosa) Procedurali specificano le modalità di generazione del risultato (come) Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Linguaggi di interrogazione per

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

Corso di Informatica

Corso di Informatica orso di Informatica Modulo T2 D1.3 - ongiunzione 1 Prerequisiti Elementi di teoria degli insiemi omposizione di operazioni 2 1 Introduzione Quando due tabelle sono legate da una chiave esterna è possibile

Dettagli

Basi di dati Algebra relazionale Figure ed esempi

Basi di dati Algebra relazionale Figure ed esempi asi di dati Algebra relazionale Figure ed esempi 1 Laureati Matricola 7274 Nome Rossi Età 42 7432 9824 Verdi 54 45 Unione Laureati È Specialisti Specialisti Matricola 9297 7432 9824 Matricola Nome Età

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

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

Esercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi

Esercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi Esercitazione 1 Rossi A Neri ianchi A runi Rossi A Neri runi ianchi runi ogni tupla contribuisce al risultato: join completo 1 Un join completo con n x m tuple Rossi A Neri A runi Rossi Rossi runi Neri

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

Left Join, Right Join, Full Join

Left Join, Right Join, Full Join Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello

Dettagli

Modulo 2 Data Base 2

Modulo 2 Data Base 2 Modulo 2 Data Base 2 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Algebra Relazionale Linguaggio procedurale,

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

Esercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi

Esercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi Esercitazione 1 Rossi A Neri ianchi A runi Rossi A Neri runi ianchi runi ogni tupla contribuisce al risultato: join completo 1 Un join completo con n x m tuple Rossi A Neri A runi Rossi Rossi runi Neri

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

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

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

Linguaggi per basi di dati. Interrogazione delle basi di dati. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati. Interrogazione delle basi di dati. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Interrogazione delle basi di dati Linguaggi per basi di dati Algebra Relazionale operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione

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

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

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

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione: Operazioni Lezione 8 Operazioni Relazionali Le diverse operazioni vengono eseguite sulle istanze non sulla struttura della tabella Il risultato dell operazione sono un insieme di istanze che soddisfano

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

ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE

ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE Ridenominazione Unione Differenza Selezione Proiezione Prodotto Join θ-join Join naturale Semijoin Join esterno Valori nulli Interrogazioni / espressioni relazionali Esercizi cesarini-bdsi

Dettagli

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 3: Algebra relazionale Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation

Dettagli

Decomposizione senza perdita

Decomposizione senza perdita Decomposizione senza perdita Data una relazione r su X, se X 1 e X 2 sono due sottoinsiemi di X la cui unione è X stesso, allora il join delle due relazioni ottenute per proiezione di r su X 1 e X 2 è

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

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

OPERATORI RELAZIONALI. prima RIPASSIAMO COSA ABBIAMO IMPARATO

OPERATORI RELAZIONALI. prima RIPASSIAMO COSA ABBIAMO IMPARATO OPERATORI RELAZIONALI prima RIPASSIAMO COSA ABBIAMO IMPARATO Proge0azione di DB La metodologia classica è basata su 3 fasi ANALISI REQUISITI Cosa si rappresenta PROGETTAZIONE CONCETTUALE FILE1 FILE2 FILEn

Dettagli

Esercitazione 1 Algebra relazionale

Esercitazione 1 Algebra relazionale Esercitazione 1 Algebra relazionale Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E1-1 Base di dati Fornitori Fornitori (CodFornitore, Nome, Indirizzo, Città) Prodotti (CodProdotto, Nome, Marca, Modello)

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

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

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

Tornando all esempio..

Tornando all esempio.. Tornando all esempio.. gli impiegati hanno un unico stipendio Impiegato Stipendio i progetti hanno un unico bilancio Progetto Bilancio in ciascun progetto, un impiegato svolge una sola funzione Impiegato

Dettagli

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Lezione

Dettagli

Accesso ai dati di un DB. Algebra relazionale. Accesso ai dati di un DB. Algebra relazionale

Accesso ai dati di un DB. Algebra relazionale. Accesso ai dati di un DB. Algebra relazionale Accesso ai dati di un DB Algebra relazionale Aggiornamento del DB: funzione che, data un istanza del DB, produce un altra istanza del DB, sullo stesso schema Modifica, aggiunta, rimozione tuple Interrogazione

Dettagli

Algebra relazionale (versione formale )

Algebra relazionale (versione formale ) Algebra relazionale (versione formale ) algebra relazionale (2) Selezione L operatore di selezione, σ, permette di selezionare un sottoinsieme delle tuple di una relazione, applicando a ciascuna di esse

Dettagli

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA Facoltà di Ingegneria e Architettura Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica Il linguaggio SQL TUTORATO DI http://www.diee.unica.it/~marcialis/fi A.A. 2015/2016 CAPITOLO 5: Basi di

Dettagli

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Basi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2007/08 Canale M-Z http://www.dis.uniroma1.it/!degiacomo/didattica/basidati/

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

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z.

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z. Università di Roma La Sapienza Laurea in Ingegneria Informatica Basi di Dati Anno Accademico 2003/2004 Canale M-Z Diego Calvanese Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di

Dettagli

LA NORMALIZZAZIONE. Prima parte

LA NORMALIZZAZIONE. Prima parte LA NORMALIZZAZIONE Prima parte Argomenti della lezione Forma normale e normalizzazione Ridondanze e anomalie Dipendenze funzionali Forma normale di Boyce e Codd Proprietà delle decomposizioni Forme normali

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Algebra.pdf Sistemi Informativi L-A Linguaggi di manipolazione (DML)

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 4 Semantica dei linguaggi

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

L algebra relazionale in RA

L algebra relazionale in RA L algebra relazionale in RA Gianluca Cima Anno accademico 2018/2019 RA: Un interprete per l Algebra Relazionale Coloro che vogliono scaricare l interprete dell algebra relazionale RA possono accedere al

Dettagli

Basi di dati. Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Università di Roma La Sapienza

Basi di dati. Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Università di Roma La Sapienza Basi di dati Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2018/2019 http://www.dis.uniroma1.it/ lenzerini/?q=node/44

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

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

Basi di dati e Relazioni

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

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

Introduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3

Introduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3 Università degli Studi di Udine Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA Il Modello Relazionale Donatella Gubiani 10 marzo 2011 È un

Dettagli

Modello relazionale e algebra relazionale

Modello relazionale e algebra relazionale Sistemi informativi Algebra relazionale 2007 Politecnico di Torino 1 Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio

Dettagli

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini Elementi di Informatica LB Basi di Dati Anno accademico 2007/2008 Prof. Stefano Contadini Elementi di Informatica LB Il Modello Relazionale Introduzione: 1. 1 Il modello Relazionale Proposto da E. F.Codd

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

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

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova Università degli Studi di Padova Corso di Laurea Magistrale in Bioingegneria A.A. 2010-20112011 INFORMATICA SANITARIA (Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione Università

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

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Algebra.pdf Sistemi Informativi L-A Linguaggi di manipolazione (DML)

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

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica)

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica) BASE DI DATI (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione. (accezione specifica) collezione di dati

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi T Versione elettronica: 03.Algebra.pdf Linguaggi di manipolazione (DML) per DB Un linguaggio di manipolazione, o DML, permette di interrogare e modificare istanze

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 e algebra relazionale Algebra relazionale Sistemi informativi B M B G e algebra relazionale Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Il modello relazionale Modello logico dei dati Basato sul concetto di relazione o tabella Relazione: da teoria degli insiemi 2 Il modello relazionale Garantisce indipendenza fisica

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

Le relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3

Le relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3 Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione Il Modello Relazionale D. Gubiani 19

Dettagli

Algebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 1)

Algebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 1) Algebra e calcolo relazionale (parte 1) Linguaggi di interrogazione per basi di dati relazionali Operazioni su basi di dati: interrogazioni (queries): legge dati dal base di dati aggiornamenti (updates):

Dettagli

Elena baralis 2007 Politecnico di Torino 1

Elena baralis 2007 Politecnico di Torino 1 Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio referenziale e algebra relazionale Algebra relazionale Intuizione c 1 c 2 e algebra relazionale

Dettagli

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi 1 Lezione 10 Semantica dei linguaggi

Dettagli

Modello relazionale e algebra relazionale

Modello relazionale e algebra relazionale Modello relazionale e algebra relazionale DB M B G Modello relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 10 Normalizzazione (cenni) Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Forme normali Una

Dettagli

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale Sistemi informativi DB M B G e algebra relazionale Algebra relazionale 2007 Politecnico di Torino 1 e algebra relazionale DB M B G Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli

Dettagli

Elena baralis 2007 Politecnico di Torino 1

Elena baralis 2007 Politecnico di Torino 1 e algebra relazionale Algebra relazionale 2007 Politecnico di Torino 1 e algebra relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli

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

Elena baralis 2007 Politecnico di Torino 1

Elena baralis 2007 Politecnico di Torino 1 e algebra relazionale Algebra relazionale e algebra relazionale Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio referenziale Intuizione

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 4.3-1 Prerequisiti Creazione e gestione tabelle Uso ambiente SQL in algebra relazionale 2 1 Introduzione In questa Unità vediamo i comandi SQL con i quali è possibile

Dettagli

Una relazione con anomalie

Una relazione con anomalie Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti collaterali negativi. La normalizzazione è una procedura

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

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

Tecniche di normalizzazione

Tecniche di normalizzazione Tecniche di normalizzazione 1 Normalizzazione La normalizzazione è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati; non costituisce una metodologia di progettazione

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

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2010/2011 http://www.dis.uniroma1.it/ lenzerini/?q=node/44 2. Il

Dettagli

Linguaggi di interrogazione

Linguaggi di interrogazione Linguaggi di interrogazione Un interrogazione è una funzione che data una base di dati produce una relazione su un dato schema Linguaggi di interrogazione Procedurali specificano il procedimento di generazione

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi T Versione elettronica: 03.Algebra.pdf Linguaggi di manipolazione (DML) per DB Un linguaggio di manipolazione, o DML, permette di interrogare e modificare istanze

Dettagli

Maschere e Query. C. Marrocco. Università degli Studi di Cassino

Maschere e Query. C. Marrocco. Università degli Studi di Cassino Maschere e Query Le Maschere Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere. Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta ed

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

DataBase Management System - DBMS

DataBase Management System - DBMS DataBase Management System - DBMS Un sistema per la gestione di basi di dati o DBMS (Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi condivise

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2013/2014 10 Normalizzazione (cenni) Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 14/05/2014

Dettagli

Basi di Dati. Dettagli e Approfondimenti

Basi di Dati. Dettagli e Approfondimenti Basi di Dati Dettagli e Approfondimenti Dettagli e Approfondimenti Altre Forme di Join Funzioni Aggregative Approfondimenti DDL Espressioni Algebra Relazionale >> Dettagli e Approfondimenti Operatori Binari

Dettagli