BASI DI DATI LINGUAGGI PER BASI DI DATI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "BASI DI DATI LINGUAGGI PER BASI DI DATI"

Transcript

1 BASI DI DATI LINGUAGGI PER BASI DI DATI Pof. Fabio A. Scheibe Dipatimento di Elettonica e Infomazione Politecnico di Milano tatto da: Atzeni, Cei, Paaboschi, Tolone - Basi di Dati - McGaw-Hill CLASSIFICAZIONE DEI LINGUAGGI LINGUAGGI FORMALI ALGEBRA RELAZIONALE CALCOLO RELAZIONALE DELLE TUPLE DEI DOMINII PROGRAMMAZIONE LOGICA LINGUAGGI PROGRAMMATIVI SQL (Stuctued Quey Language) QBE (Quey By Example)... Fabio A. Scheibe Linguaggi pe DB 1 1

2 CLASSIFICAZIONE DEI LINGUAGGI LINGUAGGI PROCEDURALI SERVONO PER PRESCRIVERE IL PROCESSO ALGORITMICO MEDIANTE IL QUALE VIENE SODDISFATTA LA RICHIESTA (cosa e come) LINGUAGGI NON PROCEDURALI SERVONO PER DESCRIVERE LA FORMULAZIONE DEL RISULTATO (cosa) UN INTERPRETE SI INCARICA DI TROVARE IL MODO MIGLIORE PER RAGGIUNGERLO (come) Fabio A. Scheibe Linguaggi pe DB 2 CLASSIFICAZIONE DEI LINGUAGGI LINGUAGGI DI DEFINIZIONE DEI DATI (DDL) PER CREARE GLI SCHEMI DEI DATI E DEFINIRE LE LORO PROPRIETA LINGUAGGI DI MANIPOLAZIONE DEI DATI (DML) PER AGGIORNARE (CREARE) LE ISTANZE DEI DATI PER L INTERROGAZIONE DEI DATI (p.e. scivee pogammi applicativi) Fabio A. Scheibe Linguaggi pe DB 3 2

3 LINGUAGGI DI MANIPOLAZIONE DEI DATI L OPERAZIONE FONDAMENTALE PER MANIPOLARE UNA BASE DI DATI E L INTERROGAZIONE CON L INTERROGAZIONE SI ESEGUE L ACCESSO AI DATI DESIDERATI AVENDO AVUTO ACCESSO AI DATI DESIDERATI E ANCHE POSSIBILE MODIFICARLI (UPDATE) CANCELLARLI (DELETE) INSERIRNE DI NUOVI (INSERT) AGGIUNGERNE (APPEND) Fabio A. Scheibe Linguaggi pe DB 4 ALGEBRA RELAZIONALE E UN LINGUAGGIO FORMALE PROCEDURALE PER FORMULARE INTERROGAZIONI BASATO SU 5 OPERAZIONI FONDAMENTALI DEFINITO DA E. CODD NEL 1970 Fabio A. Scheibe Linguaggi pe DB 5 3

4 OPERAZIONI DELL ALGEBRA RELAZIONALE OPERAZIONI FONDAMENTALI UNARIE BINARIE selezione poiezione unione diffeenza podotto catesiano σ X DERIVATE BINARIE intesezione join semi-join divisione Fabio A. Scheibe Linguaggi pe DB 6 studente MATR. NOME CITTA C-DIP ESEMPIO 123 Calo Bologna Inf 415 Paola Toino Inf 702 Antonio Roma Log coso C-CORSO TITOLO DOCENTE esame MATR. C-CORSO DATA VOTO 1 matematica Baozzi 2 infomatica Meo /9/ /1/ /9/ Fabio A. Scheibe Linguaggi pe DB 7 4

5 ESEMPIO DI SELEZIONE σ nome = Paola studente E UNA TABELLA CON SCHEMA LO STESSO DI studente (STESSO GRADO) ISTANZA LE TUPLE DI studente CHE SODDISFANO IL PREDICATO DI SELEZIONE (CARDINALITA ) MATR. NOME CITTA C-DIP 415 Paola Toino Inf Fabio A. Scheibe Linguaggi pe DB 8 P SINTASSI DELLA SELEZIONE σ σ P P OPERATORE PREDICATO OPERANDO ESPRESSIONE BOOLEANA DI PREDICATI SEMPLICI OPERAZIONI BOOLEANE PREDICATI SEMPLICI AND (P 1 P 2 ) TRUE, FALSE OR (P 1 P 2 ) temine compaatoe temine NOT ( P 1 ) COMPARATORE =,, <,, >, TERMINE COSTANTE, ATTRIBUTO ESPRESSIONE ARITMETICA DI COSTANTI E ATTRIBUTI Fabio A. Scheibe Linguaggi pe DB 9 5

6 ESEMPIO DI SELEZIONE σ (CITTÀ = Toino ) ((CITTÀ = Roma ) (C-DIP= Log )) studente studente MATR. NOME CITTA C-DIP 123 Calo Bologna Inf 415 Paola Toino Inf 702 Antonio Roma Log Fabio A. Scheibe Linguaggi pe DB 10 ESEMPIO DI PROIEZIONE Π NOME, C-DIP studente E UNA TABELLA CON SCHEMA SOLO GLI ATTRIBUTI NOME E C-DIP (GRADO ) ISTANZA LA RESTRIZIONE DELLE TUPLE DI studente SUGLI ATTRIBUTI NOME E C-DIP (CARDINALITA ) NOME C-DIP Calo Inf Paola Inf Antonio Log Fabio A. Scheibe Linguaggi pe DB 11 6

7 SINTASSI DELLA PROIEZIONE Π ATTR1,, ATTRn FORMALMENTE LA PROIEZIONE ELIMINA I DUPLICATI Π C-DIP studente C-DIP Inf Log NEI SISTEMI IN USO L ELIMINAZIONE DEI DUPLICATI VA RICHIESTA ESPLICITAMENTE Fabio A. Scheibe Linguaggi pe DB 12 OPERAZIONI NON ALGEBRICHE ASSEGNAMENTO SERVE A DARE UN NOME AL RISULTATO DI UN OPERAZIONE ALGEBRICA toinesi = σ (CITTÀ = Toino ) studenti infomatici = σ (C-DIP = inf ) studenti RIDENOMINAZIONE PERMETTE DI MODIFICARE I NOMI DEGLI ATTRIBUTI ρ genitoe <-- pade patenità ρ genitoe <-- made matenità IN QUESTO MODO E POSSIBILE RENDERE COMPATIBILI DOMINII ORIGINARIAMENTE DIVERSI Fabio A. Scheibe Linguaggi pe DB 13 7

8 UNIONE E DIFFERENZA tabella1 tabella2 t1 t2 tabella1 tabella2 t1 t2 tabella1 E tabella2 DEVONO ESSERE COMPATIBILI STESSO GRADO DOMINI ORDINATAMENTE DELLO STESSO TIPO Fabio A. Scheibe Linguaggi pe DB 14 infomatici toinesi E UNA TABELLA CON SCHEMA LO STESSO DI infomatici ISTANZA ESEMPIO DI UNIONE L UNIONE DELLE TUPLE DI infomatici E toinesi MATR. NOME CITTA C-DIP 123 Calo Bologna Inf 415 Paola Toino Inf Fabio A. Scheibe Linguaggi pe DB 15 8

9 ESEMPIO DI DIFFERENZA infomatici toinesi E UNA TABELLA CON SCHEMA LO STESSO DI infomatici ISTANZA LA DIFFERENZA DELLE TUPLE DI infomatici E toinesi MATR. NOME CITTA C-DIP 123 Calo Bologna Inf Fabio A. Scheibe Linguaggi pe DB 16 PRODOTTO CARTESIANO X s E UNA TABELLA CON SCHEMA TUTTI GLI ATTRIBUTI DI E DI s (GRADO ( X s) = GRADO () + GRADO (s)) ISTANZA TUTTE LE POSSIBILI COPPIE DI TUPLE DI E DI s (CARD ( X s) = CARD () * CARD (s)) Fabio A. Scheibe Linguaggi pe DB 17 9

10 ESPRESSIONI ALGEBRICHE CONCATENAZIONE DI PIU OPERAZIONI ALGEBRICHE ESPRIMONO INTERROGAZIONI IN MODO FORMALE CONSENTONO DI ESTRARRE INFORMAZIONI DALLA BASE DI DATI Fabio A. Scheibe Linguaggi pe DB 18 UN ALTRO ESEMPIO DI BASE DI DATI coentista (NOME, VIA, CITTA ) cliente (CORRENTISTA, IMPIEGATO) filiale (NOME, PATRIMONIO, CITTA ) depositi (FILIALE, NUMERO, CORRENTISTA, SALDO) pestiti (FILIALE, NUMERO, CORRENTISTA, QUANTITA ) Fabio A. Scheibe Linguaggi pe DB 19 10

11 cliente coentista ESEMPIO DI USO DI ESPRESSIONI ALGEBRICHE CORRENTISTA IMPIEGATO Rossi Bambilla Feai Ghezzi Feai Feai NOME VIA CITTA Rossi Dante MI Bianchi Vedi RM Nei Po TO Bambilla Oefici MI Feai Vedi TO INTERROGAZIONE FORNIRE I NOMI E LE CITTA DI RESIDENZA DEI CLIENTI DELL IMPIEGATO Feai CLIENTE. CORRENT. 4 CORRENT. CITTA Bambilla MI Feai TO 1 = cliente X coentista CLIENTE. CLIENTE. CORRENT. CORRENT. CORRENT. CORRENT. IMPIEGATO NOME VIA CITTA Rossi Ghezzi Rossi Dante MI Rossi Ghezzi Bianchi Vedi RM Rossi Ghezzi Nei Po TO Rossi Ghezzi Bambilla Oefici MI Rossi Ghezzi Feai Vedi TO Bambilla Feai Rossi Dante MI Bambilla Feai Bianchi Vedi RM Bambilla Feai Nei Po TO Bambilla Feai Bambilla Oefici MI Bambilla Feai Feai Vedi TO Feai Feai Rossi Dante MI Feai Feai Bianchi Vedi RM Feai Feai Nei Po TO Feai Feai Bambilla Oefici MI Feai Feai Feai Vedi TO 1 = cliente X coentista 2 =σ CLIENTE.IMPIEGATO= Feai 1 3 =σ CLIENTE.CORRENT= CORRENT.NOME 2 4 =Π CLIENTE.CORRENT, CORRENT.CITTA 3 Fabio A. Scheibe Linguaggi pe DB 20 INTERSEZIONE tabella1 tabella2 t2 tabella1 E tabella2 DEVONO ESSERE COMPATIBILI E DERIVABILE TRAMITE LA SEGUENTE FORMULA t1 s = - (-s) Fabio A. Scheibe Linguaggi pe DB 21 11

12 ESEMPIO DI INTERSEZIONE infomatici toinesi E UNA TABELLA CON SCHEMA LO STESSO DI infomatici ISTANZA L INTERSEZIONE DELLE TUPLE DI infomatici E toinesi MATR. NOME CITTA C-DIP 415 Paola Toino Inf Fabio A. Scheibe Linguaggi pe DB 22 ESEMPIO DI JOIN studente studente.matr=esame.matr esame E UNA TABELLA CON SCHEMA LA CONCATENAZIONE DEGLI SCHEMI DI studente E esame ISTANZA LE TUPLE OTTENUTE CONCATENANDO QUELLE TUPLE DI studente E esame CHE SODDISFANO IL PREDICATO MATR. NOME CITTA C-DIP 123 Calo Bologna Inf 123 Calo Bologna Inf 702 Antonio Roma Log MATR. C-CORSO DATA VOTO /9/ /1/ /9/ Fabio A. Scheibe Linguaggi pe DB 23 12

13 SINTASSI DEL JOIN 1 2 E EQUIVALENTE ALLA SEGUENTE ESPRESSIONE σ P 1 X 2 SINTASSI DEL PREDICATO DI JOIN ESPRESSIONE CONGIUNTIVA DI PREDICATI SEMPLICI ATTR 1 COMP ATTR 2 ATTR 1 1 ATTR 2 2 COMP =,, <,, >, ATTRIBUTI OMONIMI SONO RESI NON AMBIGUI USANDO LA NOTAZIONE PUNTATA i. ATTR j Fabio A. Scheibe Linguaggi pe DB 24 P EQUI-JOIN E JOIN NATURALE EQUI-JOIN IL PREDICATO AMMETTE SOLO CONFRONTI DI UGUAGLIANZA JOIN NATURALE EQUI-JOIN DI TUTTI GLI ATTRIBUTI OMONIMI SI OMETTE IL PREDICATO SI ELIMINA LA COLONNA RIPETUTA studente esame MATR. NOME CITTA C-DIP C-CORSO DATA VOTO 123 Calo Bologna Inf 123 Calo Bologna Inf 702 Antonio Roma Log 1 7/9/ /1/ /9/ Fabio A. Scheibe Linguaggi pe DB 25 13

14 SINTASSI DEL JOIN NATURALE s = Π R S (.A1=s.A1,,.An=s.An s) {A1,, An} = R S R S = Φ X E ASSOCIATIVA Fabio A. Scheibe Linguaggi pe DB 26 JOIN NATURALE DI TRE TABELLE studente esame coso MATR. NOME CITTA C-DIP C-CORSO DATA VOTO TITOLO DOCENTE 123 Calo Bologna Inf 123 Calo Bologna Inf 702 Antonio Roma Log 1 7/9/ /1/ /9/ matematica infomatica infomatica Baozzi Meo Meo Fabio A. Scheibe Linguaggi pe DB 27 14

15 SEMI-JOIN studente studente.matr=esame.matr esame E EQUIVALENTE ALLA SEGUENTE ESPRESSIONE Π studente.* (studente studente.matr=esame.matr esame) PRODUCE UN SOTTOINSIEME DI studente solo gli studenti che hanno dato almeno un esame studente MATR. NOME CITTA C-DIP 123 Calo Bologna Inf 702 Antonio Roma Log Fabio A. Scheibe Linguaggi pe DB 28 SEMI-JOIN NATURALE studente esame E EQUIVALENTE ALLA SEGUENTE ESPRESSIONE Π studente.* (studente esame) IN QUESTO ESEMPIO IL RISULTATO E UGUALE AL CASO PRECEDENTE studente MATR. NOME CITTA C-DIP 123 Calo Bologna Inf 702 Antonio Roma Log Fabio A. Scheibe Linguaggi pe DB 29 15

16 DIVISIONE s E EQUIVALENTE ALLA SEGUENTE ESPRESSIONE Π R-S - Π R-S ((Π R-S X s) - ) CON S R E UTILE PER ESPRIMERE INTERROGAZIONI CHE CONTENGONO IL QUANTIFICATORE UNIVERSALE X Y W Z a b c d s a b e f W Z X Y b c e f c d = a b e d c d e f e d e d e f a b d e Fabio A. Scheibe Linguaggi pe DB 30 ESEMPIO DI USO DELLA DIVISIONE TROVARE I NOMI DEI CORRENTISTI CHE HANNO UN DEPOSITO IN TUTTE LE FILIALI DI Milano TUTTE LE FILIALI DI Milano 1 = Π NOME (σ CITTA = Milano filiale) I CLIENTI DI CIASCUNA FILIALE 2 = Π FILIALE, CORRENTISTA depositi I CLIENTI DI 2 CHE SONO APPAIATI CON TUTTE LE FILIALI DI 1 3 = 2 1 Fabio A. Scheibe Linguaggi pe DB 31 16

17 ESEMPIO DI ESPRESSIONE COMPLESSA ESTRARRE IL NOME DEGLI STUDENTI CHE HANNO SOSTENUTO GLI ESAMI DI infomatica E matematica LO STESSO GIORNO Π NOME studente (esame σ TITOLO= infomatica coso) MATR=MATRMAT DATA=DATAMAT Π MATR,DATA (esame ρ MATRMAT,DATAMAT <--- MATR,DATA σ TITOLO= matematica coso) Fabio A. Scheibe Linguaggi pe DB 32 ESEMPIO DI ESPRESSIONE COMPLESSA ESTRARRE L ULTIMO ESAME SOSTENUTO DA CIASCUNO STUDENTE. esame - esame MATR=MATRNEW DATA < DATANEW ρ MATRNEW,DATANEW <-- MATR,DATA Π MATR,DATA esame Fabio A. Scheibe Linguaggi pe DB 33 17

18 RAPPRESENTAZIONE DELLE ESPRESSIONI TRAMITE ALBERI OGNI ESPRESSIONE DELL ALGEBRA RELAZIONALE PUO ESSERE RAPPRESENTATA CON UN ALBERO CHE ESPRIME L ORDINE DI VALUTAZIONE DEGLI OPERATORI LA RADICE E POSTA IN ALTO AD OGNI OPERATORE CORRISPONDE UN NODO INTERMEDIO OPERATORI UNARI HANNO UN RAMO IN INGRESSO E UNO IN USCITA OPERATORI BINARI HANNO DUE RAMI IN INGRESSO E UNO IN USCITA GLI OPERANDI (RELAZIONI) CORRISPONDONO ALLE FOGLIE Fabio A. Scheibe Linguaggi pe DB 34 ESEMPIO DI ALBERO NOME DEGLI STUDENTI CHE HANNO SOSTENUTO UN ESAME IL 10/10/00 CON VOTO PARI A 30/30 Π NOME studente σ DATA=10/10/00 VOTO=30/30 esame Π NOME studente σ DATA=10/10/00 VOTO=30/30 esame Fabio A. Scheibe Linguaggi pe DB 35 18

19 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 1 - ELIMINAZIONE DEI PRODOTTI CARTESIANI σ P X P s s VALE SE P E UNA CONGIUNZIONE DI PREDICATI ATTR comp ATTR Fabio A. Scheibe Linguaggi pe DB 36 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 2 - PUSH DELLA SELEZIONE RISPETTO AL JOIN σ P Q σ P s Q s VALE SE P E UN PREDICATO CHE SI APPLICA AI SOLI ATTRIBUTI DI Fabio A. Scheibe Linguaggi pe DB 37 19

20 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 3 - PUSH DELLA PROIEZIONE RISPETTO AL JOIN Π L Π L Q Q s Π LR,J Π LS,J s J SONO GLI ATTRIBUTI NECESSARI A VALUTARE Q LR = L -SCHEMA(s)-J LS = L -SCHEMA()-J Fabio A. Scheibe Linguaggi pe DB 38 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 4 - IDEMPOTENZA DELLA SELEZIONE σ P P = P1 P2 σ P1 σ P2 Fabio A. Scheibe Linguaggi pe DB 39 20

21 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 5 - IDEMPOTENZA DELLA PROIEZIONE Π L L1 = L L2 L Π L1 Π L2 Fabio A. Scheibe Linguaggi pe DB 40 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 6 - PUSH DELLA SELEZIONE RISPETTO ALL UNIONE σ P σ P σ P s s Fabio A. Scheibe Linguaggi pe DB 41 21

22 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 7 - PUSH DELLA SELEZIONE RISPETTO ALLA DIFFERENZA σ P σ P σ P σ P s s s Fabio A. Scheibe Linguaggi pe DB 42 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 8 - PUSH DELLA PROIEZIONE RISPETTO ALL UNIONE Π L Π L Π L s s ATTENZIONE: IL PUSH DELLA PROIEZIONE RISPETTO A DIFFERENZA E INTERSEZIONE NON VALE Fabio A. Scheibe Linguaggi pe DB 43 22

23 EQUIVALENZA DI ESPRESSIONI ALGEBRICHE 9 - COMMUTAZIONE DI JOIN E UNIONE 1 2 s1 s2 1 s1 1 s2 2 s1 2 s2 Fabio A. Scheibe Linguaggi pe DB 44 FORMULE UTILI = = - = Φ σ P = σ P = σ P - σ P = σ P σ P1 σ P2 = σ P1 P2 σ P1 σ P2 = σ P1 P2 σ P1 - σ P2 = σ P1 P2 σ P Φ = Φ Π L Φ = Φ X Φ = Φ Φ = Φ = Φ = Φ Φ = Φ Φ = Φ Fabio A. Scheibe Linguaggi pe DB 45 23

24 OTTIMIZZAZIONE ALGEBRICA TRA TUTTE LE RAPPRESENTAZIONI EQUIVALENTI CONVIENE SCEGLIERE QUELLA MENO COSTOSA DA ESEGUIRE MINIMIZZARE LA DIMENSIONE DEI RISULTATI INTERMEDI UTILIZZARE, DOVE POSSIBILE, LE TRASFORMAZIONI DI PUSH (2,3,6,7,8) USARE LE TRASFORMAZIONI DI IDEMPOTENZA (4, 5) PER GENERARE NUOVE SELEZIONI E PROIEZIONI CERCARE DI COMBINARE I PRODOTTI CARTESIANI CON LE SELEZIONI I CUI PREDICATI APPARTENGONO AD ENTRAMBI GLI OPERANDI (DIVENTANO JOIN) Fabio A. Scheibe Linguaggi pe DB 46 DIMENSIONI DEI RISULTATI INTERMEDI VALUTARE IN GENERALE LE DIMENSIONI DEI RISULTATI INTERMEDI E OPERAZIONE COMPLESSA SI USANO METODI APPROSSIMATI FACENDO RICORSO AD OPERAZIONI STATISTICHE SI SUPPONE UNIFORME LA DISTRIBUZIONE DEI VALORI NEI DOMINI E NON CORRELATI I DATI RELATIVI AI PREDICATI NELLE INTERROGAZIONI Fabio A. Scheibe Linguaggi pe DB 47 24

25 DIMENSIONI DEI RISULTATI INTERMEDI PARAMETRI QUANTITATIVI CARD( i ) NUMERO DI TUPLE DI i SIZE (t i ) DIMENSIONE (in byte) DELLA TUPLA DI i SIZE (A j ) DIMENSIONE (in byte) DELL ATTRIBUTO A j DI i VAL (A j ) NUMERO DI VALORI DISTINTI DELL ATTRIBUTO A j DI i S I = 1/ VAL (A j ) LA SELETTIVITA DEL DOMINIO SUL QUALE E DEFINITO L ATTRIBUTO A j Fabio A. Scheibe Linguaggi pe DB 48 DIMENSIONI DEI RISULTATI INTERMEDI OPERAZIONE DI SELEZIONE CARD(isultato) = S P * CARD(opeando) S P = SELETTIVITA DEL PREDICATO P = A B P = A B P = A S P = S A * S B S P = S A + S B -S A * S B S P = 1 - S A SIZE(isultato) = SIZE(opeando) VAL(A i ) = 1 i P VAL(A i ) = col (CARD(opeando), VAL (A i ), CARD(isultato)) i P Fabio A. Scheibe Linguaggi pe DB 49 25

26 ESEMPIO DI OTTIMIZZAZIONE DATO LO SCHEMA (A,B,C) s(c,d,e) t(d,e,f,g) SI OTTIMIZZI L ESPRESSIONE Π B σ (.C=s.C) (s.d=t.d) (.A=1) (.B>t.F) X s X t Fabio A. Scheibe Linguaggi pe DB 50 ESEMPIO DI OTTIMIZZAZIONE Π B σ (.C=s.C) (s.d=t.d) (.A=1) (.B>t.F) X s X t Π B Π BC Π FC (.C=s.C) (B >F) σ A=1 Π DC Π DF s t Fabio A. Scheibe Linguaggi pe DB 51 26

27 MINIMA ESPRESSIONE CONTENITORE (CONTAIN VIEW) DATE n INTERROGAZIONI SU UNA BASE DI DATI CONSENTE DI ESTRARNE I RISULTATI MEDIANTE SELEZIONI E PROIEZIONI SU DI ESSA DATO LO SCHEMA (A,B,C) s(b,c,d,e,f) t(d, G) SI RICAVI LA CONTAIN VIEW PER LE INTERROGAZIONI 1) Π.C,G σ (A=1) (.B=s.B) (s.d=t.d) (E=1) (G>3) X s X t 2) Π.C,F σ (.C>G) (A=1) (E=1) (F>3) (G>2) (s.d=t.d (.B=s.B)) X s X t Fabio A. Scheibe Linguaggi pe DB 52 ESTRAZIONE DELLA CONTAIN VIEW RICERCA DELLA MASSIMA SOTTOESPRESSIONE COMUNE (MSE) Π CGF Π BC Π BGF σ A=1 Π DF σ G>2 σ E=1 s t Fabio A. Scheibe Linguaggi pe DB 53 27

28 CALCOLO DELLE INTERROGAZIONI MEDIANTE LA MSE 1) 2) Π CG Π CF σ G>3 σ G>G F>3 MSE MSE Fabio A. Scheibe Linguaggi pe DB 54 CALCOLO RELAZIONALE E UNA FAMIGLIA DI LINGUAGGI FORMALI DICHIARATIVI (NON PROCEDURALI) PER FORMULARE INTERROGAZIONI DUE TIPI PRINCIPALI CALCOLO RELAZIONALE DELLE TUPLE (TRC) CALCOLO RELAZIONALE DEI DOMINI (DRC) HA UN POTERE ESPRESSIVO PARI A QUELLO DELL ALGEBRA RELAZIONALE Fabio A. Scheibe Linguaggi pe DB 55 28

29 DEFINIZIONE FORMALE DEL TRC FORMA STANDARD { t p(t) } (TUTTE LE TUPLE t PER LE QUALI E VERA p(t)) p(t) E UNA FORMULA COSTRUITA TRAMITE ATOMI ATOMI t t 1 [A 1 ] comp t 2 [A 2 ] t[a] comp k COMPOSIZIONE DI FORMULE BEN FORMATE (WFF) UN ATOMO E UNA WFF SE p E UNA WFF, LO SONO ANCHE p E (p) SE p1 E p2 SONO WFF, LO SONO ANCHE p1 p2, p1 p2, p1 p2 SE p E UNA WFF IN CUI s E UNA VARIABILE, LO SONO ANCHE s (p(s)) E s (p(s)) Fabio A. Scheibe Linguaggi pe DB 56 PROPRIETA DEL TRC p1 p2 ( p1 p2) (DE MORGAN) t (p(t)) t ( p(t)) p1 p2 p1 p2 FORMULE UNSAFE { t t } FORNISCE UN RISULTATO INFINITO SI RESTRINGE LA FORMULAZIONE DEL CALCOLO DELLE FORMULE AI DOMINII ATTIVI LE TUPLE CHE SODDISFANO UNA FORMULA POSSONO ESSERE COMPOSTE SOLAMENTE DA VALORI CHE COMPAIONO ESPLICITAMENTE NELLA FORMULA IN TUPLE DI RELAZIONI MENZIONATE NELLA FORMULA Fabio A. Scheibe Linguaggi pe DB 57 29

30 ESEMPIO DI TRC NOME DEGLI STUDENTI CHE HANNO PRESO 30 IN matematica { t t1 studente, t2 esame, t3 coso ( t[nome] = t1[nome] t1[matr] = t2[matr] t2[c-corso] = t3[c-corso] t2[voto] = 30 t3[titolo] = matematica )} Fabio A. Scheibe Linguaggi pe DB 58 ESEMPIO DI TRC MATRICOLA DEGLI STUDENTI CHE HANNO SOSTENUTO matematica MA NON basi di dati { t t1 esame, t2 coso ( t[matr] = t1[matr] t1[c-corso] = t2[c-corso] t2 [TITOLO] = matematica ) ( t3 esame, t4 coso (t[matr] = t3[matr] t3[c-corso] = t4[c-corso] t4[titolo] = basi di dati )) } Fabio A. Scheibe Linguaggi pe DB 59 30

31 EQUIVALENZA TRA ALGEBRA E TRC E SUFFICIENTE MOSTRARE CHE SI POSSONO REALIZZARE I 5 OPERATORI FONDAMENTALI SELEZIONE σ A=1 { t t1 ( t1[a] = 1 t=t1) } PROIEZIONE Π AC { t t1 ( t[a,c] = t1[a,c]) } PRODOTTO CARTESIANO (A,B,C) X s(d,e,f) { t t1, t2 s ( t[a,b,c] = t1[a,b,c] t[d,e,f] = t2[d,e,f] ) } Fabio A. Scheibe Linguaggi pe DB 60 EQUIVALENZA TRA ALGEBRA E TRC UNIONE s { t t1 t2 s ( t=t1 t=t2) } DIFFERENZA - s { t t1 t=t1 ( t2 s, t=t2) } ESEMPIO DI JOIN (A,C) A=B s(b,d) { t t1, t2 s ( t[a,c] = t1[a,c] t[b,d] = t2[b,d] t[a]=t[b]) } Fabio A. Scheibe Linguaggi pe DB 61 31

32 σ X Fabio A. Scheibe Linguaggi pe DB 62 32

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

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

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

Basi di dati. Una visione d insieme. Classificazione. Linguaggi di interrogazione. Algebra relazionale. selezione σ

Basi di dati. Una visione d insieme. Classificazione. Linguaggi di interrogazione. Algebra relazionale. selezione σ a linguaggi formali Classificazione Basi di dati Linguaggi di interrogazione Docente: tefano Paraboschi parabosc@elet.polimi.it Algebra relazionale Calcolo relazionale Programmazione logica b linguaggi

Dettagli

ALGEBRA RELAZIONALE RIEPILOGO

ALGEBRA RELAZIONALE RIEPILOGO ALGEBRA RELAZIONALE RIEPILOGO PROIEZIONE: (notazione ) Operatore unario per estrarre colonne da una relazione: lista_attributi (R) Lo schema del risultato contiene i soli attributi contenuti in lista_attributi.

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

Elementi di Algebra Relazionale

Elementi di Algebra Relazionale Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

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

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

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

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

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

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

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari Calcolo Relazionale Basi di dati e sistemi informativi 1 Calcolo Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Calcolo Relazionale Basi di dati e sistemi informativi

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

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

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

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

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni e identificatori Codice (0,1) (1,1) Dirige Informatica Lezione 8 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Cognome

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale 1 Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981 Si basa sul concetto matematico di relazione,

Dettagli

Correttezza. Esempi di TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC

Correttezza. Esempi di TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC Esempi di TRC Matricole degli studenti che hanno sostenuto matematica ma non basi di dati { t t1 ESAME, t2 CORSO ( t[matr]=t1[matr] t1[codcorso]=t2[codcorso] t2[titolo]= matematica ) ( t3 ESAME, t4 CORSO

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

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

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè

Dettagli

Soluzione di equazioni quadratiche

Soluzione di equazioni quadratiche Soluzione di equazioni quadratiche Soluzione sulla Retta Algebrica Inseriamo sulla Retta Algebrica le seguenti espressioni polinomiali x e x 3 e cerchiamo di individuare i valori di x per i quali i punti

Dettagli

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

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Gli operatori relazionali

Gli operatori relazionali Gli operatori relazionali Agiscono su una o più relazioni per ottenere una nuova relazione (servono a realizzare le interrogazioni sul database) Ci sono tre operazioni fondamentali per i database relazionali:

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

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

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi Informatica Basi di dati parte 3 Basi di dati relazionali: relazioni, tabelle, chiavi, vincoli Lezione 9 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

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

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap. 2.1.4 2.2b: RELAZIONI E BASI DI DATI Atzeni, cap. 2.1.4 Il modello è basato su valori Una Base di Dati è generalmente costituita da più di una Tabella Le corrispondenze fra dati presenti in tabelle diverse sono

Dettagli

logica dei predicati

logica dei predicati Calcolo relazionale Calcolo relazionale: logica dei predicati, dove la semantica di ogni predicato esprime una condizione sui dati. E un linguaggio di query, dichiarativo: il risultato è dato da una descrizione

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

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

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

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine Calcolo relazionale Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine calcolo Specifica (èla base relazionale su tuple le di proprietà molti con

Dettagli

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

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

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

Secondo Compitino di Basi di Dati

Secondo Compitino di Basi di Dati Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per

Dettagli

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

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione Normalizzazione Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Normalizzazione Introduzione La normalizzazione è un procedimento che, a partire da uno schema relazionale

Dettagli

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

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

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

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

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

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

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

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

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Basi di Dati e Sistemi Informativi. Algebra Relazionale

Basi di Dati e Sistemi Informativi. Algebra Relazionale Basi di Dati e Sistemi Informativi Algebra Relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione L algebra relazionale è un linguaggio procedurale: le operazioni vengono

Dettagli

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

Basi di dati. Le funzionalità del sistema non vanno però ignorate Basi di dati La progettazione di una base di dati richiede di focalizzare lo sforzo su analisi, progettazione e implementazione della struttura con cui sono organizzati i dati (modelli di dati) Le funzionalità

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

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

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

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

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

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

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

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

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa. Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( ) Algebra di Boole L algebra di Boole prende il nome da George Boole, matematico inglese (1815-1864), che pubblicò un libro nel 1854, nel quale vennero formulati i principi dell'algebra oggi conosciuta sotto

Dettagli

Interrogazioni complesse. SQL avanzato 1

Interrogazioni complesse. SQL avanzato 1 Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

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

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

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

SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13 SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Interrogazioni nidificate Interrogazioni nidificate 2 Si ottiene una interrogazione nidificata quando un interrogazione

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

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE MODELLO RELAZIONALE Definizione di relazione Schema e istanza Chiave Valori nulli Predicati e vincoli di integrità Vincolo di integrità referenziale cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Dettagli

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

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

Dettagli

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

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

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI Prof. Fabio A. Schreiber Dipartimento di Elettronica e Informazione Politecnico di Milano ERRORI DI PROGETTAZIONE INSERIMENTO DI ELEMENTI RIDONDANTI SPRECO

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

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 6: Potenza espressiva del calcolo Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! espressioni

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Il modello relazionale è stato introdotto nel 1970 da E.F. Codd. Soltanto a metà degli anni ottanta ha trovato una buona diffusione sul mercato, in quanto all epoca della sua introduzione

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : (1) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Dettagli

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

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

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Structured Query Language parte 1

Structured Query Language parte 1 Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe

Dettagli

4 SQL : Interrogazioni nidificate

4 SQL : Interrogazioni nidificate Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno NORMALIZZAZIONE DI SCHEMI RELAZIONALI Prof.ssa Rosalba Giugno PROBLEMA GENERALE La progettazione concettuale e logica produce uno schema relazionale che rappresenta la realta dei dati nella nostra applicazione.

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

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

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di

Dettagli