6.6 Il calcolo relazionale su tuple

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "6.6 Il calcolo relazionale su tuple"

Transcript

1 Capitolo 6 Approfondimento Web Il calcolo relazionale su tuple In questo paragrafo e nel successivo descriviamo un altro linguaggio di interrogazione formale per il modello relazionale chiamato calcolo relazionale. Questo paragrafo introduce il linguaggio noto come calcolo relazionale su tuple, mentre il paragrafo successivo, Calcolo relazionale su domini, tratta di una variante chiamata calcolo relazionale su domini. In entrambe le varianti del calcolo relazionale si specificano le interrogazioni tramite espressioni dichiarative senza fornire una descrizione di come valutare le interrogazioni. Un espressione del calcolo specifica cosa deve essere reperito più che come reperirlo; pertanto il calcolo relazionale è considerato un linguaggio non procedurale. Si tratta di un importante differenza rispetto all algebra relazionale, in cui dobbiamo scrivere una sequenza di operazioni per specificare una richiesta; quindi l algebra può essere considerata una modalità procedurale per specificare interrogazioni. È possibile nidificare le operazioni algebriche in modo da formare una singola espressione; tuttavia in un espressione algebrica un certo ordine tra le operazioni è sempre specificato esplicitamente. Questo ordine influenza anche la strategia per valutare l interrogazione. Un espressione di calcolo può essere scritta in diversi modi, ma il modo in cui è scritta non ha alcuna attinenza con la modalità di valutazione dell interrogazione. È stato dimostrato che un interrogazione che può essere specificata nell algebra relazionale di base può essere specificata anche nel calcolo relazionale, e viceversa; in altre parole, il potere espressivo dei due linguaggi è identico. Questo ha portato alla definizione del concetto di linguaggio completo. Un linguaggio di interrogazione relazionale L è considerato completo se possiamo esprimere in L qualsiasi interrogazione che possa essere espressa nel calcolo relazionale. La completezza relazionale è diventata una base importante per confrontare la potenza espressiva dei linguaggi di interrogazione di alto livello. Tuttavia, come abbiamo visto nel Paragrafo 6.4, alcune interrogazioni spesso richieste nelle applicazioni di basi di dati non possono essere espresse nel calcolo o nell algebra relazionale di base. La maggior parte dei linguaggi di interrogazione relazionali è completa, ma ha più potere espressivo del calcolo relazionale o dell algebra relazionale per effetto di ulteriori operazioni come funzioni di aggregazione, raggruppamento e ordinamento. Come è stato ricordato nell introduzione di questo capitolo, il calcolo relazionale è importante per due ragioni. Innanzitutto, esso ha solidi fondamenti nella logica matematica. Inoltre, il linguaggio standard di interrogazione dei DBMS (SQL) trova alcuni dei suoi fondamenti nel calcolo relazionale su tuple. In questo paragrafo e nel successivo tutti gli esempi fanno riferimento ancora alla base di dati mostrata nelle Figure 3.6 e 3.7. Useremo le stesse interrogazioni del Paragrafo 6.5. I Sottoparagrafi 6.6.6, e qui di seguito descrivono come gestire i quantificatori universali, e quindi i lettori interessati a un introduzione generale al calcolo su tuple possono ometterli Variabili di tupla e relazioni d intervallo Il calcolo relazionale su tuple si basa sulla specificazione di un numero di variabili di tupla. Ogni variabile di tupla di solito assume valori su una particolare relazione, il che

2 2 Capitolo 6 Approfondimento Web significa che la variabile può assumere come proprio valore qualsiasi singola tupla proveniente da quella relazione. Una semplice interrogazione di calcolo relazionale su tuple è nella forma seguente: {t COND(t)} dove t è una variabile di tupla e COND(t) è un espressione condizionale (booleana) su t che può essere valutata TRUE o FALSE per diversi assegnamenti di tupla alla variabile t. Il risultato di questa interrogazione è l insieme di tutte le tuple t che soddisfano COND(t). Ad esempio, per trovare tutti gli impiegati il cui stipendio è superiore a dollari, possiamo scrivere la seguente espressione di calcolo su tuple: {t IMPIEGATO(t) AND t.stipendio>50000} La condizione IMPIEGATO(t) specifica che la relazione range (intervallo) della variabile di tupla t è IMPIEGATO. Ogni tupla t IMPIEGATO che soddisfa la condizione t.stipendio>50000 verrà recuperata. Si noti che t.stipendio fa riferimento all attributo STIPENDIO della variabile di tupla t; questa notazione è simile al modo in cui i nomi degli attributi vengono qualificati mediante nomi di relazione o alias in sql, come visto nel Capitolo 4. Nella notazione del Capitolo 3, t.stipendio equivale a scrivere t.[stipendio]. L interrogazione precedente recupera tutti i valori degli attributi per ogni tupla t IMPIEGATO selezionata. Per recuperare solo alcuni attributi, ad esempio i nomi di battesimo e i cognomi, scriviamo: {t.nome_batt, t.cognome IMPIEGATO(t) AND t.stipendio>50000} In modo informale dobbiamo specificare le informazioni seguenti in un espressione di calcolo su tuple. Per ogni variabile di tupla t, la relazione range R di t. Questo valore è specificato tramite una condizione della forma R(t). Una condizione per selezionare particolari combinazioni di tuple. Poiché le variabili di tupla prendono valori sulle loro rispettive relazioni, la condizione viene valutata per ogni possibile combinazione di tuple identificando le combinazioni selezionate per cui il valore della condizione è TRUE. Un insieme di attributi da restituire: gli attributi richiesti. I valori di questi attributi sono reperiti da ciascuna combinazione selezionata di tuple. Prima di esaminare la sintassi formale del calcolo relazionale su tuple, consideriamo un altra interrogazione. INTERROGAZIONE 0 Si trovi la data di nascita e l indirizzo dell impiegato (o degli impiegati) il cui nome è John B. Smith. I0: {t.data_n, t.indirizzo IMPIEGATO(t) AND t.nome_batt = John AND t.iniz_int = B AND t.cognome= Smith } Nel calcolo relazionale su tuple prima specifichiamo gli attributi richiesti t.data_n e t.indirizzo per ogni tupla t selezionata; poi specifichiamo la condizione per seleziona-

3 Capitolo 6 Approfondimento Web 3 re una tupla dopo la barra ( ), cioè che t sia una tupla della relazione IMPIEGATO i cui valori degli attributi NOME_BATT, INIZ_INT e COGNOME siano rispettivamente John, B e Smith Espressioni e formule nel calcolo relazionale su tuple Un espressione generale del calcolo relazionale su tuple ha la forma seguente: {t 1.A j, t 2.A k,,t n.a m COND(t 1, t 2,, t n, t n+1, t, t )} n+2 n+m dove t 1, t 2,, t n, t n+1,, t n+m sono variabili di tupla, ogni A i è un attributo della relazione su cui t i prende valori e COND è una condizione o formula 1 del calcolo relazionale su tuple. Una formula è costituita da atomi di calcolo predicativo, che possono appartenere a uno dei seguenti tipi. 1. Un atomo del tipo R(t i ), dove R è un nome di relazione e t i è una variabile di tupla. Questo atomo identifica l intervallo su cui prende valori la variabile di tupla t i come la relazione il cui nome è R. 2. Un atomo del tipo t i.a op t j.b, dove op è uno degli operatori di confronto nell insieme {=, <,, >,, }, t i e t j sono variabili di tupla, A è la relazione su cui t i prende valori e B è la relazione su cui t j prende valori. 3. Un atomo del tipo t i.a op c o c op t j.b, dove op è uno degli operatori di confronto nell insieme {=, <,, >,, }, t i e t j sono variabili di tupla, A è la relazione su cui t i prende valori, B è la relazione su cui t j prende valori e c è un valore costante. Ognuno degli atomi precedenti è TRUE o FALSE per una specifica combinazione di tuple; questo è definito valore di verità dell atomo. In generale una variabile di tupla t prende valori su tutte le tuple possibili dell universo. Per gli atomi del tipo R(t), se t è assegnata a una tupla che è un membro della relazione specificata R, l atomo è TRUE, altrimenti è FALSE. Negli atomi dei tipi 2 e 3, se le variabili di tupla contengono tuple tali che i valori degli attributi specificati soddisfano la condizione, l atomo è TRUE. Una formula (condizione booleana) è costituita da uno o più atomi legati tramite gli operatori logici AND, OR e NOT ed è definita ricorsivamente. 1. Regola 1: Ogni atomo è una formula. 2. Regola 2: Se F 1 e F 2 sono formule, lo sono anche (F 1 AND F 2 ), (F 1 OR F 2 ), NOT(F 1 ) e NOT (F 2 ). I valori di verità di queste formule derivano dalle loro formule componenti F 1 e F 2 come segue: a. (F 1 AND F 2 ) è TRUE se sia F 1 sia F 2 sono TRUE; altrimenti è FALSE; b. (F 1 OR F 2 ) è FALSE se sia F 1 sia F 2 sono FALSE; altrimenti è TRUE; c. NOT(F 1 ) è TRUE se F 1 è FALSE; è FALSE se F 1 è TRUE; d. NOT(F 2 ) è TRUE se F 2 è FALSE; è FALSE se F 2 è TRUE. 1 In logica matematica è chiamata anche wff (well-formed formula, formula ben formata).

4 4 Capitolo 6 Approfondimento Web I quantificatori universale ed esistenziale Nelle formule possono comparire anche due simboli speciali chiamati quantificatori, e precisamente il quantificatore universale ( ) e il quantificatore esistenziale ( ). I valori di verità per le formule con quantificatori sono descritti nelle successive regole 3 e 4; prima, però, dobbiamo definire i concetti di variabili di tupla libere e legate. In modo informale, una variabile di tupla t è legata se è quantificata, il che significa che compare in una clausola ( t) o ( t); altrimenti è libera. In modo formale, in una formula una variabile di tupla viene definita libera o legata (bound) secondo queste regole. Un occorrenza di una variabile di tupla in una formula F che è un atomo è libera in F. Un occorrenza di una variabile di tupla t è libera o legata in una formula costituita da connettivi, cioè (F 1 AND F 2 ), (F 1 OR F 2 ), NOT(F 1 ) e NOT (F 2 ), a seconda se è libera o legata in F 1 o F 2 (se compare in una delle due). Si noti che in una formula del tipo F = (F 1 AND F ) o F = (F 2 1 OR F ), una variabile di tupla può essere libera in F 2 1 e legata in F 2, o viceversa; in questo caso, un occorrenza della variabile di tupla è legata e l altra è libera in F. Tutte le occorrenze di una variabile di tupla t libere in F sono legate in una formula F del tipo: Fʹ = ( t)(f) o Fʹ = ( t)(f). La variabile di tupla è legata al quantificatore specificato in Fʹ. Ad esempio, si considerino le seguenti formule: F 1 : d.nome_d= RICERCA F 2 : ( t) (d.numero_d=t.n_d) F 3 : ( d) (d.ssn_dir= ) La variabile di tupla d è libera sia in F 1 sia in F 2, mentre è legata al quantificatore ( ) in F 3. La variabile t è legata al quantificatore ( ) in F 2. Ora possiamo dare le regole 3 e 4 per la definizione di una formula iniziata precedentemente. 3. Regola 3: Se F è una formula, lo è anche ( t)(f), dove t è una variabile di tupla. La formula ( t)(f) è TRUE se il valore della formula F è TRUE per alcune tuple (almeno una) assegnate a occorrenze libere di t in F; altrimenti ( t)(f) è FALSE. 4. Regola 4: Se F è una formula, lo è anche ( t)(f), dove t è una variabile di tupla. La formula ( t)(f) è TRUE se il valore della formula F è TRUE per ogni tupla (dell universo) assegnata a occorrenze libere di t in F; altrimenti ( t)(f) è FALSE. Il quantificatore ( ) è chiamato quantificatore esistenziale, perché una formula ( t)(f) è TRUE se esiste una tupla che rende F TRUE. Per il quantificatore universale, ( t)(f) è TRUE se per F è TRUE ogni possibile tupla che può essere assegnata a occorrenze libere di t in F. È chiamato quantificatore universale perché ogni tupla dell universo di tuple deve rendere F TRUE per rendere TRUE la formula quantificata Interrogazioni di esempio usando il calcolo relazionale su tuple Useremo alcune interrogazioni del Paragrafo 6.5 per dare un idea di come vengono specificate nell algebra relazionale e nel calcolo relazionale. Si noti che alcune interro-

5 Capitolo 6 Approfondimento Web 5 gazioni sono più facili da specificare nell algebra relazionale che nel calcolo relazionale, e viceversa. INTERROGAZIONE 1 Si trovino nome e indirizzo di tutti gli impiegati che lavorano per il dipartimento Ricerca. I1: {t.nome_batt, t.cognome, t.indirizzo IMPIEGATO(t) AND ( d) (DIPARTIMENTO(d) AND d.nome_d = Ricerca AND d.numero_d = t.n_d) } Le uniche variabili di tupla libere in un espressione di calcolo relazionale dovrebbero essere quelle che appaiono a sinistra della barra ( ). In I1, t è l unica variabile libera e viene legata successivamente a ogni tupla. Per ogni tupla che soddisfa le condizioni specificate in I1 vengono recuperati gli attributi NOME_BATT, COGNOME e INDIRIZZO. Le condizioni IMPIEGATO(t) e DIPARTIMENTO(d) indicano le relazioni d intervallo su cui prendono valori t e d. La condizione d.nome_d = Ricerca è una condizione di selezione e corrisponde a un operazione SELECT nell algebra relazionale, mentre la condizione d.numero_d = t.n_d è una condizione di join ed esegue un compito simile a quello dell operazione di JOIN (vedi Paragrafo 6.3). INTERROGAZIONE 2 Per ogni progetto con sede a Stafford, si elenchi il numero di progetto, il numero del dipartimento che lo gestisce nonché il cognome, l indirizzo e la data di nascita del direttore del dipartimento. I2: {p.numero_p, p.num_d, m.cognome, m.data_n, m.indirizzo PROGETTO(p) AND IMPIEGATO(m) AND p.sede_p = Stafford AND (( d) (DIPARTIMENTO(d) AND p.num_d = d.numero_d AND d.ssn_dir = m.ssn))} In I2 ci sono due variabili di tupla libere: p e m. La variabile di tupla d è legata al quantificatore esistenziale. La condizione di interrogazione è valutata per ogni combinazione di tuple assegnate a p e m, e su tutte le possibili combinazioni di tuple a cui p e m sono legate vengono selezionate solo quelle che soddisfano la condizione. È possibile che più variabili di tupla in un interrogazione prendano valori sulla stessa relazione. Ad esempio, per specificare l interrogazione I8 (per ogni impiegato si trovi il nome e il cognome dell impiegato e il nome e il cognome del suo diretto supervisore) specifichiamo due variabili di tupla e e s che prendono entrambe valori sulla relazione IMPIEGATO: I8: {e.nome_batt, e.cognome, s.nome_batt, s.cognome IMPIEGATO(e) AND IMPIEGATO(s) AND d.superssn = s.ssn} INTERROGAZIONE 3ʹ Si trovi il nome di ogni impiegato che lavora su alcuni progetti controllati dal dipartimento numero 5. Questa è una variazione dell interrogazione 3 in cui tutti è cambiato in alcuni. In questo caso servono due condizioni di join e due quantificatori esistenziali.

6 6 Capitolo 6 Approfondimento Web I3ʹ: {e.cognome, e.nome_batt IMPIEGATO(e) AND (( x)( w) (PROGETTO(x) AND LAVORA_SU(w) AND x.num_d = 5 AND w.ssn_i = e.ssn AND x.numero_p = w.n_p))} INTERROGAZIONE 4 Si prepari un elenco di numeri di progetto per i progetti che coinvolgono, come partecipante o come direttore del dipartimento che controlla il progetto, un impiegato con cognome Smith. I4: {p.numero_p PROGETTO(p) AND ( ( ( e) ( w)(impiegato(e) AND LAVORA_SU(w) AND w.n_p = p.numero_p AND e.cognome= Smith AND e.ssn = w.ssn_i) ) OR (( m) ( d)(impiegato(m) AND DIPARTIMENTO(d) AND p.num_d = d.numero_d AND d.ssn_dir = m.ssn AND e.cognome= Smith )))} Confrontate questa interrogazione con la sua versione di algebra relazionale nel Paragrafo 6.5. L operazione di UNIONE nell algebra relazionale di solito può essere sostituita con un connettivo OR nel calcolo relazionale Notazione per i grafi di interrogazione In questo paragrafo descriviamo una notazione proposta per la rappresentazione interna delle interrogazioni che non richiedono quantificazioni complesse in forma grafica. Questo tipo di interrogazioni sono note come interrogazioni select-project-join, dal momento che coinvolgono soltanto queste tre operazioni dell algebra relazionale. La notazione può essere estesa a interrogazioni più generali, ma non discuteremo qui di questo genere di estensioni. Questa rappresentazione grafica di una interrogazione è chiamata grafo di interrogazione. Nella Figura 1 è mostrato il grafo di interrogazione di I2. Le relazioni coinvolte nell interrogazione sono rappresentate mediante nodi relazione (graficamente cerchi a linea singola). I valori costanti, tipicamente contenuti nelle condizioni di selezione delle interrogazioni sono rappresentati mediante nodi costante (graficamente cerchi o ovali a linea doppia ). Le condizioni di selezione e di join sono rappresentate mediante gli archi del grafo, come mostrato nella Figura 1. Infine, gli attributi di ciascuna relazione che fanno parte del risultato sono mostrati fra parentesi quadre sopra alla corrispondente relazione. La rappresentazione a grafo di interrogazione non definisce un ordine specifico che stabilisce quali operazioni devono essere eseguite per prime e dunque è una rappresentazione di una interrogazione select-project-join più neutra rispetto all albero di interrogazione (si veda il Sottoparagrafo 6.3.5), in cui l ordine di esecuzione è definito implicitamente. Esiste un solo grafo corrispondente a ciascuna interrogazione. Sebbene alcune tecniche di ottimizzazione delle interrogazioni siano basate sui grafi di interrogazione, è opinione diffusa che gli alberi di interrogazione siano preferibili poiché, nella pratica, l ottimizzatore necessita di visualizzare l ordine di esecuzione delle operazioni dell interrogazione, cosa non possibile in un grafo di interrogazione.

7 Capitolo 6 Approfondimento Web 7 [P.Numero_P, P.N_D] [I.Cognome, I.Indirizzo, I.Data_N] P.N_D=D.Numero_D D.SSN_DIR=I.SSN P D I P.Sede_P= Stafford Figura 1 Grafo di interrogazione per I2. Nel prossimo paragrafo tratteremo la relazione fra i quantificatori universale ed esistenziale e mostreremo come uno possa essere trasformato nell altro Trasformazione dei quantificatori universale ed esistenziale Ora possiamo introdurre alcuni importanti teoremi di logica matematica che correlano i quantificatori universale ed esistenziale. È possibile trasformare un quantificatore universale in uno esistenziale, e viceversa, e ottenere un espressione equivalente. Una trasformazione generale può essere descritta in modo informale come: trasformazione di un tipo di quantificatore nell altro con negazione (facendolo cioè precedere da NOT); AND e OR si sostituiscono l un l altro; una formula negata diventa non negata e una formula non negata diventa negata. Alcuni casi speciali di questa trasformazione possono essere precisati nel modo seguente e il simbolo sta per equivale a: ( x) (P(x)) NOT ( x) (NOT (P(x))) ( x) (P(x)) NOT ( x) (NOT (P(x))) ( x) (P(x) AND Q(x)) NOT ( x) (NOT (P(x)) OR NOT (Q(x))) ( x) (P(x) OR Q(x)) NOT ( x) (NOT (P(x)) AND NOT (Q(x))) ( x) (P(x)) OR Q(x)) NOT ( x) (NOT (P(x)) AND NOT (Q(x))) ( x) (P(x) AND Q(x)) NOT ( x) (NOT (P(x)) OR NOT (Q(x))) Si noti anche che ciò che segue è TRUE, e il simbolo sta per implica: ( x) (P(x)) ( x) (P(x)) NOT ( x) (P(x)) NOT ( x) (P(x)) Uso del quantificatore universale Ogni volta che si usa un quantificatore universale è opportuno seguire alcune regole per essere sicuri che l espressione abbia senso. Discutiamo queste regole rispetto all interrogazione 3.

8 8 Capitolo 6 Approfondimento Web INTERROGAZIONE 3 Si trovi il nome degli impiegati che lavorano su tutti i progetti controllati dal dipartimento numero 5. Un modo per specificare questa interrogazione è usare il quantificatore universale come mostrato. I3: {e.cognome, e.nome_batt IMPIEGATO(e) AND (( x) (NOT(PROGETTO(x)) OR NOT (x.num_d = 5) OR (( w) (LAVORA_SU(w) AND w.ssn_i= e.ssn AND x.numero_p = w.n_p)))} Possiamo dividere I3 nei suoi componenti di base come segue: I3: {e.cognome, e.nome_batt IMPIEGATO(e) AND Fʹ = } Fʹ= (( x) (NOT(PROGETTO(x)) OR F 1 )) F 1 = NOT (x.num_d = 5) OR F 2 F 2 = (( w) (LAVORA_SU(w) AND w.ssn_i= e.ssn AND x.numero_p = w.n_p)) Vogliamo assicurarci che un impiegato e selezionato lavori su tutti i progetti controllati dal dipartimento numero 5, ma la definizione di quantificatore dice che per rendere la formula quantificata TRUE, la formula interna deve essere TRUE per tutte le tuple dell universo. Il trucco sta nell escludere dalla quantificazione universale tutte le tuple che non interessano, rendendo TRUE la condizione per tutte queste tuple. Ciò è necessario perché il valore di una variabile di tuple universalmente quantificata, come x in I3, deve essere TRUE per ogni possibile tupla a essa assegnata per rendere TRUE la formula quantificata. Le prime tuple da escludere (facendo in modo che il loro valore sia automaticamente TRUE) sono quelle che non fanno parte della relazione R che interessa. In I3, usando l espressione NOT(PROGETTO(x)) all interno della formula universalmente quantificata, il valore di tutte le tuple x che sono nella relazione PROGETTO è automaticamente forzato a TRUE. Escludiamo poi le tuple a cui non siamo interessati dalla relazione R stessa. In I3, usando l espressione NOT(x.NUM_D=5), il valore di tutte le tuple x, che sono nella relazione PROGETTO ma non sono controllate dal dipartimento 5, è TRUE. Infine specifichiamo una condizione che deve valere per tutte le restanti tuple in R. Possiamo quindi spiegare I3 nel seguente modo. 1. Perché la formula Fʹ = ( x) (F) sia TRUE, la formula F deve essere TRUE per tutte le tuple dell universo che possono essere assegnate a x. In I3, tuttavia, siamo interessati solo al fatto che F sia TRUE per tutte le tuple della relazione PROGETTO che sono controllate dal dipartimento 5. La formula F, quindi, è del tipo (NOT(PROGETTO(x)) OR F 1 ). La condizione NOT(PROGETTO(x)) OR è TRUE per tutte le tuple non nella relazione PROGETTO e comporta che queste tuple non siano considerate nel calcolo del valore di verità di F 1. Per ogni tupla nella relazione PROGETTO, F 1 deve essere TRUE perché anche Fʹ possa essere TRUE. 2. Usando lo stesso tipo di ragionamento tralasciamo le tuple che nella relazione PRO- GETTO non sono controllate dal dipartimento 5, perché siamo interessati solo alle tuple di PROGETTO di cui NUM_D=5. Possiamo quindi scrivere: IF (x.num_d=5) THEN F 2

9 Capitolo 6 Approfondimento Web 9 che equivale a: (NOT (x.num_d=5) OR F 2 ) 3. La formula F 1, quindi, è nella forma: NOT (x.num_d=5) OR F 2. Nel contesto di I3, ciò significa che per una tupla x nella relazione PROGETTO o il suo NUM_D 5 o essa deve soddisfare F Infine F 2 dà la condizione che vogliamo valga per ogni tupla IMPIEGATO selezionata: l impiegato lavora su ogni tupla di PROGETTO che non è ancora stata esclusa. Queste tuple IMPIEGATO sono selezionate dall interrogazione. In linguaggio naturale si può dire che I3 dà la seguente condizione per selezionare una tupla IMPIEGATO e: per ogni tupla x nella relazione PROGETTO con NUM_D=5 deve esistere una tupla w in LAVORA_SU tale che w.ssn_i= e.ssn e w.n_p= x.numero_p. Questo equivale a dire che IMPIEGATO e lavora su ogni PROGETTO x nel dipartimento numero 5. Usando la trasformazione generale da quantificatore universale a esistenziale data nel Sottoparagrafo 6.6.6, possiamo riformulare l interrogazione in I3 come illustrato in I3A, che utilizza la negazione di un quantificatore esistenziale al posto di un quantificatore universale: I3A: {e.cognome, e.nome_batt IMPIEGATO(e) AND (NOT ( x) (PROGETTO(x) AND (x.num_d = 5) AND (NOT ( w) (LAVORA_SU(w) AND w.ssn_i=e.ssn AND x.numero_p = w.n_p))))} Ora diamo alcuni altri esempi di interrogazioni che usano i quantificatori. INTERROGAZIONE 6 Si trovino i nomi degli impiegati che non hanno persone a carico. I6: {e.nome_batt, e.cognome IMPIEGATO(e) AND (NOT ( d) (PERSONA_A_CARICO(d) AND e.ssn=d.ssn_i))} Usando la regola generale di trasformazione si può riformulare I6 nel modo seguente: I6A: {e.nome_batt, e.cognome IMPIEGATO(e) AND (( d) (NOT (PERSONA_A_CARICO(d)) OR NOT(e.SSN=d.SSN_I)))} INTERROGAZIONE 7 Si elenchino i nomi dei direttori che hanno almeno una persona a carico. I7: {e.nome_batt, e.cognome IMPIEGATO(e) AND (( d) ( r) (DIPARTIMENTO(d) AND PERSONA_A_CARICO(r AND e.ssn = d.ssn_dir AND (r.ssn_i=e.ssn))} Questa interrogazione è gestita interpretando i direttori che hanno almeno una persona a carico come i direttori per cui esiste una persona a carico.

10 10 Capitolo 6 Approfondimento Web Espressioni safe Ogni volta che in un espressione di calcolo usiamo quantificatori universali, quantificatori esistenziali o la negazione dei predicati, dobbiamo assicurarci che l espressione risultante abbia senso. Un espressione safe (sicura) nel calcolo relazionale è una espressione per cui è garantito come risultato un numero finito di tuple; altrimenti l espressione è chiamata unsafe (insicura). Ad esempio l espressione: {t NOT (IMPIEGATO(t))} è unsafe perché fornisce tutte le tuple dell universo che non sono tuple IMPIEGATO, le quali sono infinitamente numerose. Se applichiamo le regole discusse precedentemente per I3, otteniamo un espressione safe quando usiamo quantificatori universali. Possiamo definire più precisamente le espressioni safe introducendo il concetto di dominio di un espressione di calcolo relazionale su tuple: si tratta dell insieme di tutti i valori che compaiono come valori costanti nell espressione o che esistono in qualche tupla delle relazioni a cui si è fatto riferimento nell espressione. Il dominio di {t NOT(IMPIEGATO(t))} è l insieme di tutti i valori attributo che appaiono in una tupla della relazione IMPIEGA- TO (in qualsiasi attributo). Il dominio dell espressione I3A include tutti i valori che appaiono in IMPIEGATO, PROGETTO e LAVORA_SU (insieme al valore 5 che è presente nell interrogazione stessa). Un espressione è detta safe se tutti i valori nel suo risultato provengono dal dominio dell espressione stessa. Si noti che il risultato di {t NOT(IMPIEGATO(t))} è unsafe, perché, in generale, includerà tuple (e quindi valori) presi dall esterno della relazione IMPIEGATO; tali valori non sono nel dominio dell espressione. Tutti gli altri esempi forniti qui sono espressioni safe. 6.7 Calcolo relazionale su domini C è un altro tipo di calcolo relazionale, chiamato calcolo relazionale su domini o semplicemente calcolo su domini. Storicamente, mentre sql (si vedano i Capitoli 4 e 5), un linguaggio basato sul calcolo relazionale su tuple, veniva sviluppato da IBM Research a San Jose, in California, un altro linguaggio, chiamato qbe (query-by-example, interrogazione per esempio) e correlato al calcolo su domini, veniva sviluppato quasi contemporaneamente all ibm Research a Yorktown Heights, New York. La specificazione formale del calcolo su domini fu proposta dopo la realizzazione del sistema qbe. Il calcolo su domini differisce dal calcolo su tuple per il tipo di variabili usato nelle formule: anziché avere alcune variabili che prendono valori sulle tuple, le variabili prendono valori singoli sui domini degli attributi. Per ottenere una relazione di grado n come risultato di un interrogazione dobbiamo avere n di queste variabili di dominio, una per ogni attributo. Un espressione del calcolo su domini è quindi del tipo: {x 1,, x n COND(x 1,, x n, x n+1, x, x )} n+2 n+m dove x 1,, x n, x, x,,x sono variabili di dominio che prendono valori sui domini (di attributi) e COND è una condizione o formula del calcolo relazionale su domini. n+1 n+2 n+m Una formula è costituita da atomi. Gli atomi di una formula sono leggermente diversi da quelli per il calcolo su tuple e possono appartenere a uno dei seguenti tipi.

11 Capitolo 6 Approfondimento Web Un atomo del tipo R (x 1,, x j ), in cui R è il nome di una relazione di grado j e ogni x i, 1 i j, è una variabile di dominio. Questo atomo specifica che un elenco di valori di (x 1,, x j ) deve essere una tupla nella relazione il cui nome è R, dove x i è il valore dell attributo i-esimo della tupla. Per rendere più concisa un espressione del calcolo su domini si possono eliminare le virgole nell elenco di variabili; quindi possiamo scrivere: {x 1,,x n R(x 1 x 2 x 3 ) AND } anziché: {x 1,,x n R(x 1, x 3 ) AND } 2. Un atomo del tipo x i op x j, dove op è uno degli operatori di confronto nell insieme {=, <,, >,, } e x i e x j sono variabili di dominio. 3. Un atomo del tipo x i op c o c op x j, dove op è uno degli operatori di confronto nell insieme {=, <,, >,, }, x i e x j sono variabili di tupla e c è un valore costante. Come nel calcolo su tuple, il valore degli atomi è TRUE o FALSE per un insieme specifico di valori, chiamati i valori di verità degli atomi. Nel caso 1, se le variabili di dominio sono valori assegnati che corrispondono a una tupla della relazione R specificata, l atomo è TRUE. Nei casi 2 e 3, se le variabili di dominio sono valori che soddisfano la condizione, l atomo è TRUE. In modo simile al calcolo relazionale su tuple, le formule sono costituite da atomi, variabili e quantificatori, quindi qui non ripeteremo le definizioni relative alle formule. Ora vedremo alcuni esempi di interrogazioni specificate nel calcolo su domini; per le variabili di dominio usiamo le lettere minuscole l, m, n,, x, y, z. INTERROGAZIONE 0 Si trovino la data di nascita e l indirizzo dell impiegato il cui nome è John B. Smith. I0: {uv ( q) ( r) ( s) ( t) ( w) ( x) ( y) ( z) (IMPIEGATO (qrstuvwxyz) AND q= JOHN AND r = B AND s = SMITH )} Per la relazione IMPIEGATO servono dieci variabili, che prendono valori nell ordine sul dominio di ogni attributo. Delle dieci variabili, q, r, s,, z, solo u e v sono libere, poiché esse appaiono nella parte a sinistra della barra ( ) e quindi non sono legate a un quantificatore. Prima di tutto indichiamo gli attributi richiesti, DATA_N e INDIRIZZO, tramite le variabili del dominio libere u per DATA_N e v per INDIRIZZO. Specifichiamo poi la condizione per selezionare una tupla dopo la barra ( ), cioè che la sequenza di valori assegnati alle variabili qrstuvwxyz sia una tupla della relazione IMPIEGATO e che i valori per q (NOME_BATT), r (INIZ_INT) e s (COGNOME) siano rispettivamente John, B e Smith. Per comodità, negli esempi restanti quantificheremo solo quelle variabili che effettivamente appaiono in una condizione (in I0 sarebbero q, r e s). 2 2 Si osservi che la notazione di quantificare solo le variabili di dominio effettivamente usate nelle condizioni e di mostrare un predicato come IMPIEGATO(qrstuvwxyz) senza separare le variabili di dominio con le virgole è una notazione abbreviata usata per comodità; non è la notazione formale corretta.

12 12 Capitolo 6 Approfondimento Web Una notazione abbreviata alternativa, usata in qbe, per scrivere questa interrogazione è assegnare le costanti John, B e Smith direttamente come mostrato in I0A. Qui tutte le variabili che non appaiono a sinistra della barra sono implicitamente quantificate esistenzialmente: 3 I0A: {uv (IMPIEGATO( John, B, Smith, t,u,v,w,x,y,z)} INTERROGAZIONE 1 Si trovino il nome e l indirizzo di tutti gli impiegati che lavorano per il dipartimento Ricerca. I1: {qsv ( z) ( l) ( m) (IMPIEGATO(qrstuvwxyz) AND (DIPARTIMENTO(lmno) AND l= Ricerca AND m=z)} Una condizione che lega due variabili di dominio che prendono valori sugli attributi di due relazioni, come m=z in I1, è una condizione di join; mentre una condizione che collega una variabile di dominio a una costante, come l = Ricerca, è una condizione di selezione. INTERROGAZIONE 2 Per ogni progetto con sede a Stafford, si elenchi il numero di progetto, il numero del dipartimento che lo controlla nonché il cognome, l indirizzo e la data di nascita del direttore del dipartimento. I2: {iksuv ( j) ( m) ( n) ( t)(progetto(hijk) AND IMPIEGATO(qrstuvwxyz) AND (DIPARTIMENTO(lmno) AND k=m AND n=t AND j = Stafford )} INTERROGAZIONE 6 Si trovino i nomi degli impiegati che non hanno persone a carico. I6: {q, s ( t) (IMPIEGATO(qrstuvwxyz) AND (NOT ( l) (PERSONA_A_CARICO(lmnop) AND t=l)))} L interrogazione 6 può essere riformulata usando i quantificatori universali in luogo dei quantificatori esistenziali, come mostrato in I6A: I6A: {q, s ( t) (IMPIEGATO(qrstuvwxyz) AND (( l) (NOT(PERSONA_A_CARICO(lmnop)) OR NOT (t=l))))} INTERROGAZIONE 7 Si elenchino i nomi dei direttori che hanno almeno una persona a carico. I7: {qs ( t) ( j) ( l) (IMPIEGATO(qrstuvwxyz) AND DIPARTIMENTO(hijk) AND (PERSONA_A_CARICO(lmnop) AND t=j AND l=t)} 3 Ancora una volta questa non è la notazione formalmente corretta.

13 Capitolo 6 Approfondimento Web 13 Come già specificato, un interrogazione che può essere espressa nell algebra relazionale può esserlo anche nel calcolo relazionale su domini o su tuple. Inoltre qualsiasi espressione safe nel calcolo relazionale su domini o su tuple può essere espressa nell algebra relazionale. Il linguaggio qbe si basava sul calcolo relazionale su domini, anche se è stato realizzato solo dopo la formalizzazione del calcolo su domini. qbe è uno dei primi linguaggi grafici di interrogazione con sintassi minima per i sistemi di basi di dati. È stato sviluppato a ibm Research ed è disponibile come prodotto commerciale ibm facente parte dell opzione di interfaccia qmf (query management facility, funzionalità di gestione delle interrogazioni) a db2. In seguito è stato imitato da molti altri prodotti commerciali. Vista l importanza di qbe nel campo dei linguaggi relazionali, abbiamo incluso una panoramica di questo linguaggio nell Appendice C, consultabile on-line sul sito di questo volume. Questionario di verifica 1. In che senso il calcolo relazionale differisce dall algebra relazionale e in che senso sono simili? 2. Come differisce il calcolo relazionale su tuple dal calcolo relazionale su domini? 3. Si discutano i significati del quantificatore esistenziale ( ) e del quantificatore universale ( ). 4. Si definiscano i seguenti termini rispetto al calcolo su tuple: variabile di tupla, relazione range, atomo, formula ed espressione. 5. Si definiscano i seguenti termini rispetto al calcolo su domini: variabile di dominio, relazione range, atomo, formula ed espressione. 6. Che cosa s intende con espressione safe nel calcolo relazionale? 7. Quando un linguaggio di interrogazione si dice completo? Esercizi 8. Si specifichino le interrogazioni a, b, c, e, f, i e j dell Esercizio 6.9 sia nel calcolo relazionale su tuple sia nel calcolo relazionale su domini. 9. Si specifichino le interrogazioni a, b, c e d dell Esercizio 6.10 sia nel calcolo relazionale su tuple sia nel calcolo relazionale su domini. 10. Si specifichino le interrogazioni, c, d, f e g dell Esercizio 6.11 sia nel calcolo relazionale su tuple sia nel calcolo relazionale su domini. 11. In un interrogazione di calcolo relazionale su tuple con n variabili di tupla, qual è il numero minimo tipico di condizioni di join? Perché? Qual è l effetto di avere un numero inferiore di condizioni di join? 12. Si riscrivano le interrogazioni di calcolo relazionale su domini successive a I0 nel Paragrafo 6.7 nello stile della notazione abbreviata di I0A, in cui l obiettivo è ridurre il numero di variabili di dominio scrivendo, dove possibile, costanti in luogo di variabili. 13. Si consideri questa interrogazione: si trovino gli SSN degli impiegati che lavorano almeno ai progetti ai quali lavora l impiegato con SSN = Questo può essere specificato come (FORALL x) (IF P THEN Q) dove: x è una variabile di tupla sulla relazione PROGETTO; P ; impiegato con SSN = che lavora al progetto x; Q ; impiegato e che lavora al progetto x.

14 14 Capitolo 6 Approfondimento Web Si esprima l interrogazione nel calcolo relazionale su tuple usando le seguenti regole: ( x)(p(x)) ; NOT( x)(not(p(x))); (IF P THEN Q) ; (NOT(P) OR Q). 14. Si mostri come sia possibile specificare le seguenti operazioni dell algebra relazionale sia nel calcolo relazionale su tuple sia nel calcolo relazionale su domini. a. s A=C (R(A, B, C)) b. p <A, B> (R(A, B, C)) c. R(A, B, C) * S(C, D, E) d. R(A, B, C) S(A, B, C) e. R(A, B, C) S(A, B, C) f. R(A, B, C) = S(A, B, C) g. R(A, B, C) S(D, E, F) h. R(A, B) S(A) 15. Si suggeriscano le estensioni al calcolo relazionale in modo che possa esprimere i seguenti tipi di operazioni discussi nel Paragrafo 6.4: (a) funzioni di aggregazione e di raggruppamento; (b) operazioni di JOIN ESTERNO, (c) interrogazioni di chiusura ricorsiva. 16. Un interrogazione nidificata è un interrogazione contenuta all interno di un altra interrogazione. Più precisamente, un interrogazione nidificata è un interrogazione racchiusa fra parentesi il cui risultato è utilizzabile come valore in altre posizioni, come ad esempio al posto di una relazione. Si specifichino le seguenti interrogazioni sulla base di dati mostrata nella Figura 3.5, utilizzando il concetto di interrogazione nidificata e le operazioni relazionali discusse in questo capitolo. Si mostri anche il risultato di ciascuna interrogazione quando applicata alla base di dati nello stato della Figura 3.6. a. Si trovino i nomi degli impiegati che lavorano nello stesso dipartimento dell impiegato che percepisce lo stipendio più elevato fra tutti. b. Si trovino i nomi degli impiegati il cui supervisore ha un supervisore che possiede un SSN con valore c. Si trovino i nomi degli impiegati che percepiscono oltre in più dell impiegato con lo stipendio più basso. 17. Si stabilisca se le seguenti conclusioni hanno valore TRUE o FALSE. a. NOT (P(x) OR Q(x)) (NOT (P(x)) AND (NOT (Q(x))) b. NOT ( x) (P(x)) x (NOT (P(x)) c. ( x) (P(x)) x (P(x))

(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

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

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

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

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

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

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

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

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

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

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

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

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

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

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

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

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

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

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

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

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

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

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Progettazione di Basi di Dati

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

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

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

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

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

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

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

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

Dettagli

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

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

logica dei predicati

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

Dettagli

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

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

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

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Lezione 8. Motori di Ricerca

Lezione 8. Motori di Ricerca Lezione 8 Motori di Ricerca Basi di dati Un campo prevalente dell applicazione informatica è quello costituito dall archiviazione e dalla gestione dei dati (basi di dati). Sistema Informativo. Un sistema

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

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

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine Università di Bergamo Anno accademico 2006 2007 Ingegneria Informatica Foglio Algebra e Logica Matematica Calcolo delle proposizioni Logica del primo ordine Esercizio.. Costruire le tavole di verità per

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

1 Giochi a due, con informazione perfetta e somma zero

1 Giochi a due, con informazione perfetta e somma zero 1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una

Dettagli

DATABASE RELAZIONALI

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

Dettagli

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

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

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

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

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

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza

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

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE IL MODELLO RELAZIONALE E i vincoli per le basi di dati relazionali 2 La storia Introdotto nel 1970 da E. F. Ted Codd http://en.wikipedia.org/wiki/edgar_f._codd (centro ricerche IBM) Codd, E.F. (1970).

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

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

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

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

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

Identificare le classi in un sistema

Identificare le classi in un sistema 3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

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

Organizzazione degli archivi

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

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

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

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

Dettagli

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

Definizione di nuovi tipi in C

Definizione di nuovi tipi in C Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Prodotto libero di gruppi

Prodotto libero di gruppi Prodotto libero di gruppi 24 aprile 2014 Siano (A 1, +) e (A 2, +) gruppi abeliani. Sul prodotto cartesiano A 1 A 2 definiamo l operazione (x 1, y 1 ) + (x 2, y 2 ) := (x 1 + x 2, y 1 + y 2 ). Provvisto

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

Operatori logici e porte logiche

Operatori logici e porte logiche Operatori logici e porte logiche Operatori unari.......................................... 730 Connettivo AND........................................ 730 Connettivo OR..........................................

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

Interrogazioni nidificate, commenti

Interrogazioni nidificate, commenti Interrogazioni nidificate, commenti La forma nidificata è meno dichiarativa, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sottointerrogazioni

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

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli