Basi di Dati e Sistemi Informativi. Algebra Relazionale



Documenti analoghi
Algebra Relazionale e Calcolo Relazionale. L. Vigliano

Linguaggi per basi di dati

Elementi di Algebra Relazionale

Operazioni sui database

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Introduzione all Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

ALGEBRA RELAZIONALE RIEPILOGO

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Gli operatori relazionali

MODELLO RELAZIONALE. Introduzione

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Elena Baralis 2013 Politecnico di Torino 1

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Il Modello Relazionale (1)

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Informatica (Basi di Dati)

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Il Modello Relazionale

Vincoli di integrità

Il Modello Relazionale

Algebra Relazionale. algebra relazionale

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Il linguaggio SQL: query innestate

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

SQL prima parte 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 2011/12

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

(anno accademico )

LA NORMALIZZAZIONE. Introduzione

Basi di dati 9 febbraio 2010 Compito A

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

ALGEBRA DELLE PROPOSIZIONI

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

Lezione V. Aula Multimediale - sabato 29/03/2008

Definizione di domini

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Archivi e Basi di Dati

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Modulo 2 Data Base 2

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

STRUTTURE ALGEBRICHE

Ottimizzazione delle interrogazioni (parte I)

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

TEORIA sulle BASI DI DATI

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

MAX, SUM, AVG, COUNT)

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

1 Insiemi e terminologia

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

BASE DI DATI: sicurezza. Informatica febbraio ASA

PROGETTAZIONE CONCETTUALE

Esercizio data base "Biblioteca"

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

BASI DI DATI - : I modelli di database

LE FUNZIONI A DUE VARIABILI

Il modello relazionale

Informatica per le discipline umanistiche 2 lezione 10

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

Progettazione di Database. Un Esempio

Esame Basi di Dati. 21 Gennaio 2013

Tavola 1 - Prezzi al consumo relativi alla benzina verde con servizio alla pompa. Firenze, Grosseto, Pisa, Pistoia. Da Agosto 2008 ad Aprile 2012

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

Compito di Informatica Grafica 5 appello 29/06/2006

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Database 1 biblioteca universitaria. Testo del quesito

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Unità C1 Modello logico

la scienza della rappresentazione e della elaborazione dell informazione

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

Progettazione di Basi di Dati

logica dei predicati

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

1. PRIME PROPRIETÀ 2

OSSIF WEB. Manuale query builder

Istruzioni DML di SQL

Unipol Assicurazioni SpA Cumulative Auto Bologna 12/01/ :18

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Transcript:

Basi di Dati e Sistemi Informativi Algebra Relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Introduzione L algebra relazionale è un linguaggio procedurale: le operazioni vengono specificate descrivendo il procedimento da seguire Essa è un algebra chiusa. E costituita da un insieme di operatori definiti su relazioni che producono relazioni Pertanto il risultato di una operazione può essere ulteriormente manipolato I principali operatori sono: selezione, proiezione, ridenominazione (unari) join (binario) Esistono le operazioni tipiche dell insiemistica: unione, intersezione, differenza e prodotto cartesiano 2 di 19

Selezione (1/2) Consente di selezionare un sottoinsieme delle tuple di una relazione che soddisfino una condizione di selezione L operazione è espressa in generale come: condizione_ di_ selezione ( relazione ) La condizione di selezione può prevedere comparazione tra attributi compatibili o con costanti, oltre a essere ottenuta collegando varie condizioni mediante connettivi logici (and, or, not) 3 di 19

Selezione (2/2) L operazione viene applicata a ciascuna tupla individualmente La relazione risultante mantiene lo schema di quella di partenza, i.e. il grado rimane invariato La cardinalità risultante è invece di quella di partenza. La selezione è commutativa: 1 ( cond2 R) cond2 ( cond1 R) cond 4 di 19

Esempio datanasc 01 01 60 dataass 05 03 93 Impiegato Impiegati Cognome Nome Data di nascita Data di assunzione Davolio Nancy 08-dic-48 01-mag-92 Fuller Andrew 19-feb-52 14-ago-92 Leverling Janet 30-ago-63 01-apr-92 Peacock Margaret 19-set-37 03-mag-93 Cognome Nome Data di nascita Data di assunzione Suyama Michael 02-lug-63 17-ott-93 King Robert 29-mag-60 02-gen-94 Dodsworth Anne 27-gen-66 15-nov-94 Buchanan Steven 04-mar-55 17-ott-93 Suyama Michael 02-lug-63 17-ott-93 King Robert 29-mag-60 02-gen-94 Callahan Laura 09-gen-58 05-mar-94 Dodsworth Anne 27-gen-66 15-nov-94 Rossi mario 5 di 19

Proiezione Consente di selezionare un sottoinsieme delle colonne (attributi) di una relazione elencati in una lista di attributi di proiezione L operazione è espressa in generale come: lista_ di_ attributi ( relazione ) L operazione modifica, in generale, il grado (cioè il numero di attributi) L operazione modifica, in generale, anche la cardinalità (NB: perché?) L operazione non è commutativa 6 di 19

Esempio Impiegato Cognome Nome Posizione Titolo Data di nascita Davolio Nancy Rappresentante Dott.ssa 08-dic-48 Fuller Andrew Direttore vendite Ing. 19-feb-52 Leverling Janet Funzionario commerciale Dott.ssa 30-ago-63 Peacock Margaret Rappresentante Dott.ssa 19-set-37 Buchanan Steven Direttore commerciale Ing. 04-mar-55 Suyama Michael Rappresentante Dott. 02-lug-63 King Robert Rappresentante Dott. 29-mag-60 Callahan Laura Resp. comm. di zona Dott.ssa 09-gen-58 Dodsworth Anne Rappresentante Dott.ssa 27-gen-66 Cognome Davolio Fuller Leverling Peacock Buchanan Suyama King Callahan Dodsworth Nome Nancy Andrew Janet Margaret Steven Michael Robert Laura Anne Rossi mario Rossi mario cognomenome, ( impiegato ) (impiegato) titolo Titolo Dott. Dott.ssa Ing. 7 di 19

Sequenze di operazioni Trattando operazioni in una algebra chiusa è ovviamente possibile scrivere espressioni come sequenza di operazioni cognome, nome( titolo " dott."( impiegato )) Cognome Nome Posizione Titolo Data di nascita Davolio Nancy Rappresentante Dott.ssa 08-dic-48 Fuller Andrew Direttore vendite Ing. 19-feb-52 Leverling Janet Funzionario commerciale Dott.ssa 30-ago-63 Peacock Margaret Rappresentante Dott.ssa 19-set-37 Buchanan Steven Direttore commerciale Ing. 04-mar-55 Suyama Michael Rappresentante Dott. 02-lug-63 King Robert Rappresentante Dott. 29-mag-60 Callahan Laura Resp. comm. di zona Dott.ssa 09-gen-58 Dodsworth Anne Rappresentante Dott.ssa 27-gen-66 Nome Michael Robert Cognome Suyama King Rossi mario 8 di 19

Ridenominazione Consente di rinominare uno o più attributi di una relazione per facilitare le precedenti operazioni insiemistiche L operazione è espressa in generale come: ( relazione lista_attributi_rino minati lista_attributi ) Vengono modificati solo i nomi degli attributi, i valori non cambiano Paternità Genitore Padre ( Paternità ) Padre Figlio Genitore Figlio Adamo Abele Adamo Abele Abramo Isacco Abramo Isacco 9 di 19

Unione, Intersezione, Differenza (1/2) Operazioni binarie dell insiemistica Hanno senso su relazioni compatibili (tuple omogenee) Identici attributi o almeno appartenenti al medesimo dominio (union-compatible, esiste una corrispondenza 1:1 fra gli attributi delle due relazioni, ossia se i valori dei loro rispettivi domini appartengono allo stesso tipo di dati) Unione: R S produce una relazione che include tutte le tuple presenti in R o in S o in entrambe grado ( R S) grado ( R) grado ( S) cardinalit à ( R S) cardinalità ( R) cardinalità ( S) 10 di 19

Unione, Intersezione, Differenza (2/2) Intersezione: R S produce una relazione che include tutte le tuple presenti sia in R che in S grado ( R S) grado ( R) grado ( S) cardinalit à ( R S) min ( cardinalità ( R), cardinalità ( S)) Differenza: R-S produce una relazione che include tutte le tuple presenti in R, ma non in S grado ( R S) grado ( R) grado ( S) cardinalit à ( R S) cardinalità ( R) 11 di 19

Esempio Studente (S) matricola cognome città 119310 di sciascio bari 125314 rossi bari 199111 verdi foggia Laureato (L) mat cognome città 119310 di sciascio bari 125314 ros s i bari 501111 bi anchi l ecce Unione: S L mat cognome città 119310 di sciascio bari 125314 rossi bari 199111 verdi foggi a 501111 bi a nchi l ecce Intersezione: S L mat cognome città 119310 di sciascio bari 125314 ros s i bari Differenza: S-L mat cognome città 501111 bianchi lecce 12 di 19

Prodotto cartesiano E una operazione binaria su insiemi, ma non richiede la compatibilità delle relazioni partecipanti Essa è denotata con il simbolo X (R x S) Il grado della relazione risultante è pari alla somma dei gradi delle due relazioni partecipanti La cardinalità è pari al prodotto di quelle delle due relazioni partecipanti grado ( R S) grado ( R) grado ( S) cardinalit à ( R S) cardinalità ( R)* cardinalità ( S) 13 di 19

Esempio Impiegato (I) Matricola Cognome Progetto M000 Rossi A M001 Bianchi A Progetto (P) Codice A B Nome Venere Marte M002 Verdi B Impiegato Progetto (I x P) Matricola Cognome Progetto Codice Nome M000 Rossi A A Venere M000 Rossi A B Marte M001 Bianchi A A Venere M001 Bianchi A B Marte M002 Verdi B A Venere M002 Verdi B B Marte 14 di 19

Join E l operazione utilizzata per combinare coppie di tuple, provenienti da relazioni collegate, in singole tuple Consente di elaborare le associazioni tra relazioni R S condizione condizione ( R S) <condizione> è dello stesso tipo di quella già vista per la selezione Il join con una condizione generica è detto theta join Quando la condizione è una uguaglianza viene invece detto equi join Questa operazione includerà due volte, nella tabella risultante, gli attributi su cui è posta la condizione di uguaglianza 15 di 19

Esempio Impiegato (I) Matricola Cognome Progetto M000 Rossi A M001 Bianchi A Progetto (P) Codice A B Nome Venere Marte M002 Verdi B I Progetto Codice P Matricola Cognome Progetto Codice Nome M000 Rossi A A Venere M001 Bianchi A A Venere M002 Verdi B B Marte Il join è detto completo se ciascuna tupla di ciascuna delle relazioni contribuisce ad almeno una tupla del risultato 16 di 19

Natural Join Quando l operazione si limita a riportare una volta l attributo di comparazione nella tabella risultante parleremo di Join naturale (Natural Join) Utilizza una condizione di uguaglianza su attributi con lo stesso nome Impiegato (I) Matricola Cognome CodProg M000 Rossi A M001 Bianchi A M002 Verdi B I P Matricola Cognome CodProg Nome M000 Rossi A Venere Progetto (P) CodProg A B Nome Venere Marte M001 Bianchi A Venere M002 Verdi B Marte 17 di 19

Outer Join (1/2) Inserisce nella relazione risultante solo le tuple che contribuiscono al risultato, eventualmente estese con valori nulli nel caso in cui non ci siano controparti opportune LEFT Outer Join RIGHT Outer Join FULL Outer Join R R R LEFT RIGHT FULL S S S Impiegato (I) Matricola Cognome CodProg M000 Rossi A M001 Bianchi A M002 Verdi B M003 Neri NULL Progetto (P) CodProg A B C Nome Venere Marte Giove 18 di 19

Outer Join (2/2) I P I LEFT P Matricola Cognome CodProg Nome M000 Rossi A Venere M001 Bianchi A Venere M002 Verdi B Marte Matricola Cognome CodProg Nome M000 Rossi A Venere M001 Bianchi A Venere M002 Verdi B Marte M003 Neri NULL NULL I RIGHT P I FULL P Matricola Cognome CodProg Nome M000 Rossi A Venere M001 Bianchi A Venere M002 Verdi B Marte NULL NULL C Giove Matricola Cognome CodProg Nome M000 Rossi A Venere M001 Bianchi A Venere M002 Verdi B Marte M003 Neri NULL NULL NULL NULL C Giove 19 di 19