Parte III L algebra relazionale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Parte III L algebra relazionale"

Transcript

1 Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a III - 1

2 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano le modalità di generazione del risultato ("come") Rappresentanti più significativi: Algebra relazionale: procedurale (usata dai DMS) Calcolo relazionale: dichiarativo (teorico) SQL (Structured Query Language): parzialmente dichiarativo (reale) QE (Query by Example): dichiarativo (reale) asi di dati - prof. Silvio Salza - a.a III - 2

3 Algebra relazionale Costituita da un insieme di operatori definiti su relazioni producono relazioni possono essere composti Operatori dell algebra relazionale: Unione, Intersezione, Differenza (operatori insiemistici) Ridenominazione Selezione Proiezione Join (join naturale, prodotto cartesiano, theta-join) asi di dati - prof. Silvio Salza - a.a III - 3

4 Operatori insiemistici Le relazioni sono insiemi (di tuple), quindi ad esse possono essere applicati, in linea di principio, gli operatori insiemistici Esistono comunque delle limitazioni: Il risultato deve essere anch esso una relazione Una relazione non è un insieme qualsiasi Possibile applicare Unione, Intersezione, Differenza solo a relazioni definite sugli stessi attributi asi di dati - prof. Silvio Salza - a.a III - 4

5 Unione Laureati Quadri Matricola Nome Età Matricola Nome Età 7274 Rossi Neri Neri Neri Verdi Verdi 45 Laureati È Quadri Matricola Nome Età 7274 Rossi Neri Verdi Neri 33 asi di dati - prof. Silvio Salza - a.a III - 5

6 Intersezione Laureati Matricola 7274 Nome Rossi Età Neri Verdi Quadri Matricola 9297 Nome Neri Età Neri Verdi Laureati Ç Quadri Matricola Nome Età 7432 Neri Verdi 45 asi di dati - prof. Silvio Salza - a.a III - 6

7 Differenza Laureati Quadri Matricola Nome Età Matricola Nome Età 7274 Rossi Neri Neri Neri Verdi Verdi 45 Laureati Quadri Matricola Nome Età 7274 Rossi 42 asi di dati - prof. Silvio Salza - a.a III - 7

8 Un unione sensata ma impossibile Paternità Maternità Padre Figlio Madre Figlio Adamo Abele Eva Abele Adamo Caino Eva Set Abramo Isacco Sara Isacco Paternità È Maternità?? asi di dati - prof. Silvio Salza - a.a III - 8

9 Ridenominazione Paternità Ascendenza-P Padre Figlio Genitore Padre Figlio Adamo Abele Adamo Abele Adamo Caino Adamo Caino Abramo Isacco Abramo Isacco Ascendenza-P = REN Genitore Padre (Paternità) L operatore REN consente la ridenominazione degli attributi, per rendere possibili successive operazioni asi di dati - prof. Silvio Salza - a.a III - 9

10 Passo 1: ridenominazione Paternità Padre Adamo Adamo Abramo Figlio Abele Caino Isacco Ascendenza-P Genitore Adamo Adamo Abramo Figlio Abele Caino Isacco Maternità Madre Eva Eva Sara Figlio Abele Set Isacco Ascendenza-M Genitore Figlio Eva Abele Eva Set Sara Isacco Ascendenza-P = REN Genitore Padre (Paternità) Ascendenza-M = REN Genitore Madre (Maternità) asi di dati - prof. Silvio Salza - a.a III - 10

11 Passo 2: unione Ascendenza-P Genitore Figlio Adamo Abele Adamo Caino Abramo Isacco Ascendenza-M Genitore Figlio Eva Abele Eva Set Sara Isacco Ascendenza Genitore Adamo Adamo Abramo Eva Eva Sara Figlio Abele Caino Isacco Abele Set Isacco Ascendenza = Ascendenza-P È Ascendenza-M asi di dati - prof. Silvio Salza - a.a III - 11

12 Selezione Operatore monadico Produce come risultato una relazione che Ha lo stesso schema dell'operando Contiene un sottoinsieme delle n-uple dell'operando Sono conservate solo le tuple che soddisfano una data condizione Permette di valutare tutte le interrogazioni che implicano condizioni fra attributi della stessa tupla asi di dati - prof. Silvio Salza - a.a III - 12

13 Selezione: esempi Impiegati Matricola Cognome Filiale Stipendio Rossi Roma 55 Neri Milano 64 Milano Milano 44 Neri Napoli 64 Trovare: 1. Gli impiegati che guadagnano più di Gli impiegati che guadagnano più di 50 e lavorano a Milano 3. Gli impiegati che hanno lo stesso nome della filiale presso cui lavorano asi di dati - prof. Silvio Salza - a.a III - 13

14 Selezione: sintassi e semantica Sintassi SEL Condizione (Operando) Operando: una qualsiasi relazione Condizione: espressione booleana definita sugli attributi dell operando (come quelle dei vincoli di tupla) Semantica il risultato contiene le n-uple dell'operando che soddisfano la condizione asi di dati - prof. Silvio Salza - a.a III - 14

15 Selezione: esempio 1 Gli impiegati che guadagnano più di 50 Imp-50 Imp-50 = SEL Stipendio > 50 (Impiegati) Matricola 7309 Cognome Filiale Stipendio Rossi Roma Neri Milano Milano Neri Milano Napoli Neri Napoli 64 asi di dati - prof. Silvio Salza - a.a III - 15

16 Selezione: esempio 2 Gli impiegati che guadagnano più di 50 e lavorano a Milano Imp-50-M= SEL (Stipendio > 50) AND (Filiale= Milano ) (Impiegati) Imp-50-M Matricola Cognome Filiale Stipendio Rossi Neri Roma Milano Neri Milano Milano Milano 44 Neri Napoli 64 asi di dati - prof. Silvio Salza - a.a III - 16

17 Selezione: esempio 3 Gli impiegati che hanno lo stesso nome della filiale presso cui lavorano Imp-NF = SEL Cognome=Filiale (Impiegati) Imp-NF Matricola Cognome Filiale Stipendio Milano Rossi Milano Roma Neri Milano 64 Milano Milano 44 Neri Napoli 64 asi di dati - prof. Silvio Salza - a.a III - 17

18 Selezione e proiezione Sono due operatori "ortogonali" Selezione: decomposizione orizzontale Proiezione: decomposizione verticale Selezione Proiezione asi di dati - prof. Silvio Salza - a.a III - 18

19 Proiezione: sintassi e semantica Sintassi PROJ ListaAttributi (Operando) Operando: una qualsiasi relazione ListaAttributi: un sottoinsieme degli attributi della relazione operando Semantica Il risultato contiene le ennuple ottenute da tutte le ennuple dell'operando ristrette agli attributi nella lista asi di dati - prof. Silvio Salza - a.a III - 19

20 Proiezione: esempio Matricola e Cognome di tutti gli impiegati Impiegati-MC Matricola Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 Impiegati-MC = PROJ Matricola, Cognome (Impiegati) asi di dati - prof. Silvio Salza - a.a III - 20

21 Proiezione: esempio 2 Cognome e Filiale di tutti gli impiegati Impiegati Impiegati- CF Matricola Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 Impiegati-CF = PROJ Cognome, Filiale (Impiegati) asi di dati - prof. Silvio Salza - a.a III - 21

22 Cardinalità delle proiezioni Una proiezione contiene al più tante n-uple quante l'operando può contenerne di meno (vengono eliminati i duplicati) Se X è una superchiave di R, allora PROJ X (R) contiene esattamente tante ennuple quante R Se X è una superchiave di R, allora tutte le n-ple assumono valori diversi su X asi di dati - prof. Silvio Salza - a.a III - 22

23 Selezione e proiezione Combinando selezione e proiezione, possiamo estrarre interessanti informazioni da una relazione Matricola e cognome degli impiegati che guadagnano più di 50 Matricola Cognome Filiale Stipendio 7309 Rossi Roma Neri Milano Milano Neri Milano Napoli Neri Napoli 64 PROJ Matricola,Cognome ( SEL Stipendio > 50 (Impiegati)) asi di dati - prof. Silvio Salza - a.a III - 23

24 Join Combinando selezione e proiezione, possiamo estrarre informazioni da un unica relazione Non riusciamo però correlare informazioni presenti in relazioni diverse Il JOIN è l'operatore più interessante dell'algebra relazionale Permette di correlare dati in relazioni diverse Utilizza i collegamenti sui valori che sono alla base del modello relazionale asi di dati - prof. Silvio Salza - a.a III - 24

25 Join: esempio In un concorso pubblico i compiti sono anonimi e ad ognuno è associata una busta chiusa con il nome del candidato Ciascun compito e la relativa busta vengono contrassegnati con uno stesso numero 1 Mario Rossi 2 Nicola Russo 3 Mario ianchi 4 Remo Neri Mario Rossi Nicola Russo Mario ianchi Remo Neri asi di dati - prof. Silvio Salza - a.a III - 25

26 Join: esempio (continua) Votazione Numero Voto Candidati Numero Candidato 1 Mario Rossi 2 Nicola Russo 3 Mario ianchi 4 Remo Neri Risultati Numero Candidato Mario Rossi Nicola Russo Mario ianchi Remo Neri Voto asi di dati - prof. Silvio Salza - a.a III - 26

27 Join naturale Operatore binario (generalizzabile) Produce un risultato Definito sull'unione degli attributi degli operandi Con n-uple costruite ciascuna a partire da una n-upla di ognuno degli operandi Formalmente: Date due relazioni R 1 (X 1 ), R 2 (X 2 ) R 1 JOIN R 2 è una relazione su X 1 ÈX 2 { t su X 1 È X 2 t 1 ÎR 1 e t 2 ÎR 2, t[x 1 ] =t 1 e t[x 2 ] =t 2 } asi di dati - prof. Silvio Salza - a.a III - 27

28 Join completo Impiegati Impiegato Rossi Neri ianchi Reparto A Capi Reparto A Capo Mori runi Impiegati-Capi Impiegato Reparto Capo Rossi A Mori Neri runi ianchi runi In un join completo ogni tupla contribuisce al risultato asi di dati - prof. Silvio Salza - a.a III - 28

29 Join non completo Impiegati Capi Impiegato Reparto Reparto Capo Rossi A Mori Neri C runi ianchi Impiegati-Capi Impiegato Reparto Capo Neri Mori ianchi Mori Alcune tuple non contribuiscono al risultato asi di dati - prof. Silvio Salza - a.a III - 29

30 Join vuoto Impiegati Impiegato Rossi Neri ianchi Reparto A Capi Reparto D C Capo Mori runi Impiegati-Capi Impiegato Reparto Capo Se i valori assunti dagli attributi di join non coincidono in nessuna coppia di tuple, il risultato è vuoto asi di dati - prof. Silvio Salza - a.a III - 30

31 Join completo con n x m n-ple Impiegati Impiegato Rossi Neri Reparto A Capi Reparto A Capo Mori runi Impiegati-Capi Impiegato Reparto Capo Rossi Mori Rossi runi Neri Mori Neri runi Ciascuna coppia di tuple contribuisce: la cardinalità è massima asi di dati - prof. Silvio Salza - a.a III - 31

32 Cardinalità del join R 1 (A,), R 2 (,C) Il join di R 1 e R 2 contiene un numero di tuple compreso fra zero e il prodotto di R 1 e R 2 : 0 R 1 JOIN R 2 R 1 R 2 Se il join coinvolge una chiave di R 2, allora il numero di tuple è compreso fra zero e R 1 : 0 R 1 JOIN R 2 R 1 Se il join coinvolge una chiave di R 2 ed esiste un vincolo di integrità referenziale fra (in R 1 ) e R 2, allora il numero di ennuple è pari a R 1 : R 1 JOIN R 2 = R 1 asi di dati - prof. Silvio Salza - a.a III - 32

33 Join: tuple che non partecipano Impiegati Capi Impiegato Reparto Reparto Capo Rossi A Mori Neri C runi ianchi Impiegati-Capi Impiegato Reparto Capo Neri Mori ianchi Mori Alcune tuple non partecipano al risultato asi di dati - prof. Silvio Salza - a.a III - 33

34 Join esterno (outer join) Il join esterno estende, con valori nulli, le ennuple che verrebbero tagliate fuori da un join (interno) Esiste in tre versioni: sinistro: mantiene tutte le ennuple del primo operando, estendendole con valori nulli, se necessario destro:... del secondo operando... completo: di entrambi gli operandi... asi di dati - prof. Silvio Salza - a.a III - 34

35 Join esterno sinistro Impiegati Capi Impiegato Reparto Reparto Capo Rossi A Mori Neri C runi ianchi Impiegati JOIN LEFT Capi Impiegato Reparto Capo Neri Mori ianchi Mori Rossi A NULL asi di dati - prof. Silvio Salza - a.a III - 35

36 Join esterno destro Impiegati Capi Impiegato Reparto Reparto Capo Rossi A Mori Neri C runi ianchi Impiegati JOIN RIGHT Capi Impiegato Reparto Capo Neri Mori ianchi Mori NULL C runi asi di dati - prof. Silvio Salza - a.a III - 36

37 Join esterno completo Impiegati Capi Impiegato Reparto Reparto Capo Rossi A Mori Neri C runi ianchi Impiegati JOIN FULL Capi Impiegato Reparto Capo Neri Mori ianchi Mori Rossi A NULL NULL C runi asi di dati - prof. Silvio Salza - a.a III - 37

38 Prodotto cartesiano e theta-join È un join naturale su relazioni senza attributi in comune Contiene sempre un numero di ennuple pari al prodotto delle cardinalità degli operandi (tutte le ennuple sono combinabili) Ha senso (quasi) solo se seguito da selezione: SEL Condizione (R 1 JOIN R 2 ) L'operazione complessiva viene chiamata theta-join ed è indicata con: R 1 JOIN Condizione R 2 asi di dati - prof. Silvio Salza - a.a III - 38

39 Theta-join Impiegati Capi Impiegato Rossi Neri ianchi Reparto A Codice A Capo Mori runi Impiegati JOIN Reparto=Codice Capi Impiegato Reparto Codice Capo Rossi A A Mori Rossi Neri A runi ianchi Neri A runi Mori Neri runi ianchi A Mori ianchi runi asi di dati - prof. Silvio Salza - a.a III - 39

40 Esempio: database degli impiegati Impiegati Matricola Nome Età Stipendio 7309 Rossi ianchi Neri runi Mori Lupi Supervisione Impiegato Capo asi di dati - prof. Silvio Salza - a.a III - 40

41 Esempio 1 Query 1: Trovare matricola, nome, età e stipendio degli impiegati che guadagnano più di 40 milioni. SEL Stipendio>40 (Impiegati) Impiegati Matricola Nome Età Stipendio Rossi ianchi runi Mori Neri runi Lupi Mori Lupi asi di dati - prof. Silvio Salza - a.a III - 41

42 Esempio 2 Query 2: Trovare matricola, nome ed età degli impiegati che guadagnano più di 40 milioni PROJ Matricola, Nome, Età ( SEL Stipendio>40 (Impiegati)) Impiegati Matricola Nome Età Stipendio Rossi ianchi runi Mori Neri runi Lupi Mori Lupi asi di dati - prof. Silvio Salza - a.a III - 42

43 Esempio 3 Query 2: Trovare le matricole dei capi degli impiegati che guadagnano più di 40 milioni Impiegati Matricola Nome Età Stipendio Supervisione Impiegato Capo PASSO 1: PASSO 2: S 1 = SEL Stipendio>40 (Impiegati) S 2 = S 1 JOIN Matricola=Impiegato Supervisione PASSO 3: S 3 = PROJ Capo (S 2 ) asi di dati - prof. Silvio Salza - a.a III - 43

44 Esempio 4 Query 2: Trovare nomi e stipendi dei capi degli impiegati che guadagnano più di 40 milioni Impiegati Matricola Nome Età Stipendio Supervisione Impiegato Capo PASSO 1: PASSO 2: S 1 = SEL Stipendio>40 (Impiegati) S 2 = S 1 JOIN Matricola=Impiegato Supervisione PASSO 3: S 3 = PROJ Capo (S 2 ) PASSO 4: S 4 = S 3 JOIN Capo=Matricola Impiegati PASSO 5: S 5 = PROJ Nome, Stipendio (S 4 ) asi di dati - prof. Silvio Salza - a.a III - 44

45 Esempio 5 Query 2: Trovare le matricole dei capi i cui impiegati guadagnano tutti più di 40 milioni Impiegati Matricola Nome Età Stipendio Supervisione Impiegato Capo PASSO 1: PASSO 2: S 1 = SEL Stipendio 40 (Impiegati) S 2 = S 1 JOIN Matricola=Impiegato Supervisione PASSO 3: S 3 = PROJ Capo (S 2 ) PASSO 4: PASSO 5: S 5 = S 4 - S 3 S 4 = PROJ Capo (Supervisione) asi di dati - prof. Silvio Salza - a.a III - 45

46 Equivalenza di espressioni Due espressioni dell algebra sono equivalenti se producono lo stesso risultato, qualunque sia l'istanza attuale della base di dati Gli utenti formulano le interrogazioni usando linguaggi dichiarativi (SQL) I DMS sonno dotati di un motore algebrico e valutano le interrogazioni calcolando un espressione algebrica L'equivalenza è importante perché i DMS possono scegliere tra tutte le espressioni equivalenti quella cui corrisponde il minore costo esecutivo asi di dati - prof. Silvio Salza - a.a III - 46

47 Un caso importante Conviene anticipare le selezioni (push selections) Le selezioni tipicamente riducono in modo significativo la dimensione del risultato intermedio (e quindi il costo dell'operazione). Esempio: se A è un attributo di R 1 1. S 1 = R 1 JOIN R 2 2. S 2 = SEL A=10 (S 1 ) 1. S 1 = SEL A=10 (R 1 ) 2. S 2 = S 1 JOIN R 2 Il piano esecutivo di destra è sicuramente meno costoso di quello di sinistra, perché il join viene effettuato tra R 2 e una relazione sicuramente più piccola di R 1 asi di dati - prof. Silvio Salza - a.a III - 47

48 Condizioni e valori nulli Impiegati Matricola Cognome Filiale Età Rossi Roma 32 Neri Milano 45 runi Milano NULL SEL Età > 40 (Impiegati) SEL Età 40 (Impiegati) Le condizioni atomiche sono vere solo per i valori non nulli L ultima tupla non viene presa in nessuna delle due selezioni asi di dati - prof. Silvio Salza - a.a III - 48

49 Gestione dei valori nulli Per riferirsi ai valori nulli esistono apposite condizioni atomiche: IS NULL e IS NOT NULL Impiegati Matricola Cognome Filiale Età Rossi Neri Milano Roma runi Neri Milano NULL 45 runi Milano NULL SEL (Età > 40) OR (Età IS NULL) (Impiegati) asi di dati - prof. Silvio Salza - a.a III - 49

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, ALGEBRA E CALCOLO RELAZIONALE

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, ALGEBRA E CALCOLO RELAZIONALE Linguaggi per basi di dati Atzeni, Ceri, Paraboschi, Torlone asi di dati McGraw -Hill, 1996-2002 Capitolo 3: ALGERA E CALCOLO RELAZIONALE 24/09/2002 operazioni sullo schema DDL: data definition language

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

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

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

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

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

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 3)

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 3) E. Giunchiglia asi di dati 1 (trasparenze basate su tzeni, Ceri, Paraboschi, Torlone: asi di dati, Capitolo 3) LGER RELZIONLE CLCOLO RELZIONLE DTLOG Linguaggi di interrogazione per basi di dati relazionali

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. 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

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

Dettagli

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Linguaggi per basi di dati tzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: LGER E CLCOLO RELZIONLE 07/06/2005 operazioni sullo schema DDL: data definition language operazioni

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

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

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

Basi di dati ALGEBRA E CALCOLO RELAZIONALE

Basi di dati ALGEBRA E CALCOLO RELAZIONALE Basi di dati ALGEBRA E CALCOLO RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query")

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : ALGEBRA E CALCOLO RELAZIONALE Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi 34 45 5998 Bianchi 37 38 9553 Neri 42 35 5698

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

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

SQL: "storia" 31/05/2006 2

SQL: storia 31/05/2006 2 SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli

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

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

Corso di. Basi di Dati I. 4. Algebra relazionale

Corso di. Basi di Dati I. 4. Algebra relazionale Corso di Basi di Dati 4. Algebra relazionale A.A. 2016 2017 Algebra relazionale L algebra relazionale è un insieme di operazioni che si effettuano su una base di dati relazionale. Lo scopo è quello di

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

Linguaggi per basi di da6. Linguaggi di interrogazione. Algebra relazionale. Operatori dell'algebra relazionale

Linguaggi per basi di da6. Linguaggi di interrogazione. Algebra relazionale. Operatori dell'algebra relazionale Linguaggi per basi di da6 tzeni, Ceri, Paraboschi, Torlone asi di da6 LGER E CLCOLO RELZIONLE operazioni sullo schema DDL: data defini6on language operazioni sui da6 DML: data manipula6on language interrogazione

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Figlio Maria. Luigi. Olga Filippo Andrea Aldo Figlio Franco Olga Filippo Andrea Aldo

Figlio Maria. Luigi. Olga Filippo Andrea Aldo Figlio Franco Olga Filippo Andrea Aldo Maternità Paternità Madre Luisa Luisa Anna Anna Maria Maria Padre Sergio Luigi Luigi Franco Franco Figlio Maria Luigi Olga Filippo Andrea Aldo Figlio Franco Olga Filippo Andrea Aldo Persone Nome Età Andrea

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

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

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

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) SQL SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) Esempio 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 50 60 Olga 30 Sergio 85 Luisa 75 Persone Reddito

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 D1.4 Interrogazioni complesse e viste 1 Prerequisiti Elementi di teoria degli insiemi Composizione di operazioni 2 1 Introduzione Gli strumenti dell algebra consentono di

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

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

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

Join esplicito. SELECT con join esplicito, sintassi. Ulteriore estensione: join naturale (meno diffuso) Outer join. Join esterno: "outer join"

Join esplicito. SELECT con join esplicito, sintassi. Ulteriore estensione: join naturale (meno diffuso) Outer join. Join esterno: outer join Join esplicito Padre e madre di ogni persona select paternita.figlio,padre, madre, paternita where paternita.figlio = maternita.figlio SELECT con join esplicito, sintassi SELECT FROM Tabella { JOIN Tabella

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

Algebra Relazionale. Dario Allegra Data Management 1 1

Algebra Relazionale. Dario Allegra Data Management 1 1 Algebra Relazionale 1 Unione, Intersezione, Differenza Laureati Matricola Cognome Età 7274 Rossi 37 7432 Neri 39 9824 Verdi 38 Dirigenti Matricola Cognome Età 9297 Neri 56 7432 Neri 39 9824 Verdi 38 2

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

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

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

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

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 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

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

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

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

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

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

Modello relazionale e algebra relazionale (lucidi integrativi del corso)

Modello relazionale e algebra relazionale (lucidi integrativi del corso) Modello relazionale e algebra relazionale (lucidi integrativi del corso) Prof. Andrea Schaerf Basi di dati Dip. di Ingegneria Elettrica, Gestionale e Meccanica Università di Udine Anno Accademico 2014-15

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

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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi Lezione 3 Structured Query Language

Dettagli

Viste come strumenti di programmazione

Viste come strumenti di programmazione Viste come strumenti di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: PROJ Impiegato ((Afferenza JOIN Direzione) JOIN REN ImpR,RepR Impiegato,Reparto ( SEL Impiegato='Rossi'

Dettagli

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Linguaggi per basi di dati Atzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: ALGERA E CALCOLO RELAZIONALE 07/06/2005 operazioni sullo schema DDL: data definition language

Dettagli

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

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 8: Teoria delle dipendenze Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni

Dettagli

ALGEBRA RELAZIONALE. Patrizio Dazzi a.a

ALGEBRA RELAZIONALE. Patrizio Dazzi a.a ALGEBRA RELAZIONALE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Raccolta Email a buon punto molti già inseriti nella ML e in Classroom Pochi si sono collegati a Classroom -> fatelo ASAP Anche se l interfaccia

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

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Il Linguaggio SQL Due componenti principali: Ø DDL (Data Definition Language) Contiene i costrutti necessari per la creazione/modifica

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Modello relazionale 2 Il modello logico relazionale Introduzione Definizioni Riferimenti tra relazioni

Dettagli

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (1) Interrogazioni semplici Prof. Alberto Postiglione

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

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

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

Linguaggi di interrogazione per basi di dati relazionali

Linguaggi di interrogazione per basi di dati relazionali Linguaggi di interrogazione per basi di dati relazionali Il modello relazionale è stato il primo ad introdurre la possibilità di operare su insiemi di dati con operatori insiemistici Nei precedenti modelli

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

Esercizi di Informatica Documentale

Esercizi di Informatica Documentale Esercizi di Informatica Documentale A.A. 2015/2016 Parte Prima Nota: Laddove si richiede una risposta aperta, rispondere al massimo in tre righe. 1. Che cos è una Base di Dati? 2. Dare la definizione di

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Interpretazione delle query nidificate

Interpretazione delle query nidificate Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi

Dettagli

Basi di dati. Modello relazionale dei dati. Prof.ssa Rosalba Giugno

Basi di dati. Modello relazionale dei dati. Prof.ssa Rosalba Giugno Basi di dati Modello relazionale dei dati Prof.ssa Rosalba Giugno DEFINIZIONE Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati e descriverne la struttura in modo che essa

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