Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a
|
|
- Fabiola Bruno
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi 1 Lezione 10 Semantica dei linguaggi di interrogazione 2 1
2 Linguaggi di interrogazione per basi di dati relazionali Procedurali specificano le modalità di generazione del risultato Dichiarativi specificano le proprietà del risultato 3 Semantica dei linguaggi di interrogazione Calcolo relazionale: dichiarativo SQL: parzialmente dichiarativo Algebra relazionale: procedurale 4 2
3 Calcolo relazionale Una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine Diverse versioni: calcolo relazionale su domini calcolo su ennuple con dichiarazioni di range 5 Calcolo su domini { A1: x1,, An: xn f } Ai sono nomi di attributi xi sono nomi di variabili La lista di coppie Ai : xi viene detta target list (descrive il risultato) f è una formula Formule atomiche sono R(A1: x1,, An: xn), che è vera sui valori di x1 xn che formano una tpla di R, e xi xj, che è vera sui valori di xi e xj che soddisfano 6 3
4 Calcolo su tuple con dichiarazione di range { x1.z1,, xn.zn xi(r1),, xj(rm) f } x1.z1,, xn.zn è la target list xi(r1),, xj(rm) è la range list (dice il campo di variabilità delle variabili) f è una formula, con formule atomiche del tipo xi.zi xj.zj, ad esempio 7 Base di dati per gli esempi Impiegati(Matricola,Nome, Età, Stipendio) Supervisione(Capo, Impiegato) 8 4
5 Esempio 1a Trovare gli impiegati che guadagnano più di 40 milioni { Matricola: m, Nome: n, Età: e, Stipendio: s Impiegati (Matricola: m, Nome: n, Età: e, Stipendio: s) s > 40 } 9 Esempio 1b Trovare gli impiegati che guadagnano più di 40 milioni { i.* i(impiegati) i.stipendio > 40 } 10 5
6 Esempio 2a Trovare nome e matricola degli impiegati che guadagnano più di 40 milioni { Matricola: m, Nome: n Impiegati (Matricola: m, Nome: n, Età: e, Stipendio: s) s > 40 } oppure { Matricola: m, Nome: n e,s(impiegati (Matricola: m, Nome: n, Età: e, Stipendio: s) s > 40) } 11 Esempio 2b Trovare nome e matricola degli impiegati che guadagnano più di 40 milioni { i.(matricola, Nome) i(impiegati) i.stipendio > 40 } 12 6
7 Quantificatori esistenziali e universali Per interrogazioni più complesse, che in algebra ad esempio richiedevano una differenza, servono altri strumenti, Sono intercambiabili x(f)= ( x( (f))) x(f)= ( x( (f))) 13 Quantificatori esistenziali e universali Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di 40 milioni. {Matricola: c, Nome: n Impiegati(Matricola: c, Nome: n, Età: e, Stipendio: s) Supervisione(Capo:c, Impiegato:m) m'( n'( e'( s'( (Impiegati(Matricola:m', Nome:n', Età:e', Stipendio:s') Supervisione(Capo:c, Impiegato:m')) s' > 40))))} 14 7
8 Quantificatori esistenziali e universali Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di 40 milioni. {Matricola: c, Nome: n Impiegati(Matricola: c, Nome: n, Età: e, Stipendio: s) Supervisione(Capo:c, Impiegato:m) m'( n'( e'( s ( Impiegati(Matricola: m', Nome: n', Età: e', Stipendio: s') Supervisione(Capo:c, Impiegato:m') s' 40))))} 15 Quantificatori esistenziali e universali {Matricola: c, Nome: n Impiegati(Matricola: c, Nome: n, Età: e, Stipendio: s) Supervisione(Capo:c, Impiegato:m) m'( n'( e'( s'( Impiegati(Matr: m', Nome: n', Età: e', Stip: s') Supervisione(Capo:c, Impiegato:m') s' 40))))} { i.(matricola, Nome) s(supervisione), i(impiegati) i.matricola=s.capo ( i'(impiegati)( s'(supervisione) (s.capo=s'.capo s'.impiegato=i'.matricola i'.stipendio 40)))} 16 8
9 Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! Le variabili del calcolo dei domini rappresentano singoli valori Nel calcolo su tple rappresentano tple possibilità di scrivere espressioni senza senso (dipendenti dal dominio) A:x, B:y R(A:x) y=y nell'algebra tutte le espressioni hanno un senso (indipendenti dal dominio) 17 Calcolo su tuple, discussione Il calcolo su tuple con dichiarazioni di range non permette di esprimere alcune interrogazioni importanti, in particolare le unioni: R 1 (AB) R 2 (AB) Ogni variabile ha un solo range nel risultato, mentre vorremmo tple sia della prima relazione che della seconda Nota: intersezione e differenza sono esprimibili Per questa ragione SQL (che è basato su questo calcolo) prevede un operatore esplicito di unione, ma non tutte le versioni prevedono intersezione e differenza 18 9
10 Algebra relazionale Algebra = dati + operatori Algebra relazionale: Dati: relazioni Operatori: su relazioni che producono relazioni e possono essere composti 19 Operatori dell'algebra relazionale Operatori su insiemi unione, intersezione, differenza Operatori su relazioni ridenominazione selezione proiezione join (join naturale, prodotto cartesiano, theta-join) 20 10
11 Operatori su insiemi Le relazioni sono insiemi Però i risultati debbono essere relazioni quindi è possibile applicare unione, intersezione, differenza solo a relazioni definite sugli stessi attributi, in modo che il risultato sia una relazione sugli stessi attributi 21 Unione L unione di due relazioni sullo stesso insieme di attributi X è una relazione su X che contiene le tuple sia dell una che dell altra relazione originaria 22 11
12 Unione Laureati triennali Matricola 7274 Nome Rossi Età Neri Verdi Laureati magistrali Matricola Laureati triennali Laureati magistrali Matricola Nome Età 7274 Rossi Neri Verdi Neri 33 Nome Neri Neri Verdi Età Intersezione L intersezione di due relazioni sullo stesso insieme di attributi X è una relazione su X che contiene le tuple appartenenti ad entrambe le relazioni 24 12
13 Intersezione Laureati triennali Laureati magistrali Matricola 7274 Nome Rossi Età 32 Matricola 9297 Nome Neri Età Neri Verdi Neri Verdi Laureati triennali Laureati magistrali Matricola Nome Età 7432 Neri Verdi Differenza La differenza di due relazioni sullo stesso insieme di attributi X, r 1 (X)- r 2 (X) è una relazione su X che contiene le tuple di r 1 che non appartengono anche ad r
14 Differenza Laureati triennali Matricola Nome Età 7274 Rossi Neri Verdi 25 Laureati magistrali Matricola Laureati triennali Laureati magistrali Matricola Nome Età 7274 Rossi Neri Verdi 45 Nome Neri Neri Verdi Età È possibile l unione delle due relazioni seguenti? Paternità Maternità Padre Adamo Adamo Abramo Figlio Abele Caino Isacco Madre Eva Eva Sara Figlio Abele Set Isacco Paternità Maternità?? 28 14
15 Ridenominazione operatore monadico (con un argomento) "modifica lo schema" dell argomento lasciando inalterata l'istanza B1.. B n A 1.. A n (r) 29 Paternità Padre Figlio Adamo Abele Adamo Caino Abramo Isacco Genitore Padre (Paternità) Genitore Padre Adamo Adamo Abramo Figlio Abele Caino Isacco 30 15
16 Genitore Padre (Paternità) Genitore Figlio Adamo Abele Adamo Caino Abramo Isacco Genitore Madre (Maternità) Genitore Figlio Eva Abele Eva Set Sara Isacco Genitore Padre (Paternità) Genitore Madre (Maternità) Genitore Figlio Adamo Abele Adamo Caino Abramo Isacco Eva Abele Eva Set Sara Isacco 31 Selezione operatore monadico produce un risultato che ha lo stesso schema dell argomento e contiene il sottoinsieme delle sue tuple che soddisfano una condizione fissata 32 16
17 Sintassi e semantica data una relazione r(x) F (r) = r F: espressione booleana ottenuta componendo con and, or e not condizioni atomiche del tipo A B oppure A c, con A e B attributi in X con domini compatibili, operatore di confronto (<,>,=..) e c costante compatibile con il dominio di A. r contiene il sottoinsieme delle tuple di r per cui F e vera 33 impiegati che guadagnano più di euro Impiegati Matricola Cognome Filiale Stipendio 7309 Rossi Roma Neri Milano Milano Neri Milano Napoli Neri Napoli 64 Stipendio > (Impiegati) 34 17
18 impiegati che guadagnano più di e lavorano a Milano Impiegati Matricola Cognome Filiale Stipendio Rossi Neri Milano Roma Neri Milano Milano Milano Neri Napoli 64 (Stipendio > 50000) AND (Filiale = 'Milano ) (Impiegati) 35 impiegati che hanno lo stesso nome della filiale presso cui lavorano Impiegati Matricola Cognome Filiale Stipendio Milano Rossi Milano Roma Neri Milano Milano Milano Neri Napoli 64 Cognome = Filiale (Impiegati) 36 18
19 Selezione con valori nulli Impiegati Matricola Cognome Filiale Età 7309 Rossi Roma Neri Milano Bruni Milano NULL Età > 40 (Impiegati) la condizione è vera solo per valori non nulli 37 per riferirsi ai valori nulli esistono forme apposite di condizioni: IS NULL IS NOT NULL Impiegati Matricola Cognome Filiale Età Rossi Neri Milano Roma Bruni Neri Milano NULL Bruni Milano NULL (Età > 40) (Età IS NULL) (Impiegati) 38 19
20 Proiezione operatore monadico produce un risultato che ha parte degli attributi dell argomento e su tali attributi contiene tutte le possibili tuple di valori esistenti nella relazione argomento 39 Sintassi e semantica Sintassi, Y X Y (r(x)) = r Semantica r è una relazione su Y e contiene l insieme delle tuple di r ristrette agli attributi in Y 40 20
21 matricola e cognome di tutti gli impiegati Matricola Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 Matricola, Cognome (Impiegati) 41 cognome e filiale di tutti gli impiegati Matricola Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 Cognome, Filiale (Impiegati) Attenzione: perché c è differenza nella dimensione dei due risultati? 42 21
22 Cardinalità delle proiezioni una proiezione di r contiene al più tante tuple quante ne ha r può contenerne di meno se X è una superchiave di r, allora X (r) contiene esattamente tante tuple quante ne ha r 43 Proiezione e selezione Selezione decomposizione orizzontale Proiezione decomposizione verticale 44 22
23 selezione proiezione 45 Selezione e proiezione Combinando selezione e proiezione, possiamo estrarre interessanti informazioni da una relazione 46 23
24 matricola e cognome degli impiegati che guadagnano più di 50 Matricola Cognome Filiale Stipendio 7309 Rossi Roma Neri Milano Milano Neri Milano Napoli Neri Napoli 64 Matricola,Cognome ( Stipendio > 50 (Impiegati) ) Attenzione: ordine degli operatori 47 Combinando selezione e proiezione, non possiamo però correlare informazioni presenti in relazioni diverse 48 24
25 Join il join è l'operatore più interessante dell'algebra relazionale permette appunto di correlare dati in relazioni diverse Non è un operatore primitivo 49 Join naturale operatore binario (generalizzabile) produce come risultato una relazione tale che Il suo schema ha l unione degli attributi degli argomenti L insieme delle tuple è ottenuto componendo una tupla di ognuno degli operandi per valori uguali degli attributi comuni 50 25
26 Sintassi e semantica R 1 (X 1 ), R 2 (X 2 ) R 1 R 2 è una relazione su X 1 X 2 definita come { t esistono t 1 R 1 e t 2 R 2 con t[x 1 ]=t 1 e t[x 2 ] =t 2 } 51 Join e proiezioni Impiegato Reparto Rossi A Neri B Bianchi B Reparto B C Capo Mori Bruni Impiegato Reparto Capo Neri B Mori Bianchi B Mori Impiegato Reparto Neri B Bianchi B Reparto B Capo Mori 52 26
27 Impiegato Neri Bianchi Verdi Proiezioni e join Impiegato Reparto Capo Neri B Mori Bianchi B Bruni Verdi A Bini Reparto B B A Reparto B B A Impiegato Reparto Capo Neri B Mori Bianchi B Bruni Neri B Bruni Bianchi B Mori Verdi A Bini Capo Mori Bruni Bini 53 R 1 (X 1 ), R 2 (X 2 ) In generale X1 (R 1 R 2 ) R 1 R(X), X = X 1 X 2 ( X1 (R)) ( X2 (R)) R 54 27
28 Relazioni senza attributi comuni La definizione di join funziona ugualmente R 1 (X 1 ), R 2 (X 2 ) R 1 R 2 è una relazione su X 1 X 2 definita come { t esistono t 1 R 1 e t 2 R 2 con t[x 1 ]=t 1 e t[x 2 ] =t 2 } 55 Risultato La relazione risultato contiene sempre un numero di tuple pari al prodotto delle cardinalità degli operandi (le tuple sono tutte combinabili ) Equivale al prodotto cartesiano su tuple 56 28
29 Impiegati Impiegato Reparto Rossi A Neri B Bianchi B Impiegati Reparti Reparti Codice A B Capo Mori Bruni Impiegato Reparto Codice Capo Rossi A A Mori Rossi A B Bruni Neri B A Mori Neri B B Bruni Bianchi B A Mori Bianchi B B Bruni 57 Il prodotto cartesiano, può essere ridotto eseguendo una selezione F (R 1 X R 2 ) L operazione complessiva può venire eseguita tramite un operatore derivato chiamato theta-join e indicato con R 1 F R
30 Perché "theta-join" La condizione F è spesso una congiunzione (AND) di atomi di confronto A 1 A 2 dove è uno degli operatori di confronto (=, >, <, ) e A 1, A 2 sono attributi di relazioni diverse se l'operatore è sempre l'uguaglianza (=) allora si parla di equi-join 59 Impiegati Impiegato Reparto Rossi A Neri B Bianchi B Reparti Codice A B Impiegati Reparto=Codice Reparti Capo Mori Bruni Impiegato Reparto Codice Capo Rossi A A Mori Rossi Neri AB B Bruni Bianchi Neri B AB Bruni Mori Neri B B Bruni Bianchi B A Mori Bianchi B B Bruni 60 30
31 Join naturale ed equi-join Impiegati Impiegato Reparto Reparti Reparto Capo Impiegato,Reparto,Capo ( Impiegati Reparti = I.Reparto Reparto (Impiegati) I.Reparto= Reparto Reparti ) 61 Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi Bianchi Neri Bruni Mori Lupi Supervisione Impiegato Capo
32 Trovare matricola, nome, età e stipendio degli impiegati che guadagnano più di euro Stipendio>40000 (Impiegati) 63 Matricola Nome Età Stipendio Rossi Bianchi Bruni Mori Neri Bruni Lupi Mori Lupi Stipendio>40000 (Impiegati) 64 32
33 Trovare matricola, nome ed età degli impiegati che guadagnano più di euro Matricola, Nome, Età ( Stipendio>40000 (Impiegati)) 65 Matricola Nome Età Stipendio Rossi Bianchi Bruni Mori Neri Bruni Lupi Mori Lupi Matricola, Nome, Età ( Stipendio>40000 (Impiegati) ) 66 33
34 Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi Bianchi Neri Bruni Mori Lupi Supervisione Impiegato Capo Trovare le matricole dei capi degli impiegati che guadagnano più di euro Capo (Supervisione Impiegato=Matricola ( Stipendio>40000 (Impiegati))) 68 34
35 Trovare nome e stipendio dei capi degli impiegati che guadagnano più di euro Nome,Stipendio ( Impiegati Matricola=Capo Capo (Supervisione Impiegato=Matricola ( Stipendio>40000 (Impiegati)))) 69 Trovare le matricole dei capi i cui impiegati guadagnano tutti più di euro Capo (Supervisione) - Capo (Supervisione Impiegato=Matricola ( Stipendio (Impiegati))) 70 35
36 Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi Bianchi Neri Bruni Mori Lupi Supervisione Impiegato Capo Trovare gli impiegati che guadagnano più del proprio capo, mostrando matricola, nome e stipendio dell'impiegato e del capo Matr,Nome,Stip,MatrC,NomeC,StipC ( Stipendio>StipC ( MatrC,NomeC,StipC,EtàC Matr,Nome,Stip,Età (Impiegati) MatrC=Capo (Supervisione Impiegato=Matricola Impiegati))) 72 36
37 Calcolo e algebra Calcolo e algebra sono "equivalenti" per ogni espressione del calcolo relazionale che sia indipendente dal dominio esiste un'espressione dell'algebra relazionale equivalente a essa per ogni espressione dell'algebra relazionale esiste un'espressione del calcolo relazionale equivalente a essa (e di conseguenza indipendente dal dominio) 73 Calcolo e algebra: limiti l'insieme di interrogazioni esprimibili è significativo Ci sono però interrogazioni interessanti non esprimibili, ad es. interrogazioni inerentemente ricorsive, come la chiusura transitiva 74 37
38 Chiusura transitiva Supervisione(Impiegato, Capo) Per ogni impiegato, trovare tutti i superiori (cioè il capo, il capo del capo, e cosi' via) Impiegato Rossi Neri Lupi Capo Mori Lupi Bruni Falchi Impiegato Rossi Neri Lupi Rossi Superiore Mori Lupi Bruni Falchi Falchi 75 Chiusura transitiva Nell'esempio, basterebbe il join della relazione con se stessa, previa opportuna ridenominazione Ma aggiungiamo una nuova ennupla Impiegato Rossi Capo Mori Lupi Impiegato Rossi Neri Superiore Mori Lupi Bruni Neri Bruni Lupi Falchi Lupi Falchi Rossi Falchi Falchi Leoni Lupi Leoni Rossi Leoni 76 38
39 Chiusura transitiva Non esiste in algebra e calcolo relazionale la possibilità di esprimere l'interrogazione che calcoli la chiusura transitiva di una relazione qualunque L operazione si simula con un mumero di join illimitato 77 Equivalenza di espressioni 78 39
40 Equivalenza di espressioni Due espressioni sono equivalenti se producono lo stesso risultato qualunque sia l'istanza attuale della base di dati L'equivalenza è importante in pratica perché i DBMS cercano di eseguire espressioni equivalenti a quelle date, ma meno "costose" 79 Equivalenze importanti (1) Pushing selections down (se A è attributo di R 2 ) A=10 (R 1 R 2 ) = R 1 A=10 ( R 2 ) Riduce in modo significativo la dimensione del risultato intermedio (e quindi il costo dell'operazione) 80 40
41 Equivalenze importanti (2) Pushing projections down (siano dati R 1 (X 1 )er 2 (X 2 )con Y 2 X 2 ) X 1 Y2 (R 1 R 2) = R 1 Y2 ( R 2 ) Riduce in modo significativo la dimensione del risultato intermedio 81 Relazioni derivate 82 41
42 Relazioni derivate Relazioni di base: contenuto autonomo Relazioni derivate: relazioni il cui contenuto è funzione del contenuto di altre relazioni (ed è definito per mezzo di interrogazioni) Due tipi di relazioni derivate: viste materializzate viste virtuali (o viste) 83 Viste materializzate relazioni derivate memorizzate nella base di dati vantaggi: immediatamente disponibili per le interrogazioni svantaggi: ridondanti appesantiscono gli aggiornamenti sono raramente supportate dai DBMS 84 42
43 Viste virtuali Viste virtuali sono supportate dai DBMS (tutti) una interrogazione su una vista viene eseguita "ricalcolando" la vista (o quasi) 85 Esempio Afferenza Impiegato Reparto Direzione Rossi A Reparto Capo Neri B A Mori Bianchi B B Bruni Verdi C C Leoni una vista Supervisione = Impiegato, Capo (Afferenza Direzione) 86 43
44 Interrogazioni sulle viste Sono eseguite sostituendo alla vista la sua definizione: Capo='Leoni' (Supervisione) viene eseguita come Capo='Leoni' ( Impiegato, Capo (Afferenza Direzione)) 87 Viste, motivazioni Strumento di programmazione : si può semplificare la scrittura di interrogazioni: espressioni complesse e sottoespressioni ripetute L'utilizzo di viste virtuali non influisce sull'efficienza delle interrogazioni 88 44
45 Viste come strumento di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: Impiegato,Capo (Afferenza Direzione) Capo ( Impiegato='Rossi' (Afferenza Direzione)) Con la vista: Impiegato,Capo (Supervisione) Capo ( Impiegato='Rossi' (Supervisione)) 89 Con le viste posso evitare di usare l operatore di ridenominazione, per l espressione della slide 74, ad esempio, posso scrivere: Capi := Impiegati Imp.Matr, Imp.Nome, Imp.Stip,Capi.Matr,Capi.Nome, Capi.Stip ( Imp.Stip>Capi.Stip ( Capi Capi.Matr=Capo (Supervisione Impiegato=Imp.Matr Impiegati))) 90 45
46 Estensioni dell algebra 91 Algebra relazionale estesa Il modello relazionale può essere facilmente esteso a comprendere gli operatori SQL non direttamente riconducibili agli operatori algebrici introdotti Questa estensione non modifica il funzionamento del modello 92 46
47 Estensioni (1) Il join esterno estende, con valori nulli, le tuple che verrebbero tagliate fuori da un join interno (o join) esiste in tre versioni: sinistro, destro, completo 93 Join esterno sinistro: mantiene tutte le tuple del primo operando, estendendole con valori nulli, se necessario destro:... del secondo operando... completo: di entrambi gli operandi
48 Estensioni (2) Proiezione generalizzata F1,F2,F3 (E) F1,F2, F3 sono espressioni aritmetiche su attributi di E (che è una qualunque espressione dell algebra) e costanti 95 Conto Cliente Credito Andrea 6000 Andrea 4000 Maria Anna 3000 Filippo 3000 Luigi 5000 Franco 5000 Maria 6000 Andrea Anna 5000 Spese
49 Esempio proiezione Si può scrivere ad esempio Cliente,Credito-Spese (Conto) ed ottenere il seguente risultato 97 Cliente Credito- Spesa Andrea Andrea
50 Estensioni (3) Funzioni aggregate Si possono usare nelle espressioni alcuni nomi di funzioni (operatori) che si applicano a (multi)insiemi e producono un valore come risultato 99 Operatori aggregati sum, count, min, max sum Spese (Conto) count Cliente (Conto) max Credito (Conto) count-distinct Cliente (Conto)
51 Raggruppamento Si possono raggruppare gli elementi di una relazione usando un operatore apposito Cliente G sum(credito) (Conto) Cliente è l attributo su cui si fa il raggruppamento, sum è la funzione aggregata che si applica all attributo Credito, Conto è la relazione su cui si applica il tutto. Si possono avere più attributi a sinistra e più funzioni a destra di G 101 Un altro operatore derivato: divisione Vogliamo trovare i nomi dei clienti che hanno un conto corrente in tutte le filiali di banca di Pisa. Le relazioni sono Branch(bank_name, branch_name, branch_city) Account(branch_name, bank_name, account_number, branch_city) Depositor(account_number, customer_name) CN,BN (depositor account) BN ( BC= Pisa (branch))
52 Cosa si intende CN,BN (depositor account) BN ( BC= Pisa (branch)) Equivale a CN (depositor account) CN (( CN (depositor account) X BN ( BC= Pisa (branch)) - CN,BN (depositor account)) 103 CN (depositor account) X BN ( BC= Pisa (branch) Si combinano tutti i clienti presenti nel data base con le filiali di Pisa; togliendo da questo insieme le coppie (cliente,filiale) presenti nel data base, cioè CN,BN (depositor account) Restano i clenti che hanno un conto in una filiale a Pisa, ma non in tutte. Togliendo dai clienti del data base i clienti ottenuti, restano i clienti che hanno un conto in tutte le filiali di Pisa
53 Definizione Siano r(r) e s(s) relazioni con R S, r s è una relazione su R-S; una tupla t r s iff t R-S (r) t s, t r tale che t [S]= t [S] e t [R-S]= t 105 Si consideri il seguente schema di base di dati Film( CodiceFilm,Titolo, CodiceRegista, Anno) Produzione (CasaProduzione, Nazionalità, CodiceFilm, Costo, Incasso1annoSala) Artista (CodiceAttore, Cognome, Nome, Sesso, DataDiNascita, Nazionalità) Interpretazione (CodiceFilm, CodiceAttore, Personaggio, SessoPersonaggio) Regista (CodiceRegista, Cognome, Nome, Sesso, DataDiNascita, Nazionalità) Noleggio (CodiceFilm, Incasso1annoVideo, Incasso1annoDVD)
54 Formulare in algebra relazionale le seguenti interrogazioni (1) nomi e cognomi dei registi che hanno diretto film che hanno incassato il primo anno di uscita meno nelle sale che per il noleggio di DVD N,C ( N,C,CF ( N,C,CR (Regista) CF,CR (Film)) CF ( Inc1sala<Inc1DVD ( Inc1sala,CF (Produzione) ) Inc1DVD,CF (Noleggio) ) ) 107 Formulare in algebra relazionale le seguenti interrogazioni (2) i titoli dei film i cui attori sono tutti dello stesso sesso 1. Titolo ( Film) - Titolo (Film Sesso<>S ( CF,Sesso (Artista Interpretazione) S Sesso ( CF,Sesso (Artista Interpretazione) ))) 2. ( Titolo ( Film) - Titolo ( Film ( CF ( Sesso=`M` (Artista) Interpretazione)))) ( Titolo ( Film) - Titolo ( Film ( CF ( Sesso=`F` (Artista) Interpretazione))))
55 Formulare in algebra relazionale le seguenti interrogazioni (3) i titoli di film con solamente attori donna che abbiano incassato in sala più del proprio costo Titolo ( CF,Titolo (Film) CF ( Inc1S>Costo (Produzione)) ( CF ( Film) CF ( CA, ( Sesso=`M` ( CA,Sesso (Artista))) CA,CF (Interpretazione))) )
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica I Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Lezione
DettagliCorso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 4 Semantica dei linguaggi
DettagliUn altro operatore algebrico derivato: divisione
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti di laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Un
DettagliLinguaggi per basi di dati
Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Linguaggi di interrogazione per
DettagliCorso 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
DettagliDichiarativi : specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come")
Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Linguaggi di interrogazione per
DettagliAtzeni, 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
DettagliParte III L algebra relazionale
Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2017-2018 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano
DettagliParte 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
DettagliArchitettura standard (ANSI/SPARC) a tre livelli per DBMS. Viste (relazioni derivate) Viste virtuali e materializzate. Viste materializzate
Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno) Relazioni derivate: relazioni il cui contenuto è funzione del contenuto di altre relazioni (definito per mezzo di
DettagliLinguaggi per basi di dati e SQL
Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento
DettagliLinguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione
Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento
DettagliJoin. il Join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 20/03/2006 1
Join il Join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 20/03/2006 1 Prove scritte in un concorso pubblico I compiti sono anonimi e ad ognuno
DettagliAlgebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 2)
Algebra e calcolo relazionale (parte 2) Algebra e valori nulli Persone Nome Età Reddito Aldo 35 15 Andrea 27 21 Maria NULL 42 σ Età>30 (Persone) Quali ennuple compaiono nel risultato? La prima sì, la seconda
DettagliOperatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione
DettagliBasi di dati ALGEBRA E CALCOLO RELAZIONALE
Basi di dati ALGEBRA E CALCOLO RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query")
DettagliLinguaggi 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
DettagliOperatori derivati dagli insiemi
Operatori derivati dagli insiemi Unione L unione fra due relazioni r 1 e r 2 definite sullo stesso schema X si indica con r 1 r 2 ed è una relazione su X contenente le tuple appartenenti a r 1, a r 2 o
DettagliLinguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, ALGEBRA E CALCOLO RELAZIONALE
Linguaggi per basi di dati Atzeni, Ceri, Paraboschi, Torlone asi di dati McGraw -Hill, 1996-2002 Capitolo 3: ALGERA E CALCOLO RELAZIONALE 24/09/2002 operazioni sullo schema DDL: data definition language
DettagliModulo 2 Data Base 3
Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un
DettagliOperatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione
DettagliLinguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Linguaggi per basi di dati tzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: LGER E CLCOLO RELZIONLE 07/06/2005 operazioni sullo schema DDL: data definition language operazioni
DettagliE. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 3)
E. Giunchiglia asi di dati 1 (trasparenze basate su tzeni, Ceri, Paraboschi, Torlone: asi di dati, Capitolo 3) LGER RELZIONLE CLCOLO RELZIONLE DTLOG Linguaggi di interrogazione per basi di dati relazionali
DettagliAggiornamenti e Interrogazioni
Aggiornamenti e Interrogazioni Aggiornamento: inserimento o modifica di dati (una funzione che, data un istanza di basi di dati ne produce un altra) Interrogazione: estrazione di informazioni (una funzione
DettagliLinguaggi 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
DettagliIl theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:
Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la
DettagliEquivalenze di espressioni. Equivalenze. Equivalenze. Atomizzazione delle selezioni ( F 2 (E)) Idempotenza delle proiezioni
di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E1 E2 se E1 R E2 (equivalenza assoluta per ogni schema R L
DettagliInterrogazioni (Query) Esempi. Esempi. Esempi
Interrogazioni (Query Un interrogazione è una funzione E(r che applicata ad istanze r di una base di dati produce una relazione su un dato insieme di attributi X. Le interrogazioni su uno schema di base
DettagliBasi di dati Algebra relazionale Figure ed esempi
asi di dati Algebra relazionale Figure ed esempi 1 Laureati Matricola 7274 Nome Rossi Età 42 7432 9824 Verdi 54 45 Unione Laureati È Specialisti Specialisti Matricola 9297 7432 9824 Matricola Nome Età
DettagliCorso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi Lezione 4 Interrogazioni annidate
DettagliCorso di Informatica
Corso di Informatica Modulo T2 D1.4 Interrogazioni complesse e viste 1 Prerequisiti Elementi di teoria degli insiemi Composizione di operazioni 2 1 Introduzione Gli strumenti dell algebra consentono di
DettagliUniversità 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
DettagliBasi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma
Basi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2007/08 Canale M-Z http://www.dis.uniroma1.it/!degiacomo/didattica/basidati/
DettagliBasi di dati: esercitazione. Paolo Atzeni 10/05/2006
Basi di dati: esercitazione Paolo Atzeni 10/05/2006 Esame del 30/06/2004 Considerare le seguenti relazioni (tutte senza valori nulli) R1(ABC), con vincolo di integrità referenziale fra C e R2 e con cardinalità
DettagliEsempi. Supervisione Impiegato Capo /10/2017 Atzeni-Ceri-Fraternali-Paraboschi-Torlone Basi di dati, Capitolo 3
Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi 34 45 5998 Bianchi 37 38 9553 Neri 42 35 5698 Bruni 43 42 4076 Mori 45 50 8123 Lupi 46 60 Supervisione Impiegato Capo 7309 5998 5698 5698 9553 5698
Dettagli3 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
DettagliLinguaggi per basi di da6. Linguaggi di interrogazione. Algebra relazionale. Operatori dell'algebra relazionale
Linguaggi per basi di da6 tzeni, Ceri, Paraboschi, Torlone asi di da6 LGER E CLCOLO RELZIONLE operazioni sullo schema DDL: data defini6on language operazioni sui da6 DML: data manipula6on language interrogazione
DettagliLinguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.
Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,
DettagliLinguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Linguaggi per basi di dati Atzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: ALGERA E CALCOLO RELAZIONALE 07/06/2005 operazioni sullo schema DDL: data definition language
DettagliL algebra relazionale in RA
L algebra relazionale in RA Gianluca Cima Anno accademico 2018/2019 RA: Un interprete per l Algebra Relazionale Coloro che vogliono scaricare l interprete dell algebra relazionale RA possono accedere al
DettagliEsercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi
Esercitazione 1 Rossi A Neri ianchi A runi Rossi A Neri runi ianchi runi ogni tupla contribuisce al risultato: join completo 1 Un join completo con n x m tuple Rossi A Neri A runi Rossi Rossi runi Neri
DettagliBasi di dati. Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Università di Roma La Sapienza
Basi di dati Maurizio Lenzerini Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2018/2019 http://www.dis.uniroma1.it/ lenzerini/?q=node/44
DettagliALGEBRA RELAZIONALE Esercizi con RelaX. 21/10/2017 Atzeni - Algebra relazionale - RelaX 1
ALGEBRA RELAZIONALE Esercizi con RelaX 21/10/2017 Atzeni - Algebra relazionale - RelaX 1 Un servizio online per esercitazioni in algebra relazionale RelaX http://dbis-uibk.github.io/relax/calc.htm Verrà
DettagliBasi 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
DettagliAccesso ai dati di un DB. Algebra relazionale. Accesso ai dati di un DB. Algebra relazionale
Accesso ai dati di un DB Algebra relazionale Aggiornamento del DB: funzione che, data un istanza del DB, produce un altra istanza del DB, sullo stesso schema Modifica, aggiunta, rimozione tuple Interrogazione
DettagliElementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini
Elementi di Informatica LB Basi di Dati Anno accademico 2007/2008 Prof. Stefano Contadini Elementi di Informatica LB Il Modello Relazionale Introduzione: 1. 1 Il modello Relazionale Proposto da E. F.Codd
DettagliCorso 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
DettagliBasi 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
DettagliLinguaggi di interrogazione
Linguaggi di interrogazione Un interrogazione è una funzione che data una base di dati produce una relazione su un dato schema Linguaggi di interrogazione Procedurali specificano il procedimento di generazione
DettagliTipi 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
DettagliFondamenti 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
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi
DettagliAlgebra 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
DettagliStructured 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
DettagliAlgebra Relazionale.
Algebra Relazionale c.vallati@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di
DettagliInformatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB
Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 4 Accesso ai dati di un DB SQL Accesso ai dati di un DB Aggiornamento
DettagliLinguaggi 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
DettagliEquivalenza 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
DettagliIntroduzione 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
DettagliSQL. 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
DettagliOperatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento
Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple
DettagliBasi 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
DettagliAlgebra Relazionale. Dario Allegra Data Management 1 1
Algebra Relazionale 1 Unione, Intersezione, Differenza Laureati Matricola Cognome Età 7274 Rossi 37 7432 Neri 39 9824 Verdi 38 Dirigenti Matricola Cognome Età 9297 Neri 56 7432 Neri 39 9824 Verdi 38 2
DettagliLezione 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
DettagliOperatori aggregati: COUNT
Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliViste (relazioni derivate)
Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno) Relazioni di base: contenuto autonomo; fisicamente e originariamente contenute nella base di dati Relazioni derivate:
DettagliSQL /10/2016 Basi di dati - SQL 1
SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali
DettagliAlgebra 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
DettagliCorso di. Basi di Dati I. 4. Algebra relazionale
Corso di Basi di Dati 4. Algebra relazionale A.A. 2016 2017 Algebra relazionale L algebra relazionale è un insieme di operazioni che si effettuano su una base di dati relazionale. Lo scopo è quello di
DettagliLinguaggi 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
DettagliCalcolo relazionale. Dr. C. d'amat
Calcolo relazionale Dr. C. d'amat Calcolo relazionale Calcolo relazionale famiglia di linguaggi dichiarativi di interrogazione, basati sul calcolo dei predicati del primo ordine. L istanza di un DB relazionale
DettagliSQL: "storia" 31/05/2006 2
SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli
DettagliALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a
ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2016-2017 ALGEBRA RELAZIONALE Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere informazioni contenute
DettagliFondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 8: Teoria delle dipendenze Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliModello relazionale e algebra relazionale (lucidi integrativi del corso)
Modello relazionale e algebra relazionale (lucidi integrativi del corso) Prof. Andrea Schaerf Basi di dati Dip. di Ingegneria Elettrica, Gestionale e Meccanica Università di Udine Anno Accademico 2014-15
DettagliAlgebra Relazionale.
Algebra Relazionale foglia@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di progettazione
DettagliCorso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 Language Soluzione Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 19/03/2016
DettagliALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a
1 ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2014-2015 Algebra Relazionale Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere le informazioni contenute
DettagliViste come strumenti di programmazione
Viste come strumenti di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: PROJ Impiegato ((Afferenza JOIN Direzione) JOIN REN ImpR,RepR Impiegato,Reparto ( SEL Impiegato='Rossi'
DettagliFiglio Maria. Luigi. Olga Filippo Andrea Aldo Figlio Franco Olga Filippo Andrea Aldo
Maternità Paternità Madre Luisa Luisa Anna Anna Maria Maria Padre Sergio Luigi Luigi Franco Franco Figlio Maria Luigi Olga Filippo Andrea Aldo Figlio Franco Olga Filippo Andrea Aldo Persone Nome Età Andrea
DettagliCorso di Basi di Dati
Corso di Basi di Dati L Algebra Relazionale Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ L algebra relazionale è un linguaggio (procedurale) di interrogazione per basi di dati relazionali.
DettagliSQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)
SQL SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) Esempio 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 50 60 Olga 30 Sergio 85 Luisa 75 Persone Reddito
DettagliL 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)
DettagliIL MODELLO RELAZIONALE
IL MODELLO RELAZIONALE!1 Definizione: I meccanismi per definire una base di dati con il modello relazionale sono l ennupla e la relazione: int, real, boolean e string sono tipi primitivi; se T 1,..., T
DettagliSQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY
SQL SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY Esempio DB 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 Luigi 50 Franco 60 Olga 30 Sergio 85 Luisa
DettagliGestione 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
DettagliEsercizi di Informatica Documentale
Esercizi di Informatica Documentale A.A. 2015/2016 Parte Prima Nota: Laddove si richiede una risposta aperta, rispondere al massimo in tre righe. 1. Che cos è una Base di Dati? 2. Dare la definizione di
DettagliIL LINGUAGGIO SQL LE BASI
IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere
DettagliALGEBRA RELAZIONALE. DB -Algebra Relazionale 1
ALGEBRA RELAZIONALE DB -Algebra Relazionale 1 ESEMPIO DI QUERY NOME MATRICOL INDIRIZZO TELEFONO Mario Rossi 123456 Via Etnea 1 222222 Ugo Bianchi 234567 Via Roma 2 333333 Teo Verdi 345678 Via Enna 3 444444
DettagliQueries su più tabelle
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
DettagliAlgebra relazionale (versione formale )
Algebra relazionale (versione formale ) algebra relazionale (2) Selezione L operatore di selezione, σ, permette di selezionare un sottoinsieme delle tuple di una relazione, applicando a ciascuna di esse
Dettagli<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
DettagliBasi di dati e Relazioni
Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati
DettagliALGEBRA 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