ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE"

Transcript

1 ALGEBRA RELAZIONALE Ridenominazione Unione Differenza Selezione Proiezione Prodotto Join θ-join Join naturale Semijoin Join esterno Valori nulli Interrogazioni / espressioni relazionali Esercizi cesarini-bdsi algebra rel 1 ALGEBRA RELAZIONALE operatori che lavorano su una o due relazioni e restituiscono una relazione il risultato può essere usato come operando per un altro operatore espressione dell algebra relazionale: specifica l applicazione sequenziale di più operatori operatori primitivi: ridenominazione, unione, differenza, selezione, proiezione, prodotto operatori derivati: intersezione, divisione, join cesarini-bdsi algebra rel 2 1

2 data R di schema R(A1, Ak) e un insieme di attributi B1 Bk l operatore di ridenominazione RIDENOMINAZIONE ρ B1 Bk A1 Ak (R) produce una relazione di schema R(B1 Bk) che contiene una tupla t per ogni t contenuta nella relazione originaria in modo tale che t [Bi] = t[ai] i ρ matr corso voto stud corso voto (ESAME) stud corso voto matr corso voto 1111 SOP SOP SOP SOP BDSI BDSI 28 cesarini-bdsi algebra rel 3 UNIONE r s r, s relazioni definite sugli stessi attributi (dello stesso tipo) R(A1, An) S(A1,... An) il risultato è una relazione definita sugli stessi attributi Z(A1, An) che contiene le tuple che sono in r o in s z = {t t r t s} r = nome cdl s = nome cdl Rossi inf Verdi bio Verdi bio Rossi bio z = nome cdl Rossi inf Verdi bio Rossi bio cesarini-bdsi algebra rel 4 2

3 DIFFERENZA r - s r, s relazioni definite sugli stessi attributi (dello stesso tipo) R(A1, An) S(A1, An) il risultato è una relazione definita sugli stessi attributi Z(A1, An) che contiene le tuple che sono in r e non in s z = {t t r t s} r = nome cdl s = nome cdl Rossi inf Verdi bio Verdi bio Rossi bio z = nome Rossi cdl inf cesarini-bdsi algebra rel 5 SELEZIONE σ F r r definita sugli attributi A1, An R(A1, An) F formula proposizionale: Ai θ Aj θ {<,, =,, >, } è una formula Ai θ c c dom(ai) è una formula se α e β sono formule allora α β, α β, α sono formule il risultato è una relazione definita sugli stessi attributi Z(A1, An) che contiene le tuple che soddisfano F z = {t t r F(t)} r = nome cdl σ cdl= geo r = nome cdl Rossi inf Verdi bio σ cdl= inf cdl= bio r = nome cdl Rossi inf Verdi bio cesarini-bdsi algebra rel 6 3

4 SELEZIONE esempi STUD = nome cognome città-res città-nasc età Marco Bianchi Prato Empoli 30 Luca Bianchi Empoli Empoli 25 Pietro Rossi Firenze Napoli 25 Pietro Rossi Firenze Roma 26 Pietro Piccini Firenze Firenze 28 σ età<30 σ età>30 σ città-res=città-nasc σ città-res città-nasc età>25 cesarini-bdsi algebra rel 7 SELEZIONE esempi ELENCO (nome, cognome, fisc, città_nasc, anno_nasc, città_res, ind) σ città_nasc=città_res anno_nasc>1960 ELENCO ESAME (stud, corso, voto, data) σ corso= BDSI voto 27 ESAME VOLO (partenza, arrivo, ora_part, ora_arrivo) σ partenza= Peretola VOLO cesarini-bdsi algebra rel 8 4

5 PROIEZIONE π Y r r relazione definita su A1, An R(A1, An) Y {A1, An} Y = {A1, Am} m n il risultato è una relazione definita su Y Z(A1, Am) che contiene le tuple di r proiettate su A1, Am z = {t[a1 Am] t r} r = nome cdl s = nome cdl Rossi inf Verdi bio Verdi bio Rossi bio π cdl r = cdl π cdl s = cdl inf bio bio cesarini-bdsi algebra rel 9 PRODOTTO r s r definita su A1, An s definita su B1, Bm R(A1, An) S(B1, Bm) Ai Bj il risultato è una relazione definita su A1, An, B1, Bm Z(A1, An, B1, Bm) le cui tuple sono ottenute concatenando ogni tupla di r con tutte le tuple di s z = {t t=u v u r v s} operatore concatenazione r = matr nome s = stud corso voto 1111 Rossi 1111 SOP Verdi 2222 SOP BDSI 28 r s = matr nome stud corso voto 1111 Rossi 1111 SOP Rossi 2222 SOP Rossi 1111 BDSI Verdi 1111 SOP Verdi 2222 SOP Verdi 1111 BDSI 28 cesarini-bdsi algebra rel 10 5

6 OPERATORI derivati INTERSEZIONE r s r,s relazioni definite sugli stessi attributi R(A1, An) S(A1, An) il risultato è una relazione definita sugli stessi attributi Z(A1, An) che contiene le tuple che sono sia in r che in s z = {t t r t s} r s r - (r - s) cesarini-bdsi algebra rel 11 DIVISIONE r s r definita su X, s definita su Y con Y X R(B1, Bn, A1, Am) S(A1, Am) il risultato è una relazione definita su B1 Bn Z(B1, Bn) che contiene le tuple z = {w u s w u r} = {w {w} s r} z è il massimo sottoinsieme della proiezione di r su che il suo prodotto con s è contenuto in r B1 Bn tale cesarini-bdsi algebra rel 12 6

7 θ - JOIN r Ai θ Bj s θ operatore di confronto r definita su A1 An, s su B1 Bm R(A1, An) S(B1, Bm) Ai Bj il risultato è una relazione definita su A1 An B1 Bm Z(A1, An, B1, Bm) che contiene le tuple z = {u v u r, v s, u[ai] θ v[bj]} se θ è l operatore = si dice equijoin r Ai θ Bj s = σ Ai θ Bj (r s) cesarini-bdsi algebra rel 13 θ - JOIN esempio r = matr nome s = stud corso voto 1111 Rossi 1111 SOP Verdi 2222 SOP Bianchi 1111 BDSI 28 r matr=stud s = matr nome stud corso voto 1111 Rossi 1111 SOP Rossi 1111 BDSI Verdi 2222 SOP 24 cesarini-bdsi algebra rel 14 7

8 JOIN NATURALE r s r, s definite su insiemi di attributi non disgiunti R(A1, Ak, An) S(A1, Ak, B1, Bm) il risultato è una relazione definita su A1, An, B1, Bm Z(A1, An, B1, Bm) che contiene le tuple z = {t t[a1 An] r t[a1 Ak B1 Bm] s} r s = π A1 An B1 Bm σ R.A1=S.A1 R.Ak=S.Ak (r s) Più formalmente r s = π A1 An B1 Bm σ A1=A1 Ak=Ak (r (ρ A1 Ak A1 Ak (s)) cesarini-bdsi algebra rel 15 JOIN NATURALE bis r s r, s relazioni definite sugli insiemi di attributi X e Y R(X) S(Y) il risultato è una relazione definita su X Y Z(X Y) che contiene le tuple z = {t t[x] r t[y] s} se X e Y sono disgiunti, si ha la definizione del prodotto se X e Y coincidono si ha la definizione dell intersezione se X e Y hanno alcuni attributi in comune, si ha la definizione tradizionale del join naturale cesarini-bdsi algebra rel 16 8

9 JOIN NATURALE esempi r = matr nome s = matr corso voto 1111 Rossi 1111 SOP Verdi 2222 SOP Bianchi 1111 BDSI 28 r s = matr nome corso voto 1111 Rossi SOP Rossi BDSI Verdi SOP 24 cesarini-bdsi algebra rel 17 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Pinco Bianchi Basidati BD1 BD2 Pallino Verdi Basidati BD2 R3 Pippo Neri Reti R3 STUD ELAB = stud corso progetto tutor Rossi Basidati BD1 Pinco Bianchi Basidati BD1 Pinco Verdi Basidati BD2 Pallino Neri Reti R3 Pippo JOIN completo: ogni tupla dei due operandi contribuisce al risultato cesarini-bdsi algebra rel 18 9

10 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Pinco Bianchi Basidati BD1 BD2 Pallino Verdi Basidati BD2 R3 Pippo Neri Reti R3 Rossi Reti R4 STUD ELAB = stud corso progetto tutor Rossi Basidati BD1 Pinco Bianchi Basidati BD1 Pinco Verdi Basidati BD2 Pallino Neri Reti R3 Pippo JOIN non completo: la tupla [Rossi Reti R4] non contribuisce al risultato tupla dangling (dondolante) cesarini-bdsi algebra rel 19 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 R1 Pinco Bianchi Basidati BD1 P2 Pallino Verdi Basidati BD2 Neri Reti R3 Rossi Reti R4 STUD ELAB = stud corso progetto tutor Il risultato del join è una relazione vuota cesarini-bdsi algebra rel 20 10

11 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Qui Bianchi Basidati BD1 BD1 Quo BD1 Qua STUD ELAB = stud corso progetto tutor Rossi Basidati BD1 Qui Rossi Basidati BD1 Quo Rossi Basidati BD1 Qua Bianchi Basidati BD1 Qui Bianchi Basidati BD1 Quo Bianchi Basidati BD1 Qua ogni tupla di STUD è stata concatenata con ogni tupla di ELAB cesarini-bdsi algebra rel 21 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Pinco Bianchi Basidati BD1 BD2 Pallino Verdi Basidati BD2 R3 Pippo Neri Reti R3 Rossi Reti R4 poiché ELAB.progetto è chiave, ogni tupla di STUD contribuisce al risultato al massimo una volta. [Rossi Reti R4] non contribuisce. card (STUD ELAB) card (STUD) cesarini-bdsi algebra rel 22 11

12 JOIN NATURALE esempi STUD(stud, corso, progetto) ELAB(progetto, tutor) STUD.progetto ref ELAB.progetto STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Pinco Bianchi Basidati BD1 BD2 Pallino Verdi Basidati BD2 R3 Pippo Neri Reti R3 R4 Tommy ogni tupla di STUD contribuisce al risultato una volta. card (STUD ELAB) = card (STUD) cesarini-bdsi algebra rel 23 JOIN NATURALE cardinalità R1(X1) R2 (X2) k1 = card ( r1 ) k2 = card ( r2 ) k = card ( r1 r2) 0 k (k1 k2) join completo: k max(k1, k2) se (X1 X2) chiave(r2) allora k k1 se (X1 X2) chiave(r2) e esiste un vincolo di integrità referenziale fra gli attributi X1 X2 di R1 e la chiave di R2 allora k = k1 cesarini-bdsi algebra rel 24 12

13 SEMIJOIN r s r, s definite su insiemi di attributi non disgiunti R(A1, Ak, An) S(A1, Ak, B1, Bm) il risultato è una relazione definita su A1, An Z(A1, Ak, An) che contiene le tuple z = {t r t[a1 Ak] π A1 Ak (s)} r s = π A1 An (r s) FORN = codf nomef città ORD = codf codart descr quantità 1 Rossi Prato 1 a lapis 5 2 Verdi Empoli 2 a lapis 6 3 Bianchi Arezzo 1 b penna 10 1 c mina 2 FORN ORD restituisce i fornitori a cui è stato ordinato qualcosa cesarini-bdsi algebra rel 25 JOIN ESTERNO r full s r, s definite su insiemi di attributi non disgiunti R(A1, Ak, An) S(A1, Ak, B1, Bm) il risultato è una relazione definita su A1, An, B1, Bm Z(A1, An, B1, Bm) le cui tuple sono z = r s ( (r - π A1 An (r s) {B1=null, Bm=null}) ({Ak+1=null, An=null} (s - π A1 Ak B1 Bm (r s))) le tuple che non contribuiscono al join naturale vengono unite con tuple nulle cesarini-bdsi algebra rel 26 13

14 JOIN ESTERNO esempi STUD = stud corso progetto ELAB = progetto tutor Rossi Basidati BD1 BD1 Pinco Bianchi Basidati BD1 BD2 Pallino Rossi Reti R4 R3 Pippo Verdi Basidati BD2 STUD Full ELAB = stud corso progetto tutor Rossi Basidati BD1 Pinco Bianchi Basidati BD1 Pinco Verdi Basidati BD2 Pallino Rossi Reti R4 NULL NULL NULL R3 Pippo STUD left ELAB = stud corso progetto tutor Rossi Basidati BD1 Pinco Bianchi Basidati BD1 Pinco Verdi Basidati BD2 Pallino Rossi Reti R4 NULL cesarini-bdsi algebra rel 27 QUERY / VALORI NULLI LAUREA = stud data voto Rossi 10/4/ Verdi 10/4/01 NULL Bianchi 15/10/01 98 σ voto>100 LAUREA come viene considerato lo studente Verdi di cui non conosciamo il voto? cesarini-bdsi algebra rel 28 14

15 LOGICA A TRE VALORI NULL valore sconosciuto,? logica a tre valori: vero, falso, sconosciuto TABELLE VERITA AND vero falso? OR vero falso? vero v f? vero v v v falso f f f falso v f??? f?? v?? X NOT X v f f v?? cesarini-bdsi algebra rel 29 LOGICA A TRE VALORI difficoltà di gestione di risultati certi e risultati probabi li problemi nella valutazione di espressioni LAUREA = stud data voto Rossi 10/4/ Verdi 10/4/01 NULL Bianchi 15/10/01 98 σ voto>100 LAUREA σ LAUREA voto 100 Rossi OK Bianchi OK Verdi? Verdi? Rossi OK Bianchi OK Verdi? cesarini-bdsi algebra rel 30 15

16 VALORI NULLI / ALGEBRA RELAZIONALE tradizionale logica a due valori un valore nullo rende falso ogni predicato atomico Aθ B, A θ cost introduzione di nuovi predicati A is NULL A is NOT NULL σ voto >100 LAUREA σ voto 100 LAUREA σ voto IS NULL LAUREA il risultato è la stessa relazione di partenza valori nulli / uguaglianza NULL = NULL? NULL NULL? cesarini-bdsi algebra rel 31 Applicazione ripetuta degli operatori Gli operatori ρ,, -, σ, π, θ, si applicano a tabelle e danno come risultato ancora una tabella E possibile quindi applicare un operatore al risultato prodotto da un altro Molte interrogazioni possono essere risolte con una opportuna applicazione degli operatori visti Esempi FORNITORE(codice, nome, indirizzo) ORDINE (num, fornitore, data) l elenco dei codici dei fornitori a cui è stato mandato un ordine dopo il 10/1/00 π fornitore (σ data>10/1/00 ORDINE) Il codice e il nome dei fornitori a cui è stato mandato un ordine dopo il 10/1/00 π codice nome (σ data>10/1/00 (ORDINE fornitore=codice FORNITORE)) π codice nome (FORNITORE codice=fornitore (σ data>10/1/00 ORDINE)) cesarini-bdsi algebra rel 32 16

17 ESERCIZI Società a livello nazionale che gestisce più punti vendita DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) In tutti gli esempi abbiamo solo il join nat. perché i nomi degli attributi sono uguali, se fossero diversi ci vorrebbe un equijoin Nome degli autori di nazionalità russa π nome σ naz= russa AUTORE P_iva dei negozi che del disco di codice 53 hanno venduto più di 10 copie π p_iva σ d_id=53 copie>10 VENDITA cesarini-bdsi algebra rel 33 ESERCIZI DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) Nome, indirizzo e città dei negozi che del disco di codice 53 hanno venduto più di 10 copie π nome ind città (NEGOZIO σ d_id=53 copie>10 VENDITA) Nome, indirizzo e città dei negozi che hanno venduto più di 10 copie di un disco di titolo Forever π nome ind città ( NEGOZIO (π p_iva (σ tit= Forever copie>10 DISCO VENDITA))) cesarini-bdsi algebra rel 34 17

18 ESERCIZI DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) P_iva dei negozi che hanno venduto più di 10 copie di un qualche disco π p_iva σ copie>10 VENDITA P_iva dei negozi che di ogni disco che avevano in negozio hanno venduto più di 10 copie P_iva dei negozi che di nessun disco hanno venduto 10 copie o meno (π p_iva VENDITA) ( π p_iva σ copie 10 VENDITA) cesarini-bdsi algebra rel 35 ESERCIZI DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) I titoli dei dischi di cui almeno un autore è italiano π titolo ( DISCO ( COMP_DA (σ naz= it AUTORE))) I codici dei dischi di cui almeno un autore è non italiano π d_id ( COMP_DA (σ naz it AUTORE)) I codici dei dischi di cui tutti gli autori sono italiani (π d_id COMP_DA) (π d_id ( COMP_DA (σ naz it AUTORE))) cesarini-bdsi algebra rel 36 18

19 ESERCIZI DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) Considerando VENDITA si vuole il valore massimo che compare nella colonna copie π copie (VENDITA) - π copie (VENDITA copie<xcopie ρ Xp_iva, Xdisco_id, Xcopie p_iva, disco_id, copie VENDITA) cesarini-bdsi algebra rel 37 ESERCIZI DISCO (disco_id, titolo, casa_disc, genere) AUTORE (autore_id, nome, nazionalità) COMPOSTO_DA (disco_id, autore_id) NEGOZIO (p_iva, nome, indirizzo, città) VENDITA (p_iva, disco_id, copie) L elenco di tutti i negozi insieme ai dischi venduti NEGOZIO VENDITA L elenco di tutti i dischi insieme alle informazioni che riguardano i loro autori DISCO COMP_DA AUTORE cesarini-bdsi algebra rel 38 19

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

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

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

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

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

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

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

Algebra relazionale: operazioni

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

Dettagli

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

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 logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. } modello dei dati insieme di strutture dati e regole logico ) strutture disponibili

Dettagli

Instanze inconsistenti. Informatica II Basi di Dati (07/08) Parte 2. Instanze inconsistenti. Vincoli di integrità

Instanze inconsistenti. Informatica II Basi di Dati (07/08) Parte 2. Instanze inconsistenti. Vincoli di integrità Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 Instanze inconsistenti Non tutte le tuple rappresentano informazione

Dettagli

Basi di dati (database)

Basi di dati (database) Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,

Dettagli

ALGEBRA RELAZIONALE. L algebra relazionale

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

Dettagli

RELAZIONI E BASI DI DATI

RELAZIONI E BASI DI DATI Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof.

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

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

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

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

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

Dettagli

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze D B M G

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione

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

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

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

Dettagli

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

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze 007 Politecnico

Dettagli

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti Gestione di basi di dati in Access SUISM Docente: Ugo de Liguoro a.a. 2003-2004 Asti Indice 1. Un primo esempio: la rubrica telefonica 2. Progettazione di un DB 3. Popolamento 4. Interrogazioni (Queries)

Dettagli

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

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

Dettagli

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

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

Basi di dati 8 novembre 2010 Prova parziale Compito A

Basi di dati 8 novembre 2010 Prova parziale Compito A Basi di dati 8 novembre 2010 Prova parziale Compito A Cognome: Nome: Matricola: Domanda 1 (15%) Si supponga di voler rappresentare in una base di dati relazionale le informazioni relative al calendario

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

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

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

Algebra Relazionale e Calcolo Relazionale. L. Vigliano Algebra Relazionale e Calcolo Relazionale Operazioni associate al modello relazionale Notazione algebrica Algebra relazionale Linguaggio procedurale interrogazioni espresse applicando operatori alle relazioni

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 DATI: algebra relazionale

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

Dettagli

Modello Relazionale. Architettura a tre livelli di un DBMS

Modello Relazionale. Architettura a tre livelli di un DBMS Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. modello dei dati insieme di strutture dati e regole ) logico strutture disponibili su

Dettagli

Il modello relazionale dei dati. modello relazionale 1

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

Dettagli

SQL - Sottointerrogazioni correlate

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

Dettagli

Monday, January 24, 2011 SQL

Monday, January 24, 2011 SQL SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

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

La normalizzazione. In fase di progettazione occorre verificare che ogni tabella abbia una chiave primaria.

La normalizzazione. In fase di progettazione occorre verificare che ogni tabella abbia una chiave primaria. La normalizzazione Per normalizzazione intendiamo quel procedimento che consente di verificare se la definizione dello schema corrisponde ai canoni standard di correttezza della base dei dati e, in caso,

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008 Basi di Dati Esercitazione Algebra Relazionale 16 maggio 2008 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto, Costo) con

Dettagli

PIL Percorsi di Inserimento Lavorativo

PIL Percorsi di Inserimento Lavorativo PIL - 2008 Percorsi di Inserimento Lavorativo Basi di Dati - Lezione 2 Il Modello Relazionale Il modello relazionale rappresenta il database come un insieme di relazioni. Ogni RELAZIONE è una tabella con:

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

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

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Sistemi di Elaborazione delle Informazioni (C.I. 15) Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Basi di dati Introduzione

Dettagli

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 5-7)

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 5-7) Università degli Studi di Padova Corso di Laurea Specialistica in Bioingegneria A.A. 2006-2007 2007 INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 5-7) Giovanni Sparacino Dipartimento

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

Ordo et connexio rerum idem est ac ordo et connexio idearum

Ordo et connexio rerum idem est ac ordo et connexio idearum BASI DI DATI IL MODELLO RELAZIONALE Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano tratto da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati - McGraw-Hill Ordo

Dettagli

Algebra relazionale e interrogazioni

Algebra relazionale e interrogazioni Algebra relazionale e interrogazioni A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Operazioni relazionali 2 Algebra relazionale Gli operatori

Dettagli

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

Dettagli

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice

Dettagli

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali Basi di Dati e Sistemi Informativi nei database relazionali Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione La modellazione E-R ci ha consentito di descrivere schemi relazionali

Dettagli

Vincoli di integrità Normalizzazione

Vincoli di integrità Normalizzazione Vincoli di integrità Normalizzazione A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Integrità dei dati 2 Integrità dei dati Studenti Matricola

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (3) Insiemistiche e Nidificate Prof. Alberto Postiglione

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 010/011 Basi di dati Le presenti slide sono tratte dalle slide del libro di

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Modello relazionale. Basi di dati relazionali. Modello relazionale. Il modello relazionale. Schema di una relazione. Modello relazionale

Modello relazionale. Basi di dati relazionali. Modello relazionale. Il modello relazionale. Schema di una relazione. Modello relazionale Modello relazionale Basi di dati relazionali Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! Introdotto nel 1970! Affermatosi negli anni 80! Attualmente è il

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

I modelli logici dei dati

I modelli logici dei dati I modelli logici dei dati I modelli logici tradizionali sono tre: gerarchico reticolare relazionale I modelli gerarchio e reticolare sono più vicini alle strutture fisiche di memorizzazione. Quello relazionale

Dettagli

Basi di dati. Selezione, proiezione e join. Linguaggi di interrogazione. Selezione, proiezione e join. Equivalenza di espressioni

Basi di dati. Selezione, proiezione e join. Linguaggi di interrogazione. Selezione, proiezione e join. Equivalenza di espressioni elezione, proiezione e join Basi di dati Linguaggi di interrogazione quali professori hanno esaminato Antonio? Nome Città CDip Carlo Carlo Bologna Bologna Antonio oma Log Cod Corso 1 2 3 Data Voto 7997

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

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 Lezione 2 Il modello relazionale

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 99999999 Lezione 9 I linguaggi

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : La normalizzazione Forme normali Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi,

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Il linguaggio SQL: DML di base. Versione elettronica: 04.2.SQL.DMLbase.pdf

Il linguaggio SQL: DML di base. Versione elettronica: 04.2.SQL.DMLbase.pdf Il linguaggio SQL: DML di base Sistemi Informativi T Versione elettronica: 04.2.SQL.DMLbase.pdf Data Manipulation Language (DML) Le istruzioni del DML di SQL sono SELECT INSERT DELETE UPDATE esegue interrogazioni

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca Il Modello Relazionale dei Dati lucidi tratti dal libro: Atzeni, Ceri, Paraboschi, Torlone Introduzione alle Basi di dati, Mc Graw Hill Italia 1 I modelli logici dei dati

Dettagli

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R La normalizzazione Forme normali Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione non è normalizzata:

Dettagli

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Gestione e Analisi dei Dati Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Prodotto Cartesiano Finora operatori unari lavorano sui dati di un unica tabella In realtà

Dettagli

ed SQL 10 Novembre 2009

ed SQL 10 Novembre 2009 Basi di Dati Esercitazione Algebra Relazionale ed SQL 10 Novembre 2009 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto,

Dettagli

CALCOLO DEL COSTO DI JOIN. costo di join 1

CALCOLO DEL COSTO DI JOIN. costo di join 1 CALCOLO DEL COSTO DI JOIN costo di join 1 scopo: scopo della lezione valutare quale sia la migliore strategia di accesso per interrogazioni SQL nel caso di join i criteri di valutazione servono anche a

Dettagli

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A Tempo a disposizione: due ore. Libri chiusi. Destinare uno dei fogli alla bella copia, una facciata per ciascuna domanda, nell ordine; alla consegna,

Dettagli

Memorizzazione di una relazione

Memorizzazione di una relazione Heap file File ordinati Indici o Hash o B+-tree Costo delle operazioni algebriche Simboli: NP: numero di pagine NR: numero record LP: lunghezza pagina LR: lunghezza record Memorizzazione di una relazione

Dettagli

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online: NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online: UTENTI (Codice, Nome, Cognome, Recapito) LIBRI(Titolo,

Dettagli

Il linguaggio SQL: DML di base

Il linguaggio SQL: DML di base Il linguaggio SQL: DML di base Sistemi Informativi T Versione elettronica: 04.2.SQL.DMLbase.pdf Data Manipulation Language (DML) Le istruzioni del DML di SQL sono SELECT INSERT DELETE UPDATE esegue interrogazioni

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

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa Basi di da' Il modello relazionale Anna Monreale Università di Pisa Sommario Introduzione Base di da', tabella, ennupla, a6ributo, dominio Valori nulli Vincoli di integrità di chiave di ennupla di riferimento

Dettagli

Informatica Industriale Modello informatico: Applicativo Modello relazionale dei dati

Informatica Industriale Modello informatico: Applicativo Modello relazionale dei dati DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello informatico: Applicativo Modello relazionale dei dati Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Linguaggio SQL: fondamenti D B M G

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

Dettagli

Informatica per Statistica Riassunto della lezione del 06/12/2013

Informatica per Statistica Riassunto della lezione del 06/12/2013 Informatica per Statistica Riassunto della lezione del 06/12/2013 Igor Melatti Introduzione alla progettazione logica di basi di dati Questo riassunto è da intendersi come un commento alle slide BD2002-02.PDF

Dettagli

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute

Dettagli

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti

Dettagli

Basi di Dati: Elementi

Basi di Dati: Elementi Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello online - 20 Marzo 2010 Soluzioni Domanda 1) Nell ambito del modello ER illustrare le proprietà che caratterizzano le gerarchie di generalizzazione/specializzazione

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

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

Il modello relazionale. Relazione: tre accezioni. Relazione matematica. Parte II. Il modello relazionale

Il modello relazionale. Relazione: tre accezioni. Relazione matematica. Parte II. Il modello relazionale Il modello relazionale Parte II Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

BASI DI DATI. Esercizi sull algebra relazionale. Docente: Giorgio Giacinto A.A. 2008/2009

BASI DI DATI. Esercizi sull algebra relazionale. Docente: Giorgio Giacinto A.A. 2008/2009 Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercizi sull algebra relazionale Docente: Giorgio Giacinto A.A. 2008/2009

Dettagli