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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 a linguaggi formali Classificazione Basi di dati Linguaggi di interrogazione Docente: tefano Paraboschi Algebra relazionale Calcolo relazionale Programmazione logica b linguaggi programmativi QL: tructured Query Language QBE: Query By Example Algebra relazionale Una visione d insieme definita da Codd (70) molto utile per imparare a formulare query insieme minimo di 5 operazioni che danno l'intero potere espressivo del linguaggio OPEAZIONI FONDAMENTALI UNAIE BINAIE selezione σ proiezione unione differenza prodotto X cartesiano intersezione DEIVATE BINAIE join semi-join 4 Esempio : gestione degli esami universitari studente MAT NOME CITTA oma C-DIP esame corso MAT COD- DATA VOTO COD- TITOLO DOCENTE COO COO 0 matematica Barozzi informatica Meo 5 elezione σ ='' TUDENTE e' una tabella (priva di nome) con schema : lo stesso schema di TUDENTE istanza : le tuple di TUDENTE che soddisfano il predicato di selezione 45 6

2 intassi del predicato di selezione Esempio di selezione espressione booleana di predicati semplici operazioni booleane : AND (P AND P) ( ) O (P O P) ( ) comparatore : =,!=, <, <=, >, >= σ (='') O ((='oma') AND NOT (= ')) TUDENTE NOT (P) ( ) predicati semplici : TUE, FALE termine comparatore termine termine : costante, attributo espressione aritmetica di costanti e attributi 7 MAT NOME CITTA oma C-DIP 8 Proiezione Proiezione e duplicati Π, TUDENTE è una tabella (priva di nome) con schema : gli attributi e istanza : la restrizione delle tuple sugli attributi e 9 nel modello formale la proiezione elimina i duplicati Π TUDENTE nel modello informale (e nei sistemi) la eliminazione dei duplicati va richiesta esplicitamente 0 Assegnamento serve per dare un nome al risultato di una espressione algebrica non fa parte delle operazioni algebriche INFOMATICI = σ CDIP='' TOINEI = σ ='' TUDENTI TUDENTI UNIONE E DIFFEENZA tabella tabella tabella tabella tabella E tabella DEVONO EEE COMPATIBILI TEO GADO DOMINI ODINATAMENTE DELLO TEO TIPO t t t t

3 Unione Differenza INFOMATICI TOINEI è una tabella (priva di nome) con schema : lo schema di INFOMATICI istanza : la unione delle tuple di INFOMATICI e TOINEI 45 Per quanto riguarda le istanze, è commutativa INFOMATICI - TOINEI è una tabella (priva di nome) con schema : lo schema di INFOMATICI istanza : la differenza delle tuple di INFOMATICI e TOINEI Attenzione: non è commutativa 4 Prodotto cartesiano è una tabella (priva di nome) con schema : gli attributi di e (grado(x)= grado()+grado()) istanza : tutte le possibili coppie di tuple di e (card(x)=card()*card()) (A,B) A a b B (C,D) C c b a D Esempio x (A,B,C,D) A a a a b b b B C c b a c b a D 5 6 Intersezione TABELLA TABELLA Come gli altri operatori insiemistici, si può fare se TABELLA e TABELLA sono compatibili Derivabile tramite la seguente formula: Intersezione INFOMATICI TOINEI è una tabella (priva di nome) con schema : lo schema di INFOMATICI istanza : la intersezione delle tuple di INFOMATICI e TOINEI = - ( - )

4 Join TUDENTE TUDENTE.=EAME. EAME è equivalente alla seguente espressione (operatore derivato): σ TUDENTE.=EAME. TUDENTE EAME Join TUDENTE TUDENTE.=EAME. EAME produce una tabella (priva di nome) con schema : la concatenazione degli schemi di TUDENTE e EAME istanza: le tuple ottenute concatenando quelle tuple di TUDENTE e di EAME che soddisfano il predicato attributi omonimi sono resi non ambigui usando la notazione puntata : EAME., TUDENTE. TUDENTE. EAME. Cod- Data Voto oma intassi del predicato di join Join naturale espressione congiuntiva di predicati semplici: ATT comp ATT ove ATT appartiene a TAB ATT appartiene a TAB comp: =,!=, <, <=, >, >= EQUI-JOIN : soli confronti di uguaglianza equi-join di tutti gli attributi omonimi (si omette il predicato, si elimina la colonna ripetuta) TUDENTE EAME 70 oma Cod- Data Voto Join naturale di tre tabelle emi-join TUDENTE `< TUDENTE.=EAME. EAME 70 TUDENTE EAME COO oma Cod- Data Voto Titolo matem infor infor Docente barozzi meo meo è equivalente alla seguente espressione (operatore derivato): Π TUDENTE.* (TUDENTE ` TUDENTE.=EAME. EAME ) Produce come risultato un sottoinsieme di TUDENTE 70 oma 4

5 emi-join naturale TUDENTE `< EAME è equivalente alla seguente espressione: Π TUDENTE.* ( TUDENTE ` EAME ) E equivalente alla query precedente Espressioni algebriche Concatenazione di più operazioni algebriche Esprimono interrogazioni in modo formale Consentono di estrarre informazioni dai dati 70 oma 5 6 elezione e proiezione oma quali studenti sono iscritti al diploma di informatica? Π σ ='' TUDENTE NOME elezione e proiezione oma quali studenti di istica non sono di Milano? Π σ =''!= 'Milano TUDENTE NOME 7 8 Esempio : gestione degli esami universitari icordiamo anche che... TUDENTE TUDENTE a` EAME a` COO oma EAME COO Cod- Data Voto Cod Titolo Docente matematica Barozzi informatica Meo 70 oma Cod- Data Voto Titolo matem infor infor Docente barozzi meo meo

6 elezione, proiezione e join quali studenti hanno preso 0 in matematica? elezione, proiezione e join quali studenti hanno preso 0 in matematica? Cod- Data Voto 0 Titolo matem Docente barozzi Π σ Voto=0 Titolo='matematica (TUDENTE EAME COO) infor meo 70 oma 0 infor meo Equivalenza di espressioni quali studenti hanno preso 0 in matematica? TUDENTE oma EAME COO Cod- Data Voto Cod- Titolo Docente 0 matematica Barozzi informatica Meo Equivalenza di espressioni quali studenti hanno preso 0 in matematica? Π ( TUDENTE (σ Voto=0 EAME) (σ Titolo='matematica' COO)) equivalente a: Π σ Voto=0 Titolo='matematica (TUDENTE EAME COO) 4 elezione, proiezione e join quali professori hanno esaminato? elezione, proiezione e join quali professori hanno esaminato? Cod- Data Voto 0 Titolo matem Docente barozzi Π Docente σ = '' (TUDENTE EAME COO) infor meo 70 oma 0 infor meo Docente Meo 5 6 4

7 Equivalenza di espressioni Equivalenza di espressioni TUDENTE oma EAME COO Cod- Data Voto Cod- Titolo Docente 0 matematica Barozzi informatica Meo 7 quali professori hanno esaminato? Π Docente (COO `U (EAME `U σ = '' TUDENTE)) equivalente a: Π Docente σ = '' (TUDENTE `U EAME `U COO) 8 Espressioni con unione e differenza estrarre la matricola degli studenti romani oppure degli studenti che hanno sostenuto un esame il giorno 8--0 (Π σ ='oma' TUDENTE) (Π σ Data=8--0 EAME) Espressioni con unione e differenza estrarre la matricola degli studenti che hanno preso almeno un voto superiore a 8 e non sono mai scesi sotto il 5 (Π σ Voto>=8 EAME) - (Π σ Voto<5 EAME) Espressioni complesse estrarre il nome degli studenti che non hanno mai preso meno di 8 Π TUDENTE `U ( Π EAME - Π σ Voto<8 EAME) spiegazione: prima trovo le matricole di tutti gli studenti meno le matricole di coloro che hanno preso meno di 8, poi Espressioni complesse estrarre il nome degli studenti che hanno sostenuto informatica e matematica lo stesso giorno Π TUDENTE `U (( EAME `< σ Titolo= informatica COO ) `< = Data = Data (EAME `< σ Titolo= matematica COO )) spiegazione: prima trovo le matricole di coloro che hanno dato i due esami nello stesso giorno, poi trovo i loro nomi. trovo i loro nomi. 4 4

8 Espressioni complesse estrarre l ultimo esame di ciascuno studente EAME - (EAME `< = Data < Data EAME ) spiegazione: prima trovo gli esami che non sono ultimi, cioè che sono seguiti da qualche esame a pari studente in data superiore, poi sottraggo da tutti gli esami questi esami non ultimi e trovo gli appresentazione delle espressioni tramite alberi Ogni espressione dell algebra relazionale può essere rappresentata in modo grafico da un albero, che esplicita l ordine di valutazione degli operatori Ogni operatore corrisponde a un nodo operatori unari con un ramo in ingresso e uno in uscita operatori binari con due rami in ingresso e uno in uscita ultimi esami di ciascuno studente 4 44 Esempio di albero Π `U Trasformazioni di equivalenza per espressioni algebriche ) Eliminazione dei prodotti cartesiani TUDENTE σ Data=0/0/00 Voto=0 `U P EAME Corresponde a: Π TUDENTE `U Vale se p è una congiunzione di predicati del tipo ATT comp ATT `U σ Data=0/0/00 Voto=0 EAME Trasformazioni di equivalenza per espressioni algebriche ) Push della selezione rispetto al join Trasformazioni di equivalenza per espressioni algebriche ) Push della proiezione rispetto al join `U Q `U Q Vale se p è un predicato che si applica ai soli Π L `U Q Π L `U Q Π L Π L J e J sono gli attributi DI e necessari a valutare Q L = L - schema() + J attributi di 47 L = L - schema() + J 48

9 Esempio ) Push della proiezione rispetto al join Trasformazioni di equivalenza per espressioni algebriche 4) Idempotenza della selezione Π ABD B=E Π ABD B=E (A,B,C) (D,E,F,G) Π AB Π DE L=ABD J=B J=E L=AB P = P P L=DE Trasformazioni di equivalenza per espressioni algebriche 5) Idempotenza della proiezione Trasformazioni di equivalenza per espressioni algebriche 6) Push della selezione rispetto all unione Π L Π L Π L L = L L L 5 5 Trasformazioni di equivalenza per espressioni algebriche 7) Push della selezione rispetto alla differenza Trasformazioni di equivalenza per espressioni algebriche 8) Push della proiezione rispetto all unione 5 Π L Π L Π L Attenzione: non vale il push della proiezione rispetto alla differenza e all intersezione 54

10 Trasformazioni di equivalenza per espressioni algebriche 9) Commutazione di join e unione = = = Formule utili = Π L = = = = σ P = = = = 55 = P = P = σ P P = = 56 Ottimizzazione algebrica Tra tutte le rappresentazioni equivalenti, conviene scegliere quella meno costosa da eseguire Criterio informale: minimizzare la dimensione dei risultati intermedi Tecnica: utilizzare dove possibile le trasformazioni di push (,, 6, 7, 8); usare le trasformazioni di idempotenza (4, 5) per generare nuove selezioni e proiezioni 57 Esempio di ottimizzazione i ha lo schema: (A,B,C) (C,D,E) T(D,E,F,G) i deve ottimizzare l espressione algebrica: Π B σ (.C=.C) (.D=T.D) (.A=) (.B>T.F) T 58 Esempio di ottimizzazione Con la rappresentazione ad albero, si ottiene: Π B σ (.C=.C) (.D=T.D) (.A=) (.B>T.F) Esempio di ottimizzazione Applicando le trasformazioni, si ottiene: Π B (.C=.C) (.B>T.F) σ A= Omettiamo (.D=T.D) T T 59 60

11 Esempio di ottimizzazione Aggiungendo le proiezioni, si ottiene: Π.B ipetere con: Esercizio Π B (.C=.C) (.B>D.F) σ (.C=.C) (.D=T.D) (.A=) (.B>T.F) Π BC Π FC σ A= Π DC Π DF T T 6 6 Esercizi di ottimizzazione ) i ha lo schema: (A,B) (A,B) Ottimizzare l espressione algebrica: σ (.A=.A) (.A>) (.A=) Esercizi di ottimizzazione ) i ha lo schema: (A,B,C) (C,D,E) T(C,D,E) Ottimizzare l espressione algebrica: Π AD σ (.C=.C) (.E=) (.B=) (.B>.D) ( ( T)) Il risultato è una relazione vuota, perchè il predicato è una CONTADDIZIONE!!!! 6 64 Esempio di ottimizzazione Con la rappresentazione ad albero, si ottiene: Π B σ (.C=.C) (.B>.D) (.E=) (.B=) Esempio di ottimizzazione Applicando le trasformazioni, si ottiene: Π B (.C=.C) (.B>.D) - - σ (B=) T σ E= T 65 66

12 Esempio di ottimizzazione agionando sui predicati, si ottiene: Π B (.C=.C) Esempio di ottimizzazione Aggiungendo le proiezioni, si ottiene: Π B Π BC Π C σ (B=) - σ (B=) - σ (E=) (D<) T σ (E=) (D<) T icerca della minima espressione contenitore (contain-view) Date n query, è un espressione che consente di estrarre i risultati delle n query tramite selezioni e proiezioni su di essa Esempio: (A,B,C) (B,C,D,E,F) T(D,G) )Π.C,G σ (A=) (.B=.B) (.D=T.D) (E=) (G>) T )Π.C,F σ (.C>G) (A=) (E=) (F>) (G>) (.D=T.D) (.B=.B) T 69 Estrazione della contain-view La massima sub espressione comune (ME): Π CGF Π BC σ A= Π BGF Π DF σ E= σ G> T 70 Calcolo delle query tramite la ME Calcolo relazionale : Π CG σ G> ME : Π CF σ C>G F> ME Una famiglia di linguaggi formali Due tipi principali Calcolo delle tuple (TC, Tuple elational Calculus) Calcolo dei domini (DC, Domain elational Calculus) TC in due versioni: Con tuple ristrette sul range Con tuple arbitrarie Guarderemo il TC con tuple arbitrarie (anche se non è descritto nel libro!) 7 7

13 TC è dichiarativo Esprime cosa si vuole nel risultato ma non come ottenerlo E diverso dall algebra, che è procedurale La dichiaratività è una caratteristica tipica dei linguaggi relazionali Definizione formale del TC Forma standard: { t p(t) } p(t) è una formula, costruita tramite atomi Atomi t t [A] comp t [A] t [A] comp k comp e un comparatore: =, <>, >, >=, <, <= k è una costante t[a] è una restrizione sull attributo A della tupla t 7 74 Definizione formale del TC Proprietà del TC egole di costruzione delle formule un atomo è una formula se p è una formula, lo sono anche p e (p) se p e p sono formule, lo sono anche p p, p p, p p se p è una formula in cui s è una variabile, lo sono anche s (p(s)), s (p(s)) Legge di De Morgan p p ( p p ) Corrispondenze tra quantificatori t (p(t)) t ( p(t)) Definizione di implicazione p p p p Forme Normali Dalle tre leggi segue che è possibile scrivere tutte le possibili espressioni senza implicazione e con: Un solo quantificatore Un solo operatore binario La forma normale più usata (simile ad QL) usa quantificatore esistenziale e congiunzione 77 Esempi di TC degli studenti che hanno preso 0 in matematica { t t TUDENTE, t EAME, t COO ( t[]=t[] t[]=t[] t[cod]=t[cod] t[voto]=0 t[titolo]= matematica ) } 78

14 Esempi di TC icole degli studenti che hanno sostenuto matematica ma non basi di dati { t t EAME, t COO ( t[]=t[] t[cod]=t[cod] t[titolo]= matematica ) ( t EAME, t4 COO (t[]=t[] t[cod]=t4[cod] Correttezza i devono evitare formule unsafe: { t t } dà un risultato infinito i considerano corrette solo formule indipendenti dal dominio la soluzione non dipende dal dominio degli attributi, ma solo dall istanza del DB t4[titolo]= basi di dati ))) } A è esprimibile tramite TC E sufficiente mostrare che si possono realizzare i cinque operatori fondamentali: elezione, σ A= : { t t (t[a]=) } Proiezione, Π AC : { t t (t[a,c]=t[a,c]) } A è esprimibile tramite TC Prodotto cartesiano, (A,B,C) (D,E,F): { t t, t (t[a,b,c]=t[a,b,c] t[d,e,f]=t[d,e,f] ) } Esempio di join, (A,C) A=B (B,D): { t t, t (t[a,c] = t[a,c] t[b,d] = t[b,d] t[a] = t[b] ) } 8 8 A è esprimibile tramite TC Anche TC è esprimibile tramite A Unione, : { t t, t ( t = t t = t ) } Differenza, : { t t ( t ) } La prova è più complicata i devono escludere espressioni unsafe e dipendenti dal dominio otto queste ipotesi TC e A hanno lo stesso potere espressivo 8 84

15 Linguaggi di query basati sulla programmazione logica Base di dati d esempio per Datalog La programmazione logica è un paradigma di programmazione basato su regole Linguaggio di riferimento: Prolog (970) Datalog: Prolog per basi di dati (984) Differenze principali rispetto a Prolog (per chi lo conosce): mancano i simboli di funzione modello di valutazione pienamente dichiarativo GENITOE Genitore Figlio Gianni Anna Anna Gianni Gianni Andrea PEONA Anna Gianni Andrea Età esso M M F M M F egole Datalog CALO ANNA Ogni regola è composta da una testa (head o LH) e da un corpo (body o H) E: P :- P, P, Pn ANTONIO PAOLA GIANNI ANDEA 87 Ogni P rappresenta un predicato (chiamato letterale), così composto: nome argomenti: costanti variabili simbolo don t care (non nella testa) E: persona(x,_, M ) 88 egole Datalog Fatti Datalog Hanno l interpretazione che la testa è vera se il corpo è vero Esempi di regole Padre(X,Y) :- Persona(X,_, M ), Genitore(X,Y) Madre(X,Y) :- Persona(X,_, F ), Genitore(X,Y) Ciascuna tupla corrisponde a un fatto (letterale ground) Ad esempio: Genitore(, ). Le variabili del LH devono apparire nel H 89 90

16 Query in Datalog Altre regole Esempio di query (detta goal)?- Padre(,X) Valutazione: si cerca una regola che abbia per testa il predicato Padre e si cercano valori per la variabile X (unificazione) i ottiene X = { Gianni } Un goal senza variabili restituisce True o False?- Padre(, ) True?- Padre(, Andrea ) False 9 Nonno(X,Z) :- Padre(X,Y), Genitore(Y,Z) Fratello(X,Y) :- Genitore(Z,X), Genitore(Z,Y), X Y Zio(X,Y) :- Persona(X,_, M ), Fratello(X,Z), Genitore(Z,Y) 9 Corrispondenza tra Datalog e l algebra relazionale Database estensionale e intensionale proiezioni selezione Padre(X,Y) :- Persona(X,_, M ), Genitori(X,Y) join Espressione corrispondente in algebra relazionale: PADE = Π,5 σ = M PEONA `U = GENITOI Database estensionale (EDB) insieme delle tabelle presenti nel DB Database intensionale (IDB) insieme dei predicati che sono a sinistra in una regola è la conoscenza dedotta a partire da EDB Normalmente si impone EDB IDB = 9 94 Negazione in Datalog Potere espressivo di Datalog Alcuni letterali del corpo possono essere negati es: Padre(X,Y) :- Genitore(X,Y), not Madre(X,Y) L uso della negazione in Datalog aumenta il potere espressivo del linguaggio Anche l uso della negazione richiede cautela: q(x) :- p(x) p(0).?- q(x) produce un risultato infinito! 95 Datalog senza negazione permette di rappresentare gli operatori {σ, Π,, } {σ, Π, } già visti Per l unione si usano più regole con la stessa testa; P = : P(X,Y) :- (X,Y) P(X,Y) :- (X,Y) Per la differenza serve il not; P = : P(X,Y) :- (X,Y), (X,Y) 96

17 Query ricorsive Meccanismo di valutazione Datalog con negazione ha quindi un potere espressivo almeno pari all algebra relazionale In effetti ha un potere superiore, perché permette l espressione di query ricorsive Una query ricorsiva presenta il letterale della testa all interno del corpo della regola: start Antenato(X,Y) :- Genitore(X,Y) Antenato(X,Y) :- Antenato(X,Z), Genitore(Z,Y) i può immaginare che venga seguito il seguente processo iterativo: ANTENATO 0 GENITOI ANTENATO ( Π,4 ANTENATO 0 a`= GENITOI ) ANTENATO 0 ANTENATO ( Π,4 ANTENATO a`= GENITOI ) ANTENATO fino a che ANTENATO n risulta pari a ANTENATO n- (punto fisso) ricorsione Valutazione delle query ricorsive ANTENATO Nella base dati d esempio si ottiene il risultato illustrato a fianco Anna Anna Gianni Gianni Gianni Andrea Andrea CALO ANTONIO PAOLA ANNA GIANNI ANDEA Nuovi elementi rispetto a GENITOE Anna Andrea Anna Predicati e funzioni egole corrette Nella definizione delle regole si possono usare predicati speciali operatori di confronto = (unificazione),, <,, >, funzioni aritmetiche +,,, Bisogna fare molta attenzione: n(x) :- n(x ) n(0).?- n(x) produce un risultato infinito! 0 La negazione deve essere safe tutte le variabili di un letterale negato devono comparire in un letterale positivo del corpo della regola (X) :- (X), Q(Y) non va bene La negazione deve essere stratificata sinteticamente, non ci devono essere cicli di dipendenza tra letterali negati P(X) :- (X) P(X) :- (X), P(X) non va bene P 0

18 iepilogo della terminologia Datalog Modello relazionale Datalog standard elazione Predicato Attributo Argomento Tupla Fatto Query egole Interrogazione Goal intesi sui poteri espressivi TC =A, con TC safe e non dipendente dal dominio Datalog più espressivo di TC e A (a causa della ricorsione), con espressioni Datalog safe, stratificate e che non producono infiniti simboli TC = A DATALOG In che modo si differenziano i linguaggi formali? L algebra è un linguaggio POCEDUALE: si dice esattamente in che modo valutare le interrogazioni (e si può ottimizzare) TC è un linguaggio DICHIAATIVO: si dice cosa si vuole ottenere ma non come ottenerlo. DATALOG è pure dichiarativo, ma la costruzione delle dipendenze tra le regole può essere fatta in modo procedurale Perchè vi abbiamo raccontato tutto ciò? QL assomiglia al calcolo relazionale L algebra assomiglia a quanto viene effettivamente valutato da un DBM Datalog avvicina le basi di dati al mondo della logica e della deduzioni 07

BASI DI DATI LINGUAGGI PER BASI DI DATI

BASI DI DATI LINGUAGGI PER BASI DI DATI 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

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. Selezione, proiezione e join. Linguaggi di interrogazione. Selezione, proiezione e join. Equivalenza di espressioni

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

Dettagli

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

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

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

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

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

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

Predicati e Quantificatori

Predicati e Quantificatori Predicati e Quantificatori Limitazioni della logica proposizionale! Logica proposizionale: il mondo è descritto attraverso proposizioni elementari e loro combinazioni logiche! I singoli oggetti cui si

Dettagli

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

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

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

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

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

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

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

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

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

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

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

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

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

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

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

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

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

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

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

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

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

Basi di Dati. prof. Letizia Tanca AA Altri linguaggi formali di interrogazione per il Modello Relazionale dei Dati

Basi di Dati. prof. Letizia Tanca AA Altri linguaggi formali di interrogazione per il Modello Relazionale dei Dati Basi di Dati prof. Letizia Tanca AA 2005-06 Altri linguaggi formali di interrogazione per il Modello Relazionale dei Dati Classificazione dei Linguaggi LINGUAGGI FORMALI Algebra relazionale Calcolo relazionale

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

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

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

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

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

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

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

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

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

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

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

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

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

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

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

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

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà : RELAZIONI INARIE Dati due insiemi non vuoti, A detto dominio e detto codominio, eventualmente coincidenti, si chiama relazione binaria (o corrispondenza) di A in, e si indica con f : A, (oppure R ) una

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

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

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

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

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Lezione 9: Cambio di base

Lezione 9: Cambio di base Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire

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

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

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

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

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

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

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

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

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

Errori più comuni. nelle prove scritte

Errori più comuni. nelle prove scritte Errori più comuni nelle prove scritte Gli errori più frequenti, e reiterati da chi sostiene diverse prove, sono innanzi tutto meta-errori, cioè errori che non riguardano tanto l applicazione delle tecniche,

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

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

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

Anno 3. Classificazione delle funzioni

Anno 3. Classificazione delle funzioni nno 3 Classificazione delle funzioni 1 Introduzione In questa lezione affronteremo lo studio delle principali proprietà delle funzioni, imparando a classificarle e a compiere alcune operazioni su esse.

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

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

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

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

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 7: Datalog Calcolo e algebra relazionale: limiti Calcolo e algebra sono sostanzialmente equivalenti: l'insieme di interrogazioni con essi

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

x u v(p(x, fx) q(u, v)), e poi

x u v(p(x, fx) q(u, v)), e poi 0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

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

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

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

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

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013 LGEBR DI BOOLE I.I.S. Primo Levi Badia Polesine.S. 2012-2013 Nel secolo scorso il matematico e filosofo irlandese Gorge Boole (1815-1864), allo scopo di procurarsi un simbolismo che gli consentisse di

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

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

Linguaggi di interrogazione. linguaggi interrogazione 1

Linguaggi di interrogazione. linguaggi interrogazione 1 Linguaggi di interrogazione linguaggi interrogazione 1 a linguaggi formali Classificazione Algebra relazionale Calcolo relazionale Programmazione logica b linguaggi programmativi SQL: Structured Query

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

S::= Aa bb bc A::= 1B 0 B::= 0A 1 C::= Cc d Si scriva un riconoscitore in Prolog del linguaggio generato da G. Suggerimento: si elimini la ricorsione

S::= Aa bb bc A::= 1B 0 B::= 0A 1 C::= Cc d Si scriva un riconoscitore in Prolog del linguaggio generato da G. Suggerimento: si elimini la ricorsione COMPITO DI LINGUAGGI SIMBOLICI DOCENTE MICHELA MILANO - 11 GENNAIO 2001 Esercizio 1 Si scriva un metaprogramma Prolog che lavori su un programma Prolog P ricevendo in ingresso da utente una lista La di

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

Sintesi di reti combinatorie. Sommario. Motivazioni. Sommario. Funzioni Espressioni. M. Favalli

Sintesi di reti combinatorie. Sommario. Motivazioni. Sommario. Funzioni Espressioni. M. Favalli Sommario Sintesi di reti combinatorie Funzioni Espressioni 1 Teorema di espansione di Shannon (Boole) M. Favalli Engineering Department in Ferrara 2 Forme canoniche 3 Metriche per il costo di una rete

Dettagli

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

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente

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

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

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

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

REGOLE PER L ESAME (agg.te settembre 2015)

REGOLE PER L ESAME (agg.te settembre 2015) Informatica e Programmazione (9 CFU) Ingegneria Meccanica e dei Materiali REGOLE PER L ESAME (agg.te settembre 2015) Modalità d esame (note generali) Per superare l esame, lo studente deve sostenere due

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli