Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a"

Transcript

1 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a Docente: Gigliola Vaglini Docente laboratorio: Luca Martini 1 Lezione 8 Relazioni in forma normale 2 1

2 Forme normali La forma normale è una proprietà che garantisce la qualità di una base di dati relazionale, cioè l'assenza di determinati difetti Ad esempio, una relazione non normalizzata presenta ridondanze o anomalie 3 Normalizzazione La normalizzazione è la procedura che permette di portare schemi relazionali in forma normale La normalizzazione è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati; non costituisce una metodologia di progettazione 4 2

3 Una relazione con anomalie Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Verdi 35 Giove 15 progettista Verdi 35 Venere 15 progettista Neri 55 Venere 15 direttore Neri 55 Giove 15 consulente Neri 55 Marte 2 consulente Mori 48 Marte 2 direttore Mori 48 Venere 15 progettista Bianchi 48 Venere 15 progettista Bianchi 48 Giove 15 direttore 5 Proprietà Ogni impiegato ha un solo stipendio (anche se partecipa a più progetti) Ogni progetto ha un bilancio Ogni impiegato in ciascun progetto ha una sola funzione (anche se può avere funzioni diverse in progetti diversi) 6 3

4 Anomalie Lo stipendio di ciascun impiegato è ripetuto in tutte le ennuple relative ridondanza Se lo stipendio di un impiegato varia, è necessario andarne a modificare il valore in diverse ennuple anomalia di aggiornamento Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo in diverse ennuple anomalia di cancellazione Un nuovo impiegato senza progetto non può essere inserito anomalia di inserimento 7 Perché questi fenomeni? Un'unica relazione per rappresentare informazioni eterogenee gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni 8 4

5 Per studiare in maniera sistematica questi aspetti, è necessario introdurre il concetto di dipendenza funzionale 9 Dipendenza funzionale Si considerino la relazione r su R(X) due sottoinsiemi non vuoti Y e Z di X esiste in r una dipendenza funzionale (FD) da Y a Z se, per ogni coppia di ennuple t 1 e t 2 di r con gli stessi valori su Y,, risulta che t 1 e t 2 hanno gli stessi valori anche su Z ad ogni chiave K di R corrisponde una dipendenza funzionale in R da K verso tutti gli attributi della relazione 10 5

6 Notazione X Y Esempi: Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione 11 Altre FD Impiegato Progetto Progetto Si tratta di una FD banale (sempre soddisfatta) Y A è non banale se A non appartiene a Y Y Z è non banale se nessun attributo in Z appartiene a Y 12 6

7 Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Verdi 35 Giove 15 progettista Verdi 35 Venere 15 progettista Neri 55 Venere 15 direttore Neri 55 Giove 15 consulente Neri 55 Marte 2 consulente Mori 48 Marte 2 direttore Mori 48 Venere 15 progettista Bianchi 48 Venere 15 progettista Bianchi 48 Giove 15 direttore Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione 13 Alcune FD causano anomalie gli impiegati hanno un unico stipendio Impiegato Stipendio i progetti hanno un unico bilancio Progetto Bilancio Abbiamo visto perché 14 7

8 Ma non tutte In ciascun progetto, un impiegato svolge una sola funzione Perchè? Impiegato Progetto Funzione 15 Legame tra FD e anomalie Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione Impiegato non n e e una chiave Progetto non n e e una chiave Impiegato Progetto è chiave 16 8

9 FD e anomalie La relazione contiene alcune informazioni legate alla chiave e altre ad attributi che non formano una chiave. Infatti abbiamo usato un'unica relazione per rappresentare informazioni eterogenee proprietà degli impiegati (lo stipendio) proprietà dei progetti (il bilancio) proprietà degli impiegati che partecipano ad un progetto o (la funzione e svolta) 17 Ancora le FD Implicazione Sia F un insieme di dipendenze funzionali definite su R(Z) ; sia X Y una dipendenza funzionale definita su R(Z) ; si dice che F implica X Y ( F X Y ) se per ogni istanza r di R che verifica tutte le FD in F risulta verificata anche X Y si dice anche che X Y è implicata da F 18 9

10 FD Chiusura Dato un insieme di dipendenze funzionali F definite su R(Z) ; definiamo come chiusura di F l insieme di tutte le dipendenze funzionali implicate da F F + = { X Y F X Y } 19 FD Dato un insieme di dipendenze funzionali F definite su R(Z), un istanza r di R che soddisfa F, soddisfa anche tutte le dipendenze funzionali logicamente implicate da F r si dice istanza legale di R 20 10

11 FD Dato R(Z) ed un insieme di FD F, un insieme di attributi X appartenenti a Z si dice superchiave di R, se la dipendenza funzionale X Z è logicamente implicata da F, cioè se X Z è in F +. Se nessun sottoinsieme proprio di X è superchiave di R, allora X si dice chiave di R 21 Calcolo di F + La definizione di implicazione non è direttamente utilizzabile nella pratica, essa prevede, infatti, una quantificazione universale sulle istanze della base di dati ( per ogni istanza r. ), Armstrong (1974) ha fornito delle regole di inferenza che permettono di derivare effettivamente tutte le dipendenze funzionali che sono implicate da un dato insieme iniziale tali regole sono sound e complete, cioè permettono di ottenere tutte e sole le dipendenze in F

12 Regole di inferenza di Armstrong 1. Riflessività: Se Y X, allora X Y 2. Additività (o espansione): Se X Y, allora XZ YZ, per qualunque Z 3. Transitività: Se X Y e Y Z, allora X Z 23 Proprietà delle regole di Armstrong Teorema (correttezza): Le regole di inferenza di Armstrong sono corrette, cioè applicando tali regole ad un insieme F di dipendenze funzionali si ottengono solo dipendenze funzionali logicamente implicate da F. Teorema (completezza): Le regole di inferenza di Armstrong sono complete, cioè applicando tali regole ad un insieme F di dipendenze funzionali si ottengono tutte le dipendenze funzionali logicamente implicate da F. Teorema (minimalità): Le regole di inferenza di Armstrong sono minimali, cioè ignorando anche una sola di esse, l insieme di regole che rimangono non è più completo

13 Esempi di prove DIMOSTRARE che X Y X Z Y Z Supponiamo per assurdo che esista una istanza r di R in cui valga la X Y ma non X Z Y Z, devono perciò esistere due tuple t1 e t2 in r tali che : (1) t1[x] = t2[x], (2) t1[y] = t2[y], (3) t1[xz] = t2[xz], (4) t1[yz] t2[yz] ma ciò è assurdo, poichè da (1) e (3) si deduce: (5) t1[z] = t2[z], e da (2) e (5) si deduce : (6) t1[yz] = t2[yz], in contraddizione con la (4) 25 DIMOSTRARE che X Y e Y Z X Z Supponiamo per assurdo che esista una istanza r di R in cui valgano X Y e Y Z, ma non X Z, devono perciò esistere due tuple t1 e t2 in r tali che : (1) t1[x] = t2[x], (2) t1[y] = t2[y], (3) t1[z] = t2[z], (4) t1[z] t2[z] ma ciò è assurdo 26 13

14 Regole derivate di Armstrong 4. Regola di unione {X Y, X Z} X YZ 5. Regola di pseudotransitività (o aggiunta sinistra) {X Y, WY Z} XW Z 6. Regola di decomposizione Se Z Y, X Y X Z 27 Esempi di prove DIMOSTRARE che X Y e X Z X Y Z Per ipotesi valgono a) X Y b) X Z applicando la regola 2 ad (a) otteniamo c) X Z Y Z applicando la stessa regola a (b) otteniamo X X X Z, che equivale a d) X X Z per la regola 3 applicata a (d) e (c) otteniamo X Y Z 28 14

15 Equivalenza Dato un insieme di dipendenze funzionali F è molto utile poter determinare un insieme di dipendenze funzionali G che sia equivalente ad F, ma sia anche strutturalmente più semplice F e G sono equivalenti se F + = G +, ovvero, per ogni X Y F, deve essere X Y G + e, viceversa, per ogni X Y G, deve essere X Y F + 29 Ovvero Siccome il calcolo di F+ è molto costoso (esponenziale nel numero di attributi dello schema nel caso peggiore), E spesso quello che ci interessa non è calcolare tutto F +, ma solo verificare se contiene una certa dipendenza, Allora si cerca un altra strada: poiché si può dimostrare che X Y è in F + se e solo se Y X +, si può calcolare e utilizzare la chiusura transitiva di un insieme di attributi X (meno costoso?) Quindi la domanda diventa Se F è un insieme di FD su R(Z) e X Z un insieme di attributi, quali attributi di Z dipendono funzionalmente da X? 30 15

16 Algoritmo per il calcolo di X + Denotiamo con X + l insieme degli attributi di R(Z) che dipendono da X (chiusura di X) in F; calcolare X + è semplice (complessità?) CalcolaChiusura(X,F)= X + = X; Ripeti: Fine = true; Per tutte le FD in F = {V i W i }: Se V i X + e W i X + allora: {X + = X + Wi; Fine = false} Fino a che Fine = true o X + = Z 31 Esempio Supponiamo di avere F = {A B, BC D, B E, E C} e calcoliamo A+, ovvero l insieme di attributi che dipendono da A A+ = A A+ = AB poiché A B e A A+ A+ = ABE poiché B E e B A+ A+ = ABEC poiché E C e E A+ A+ = ABECD poiché BC D e BC A+ Quindi da A dipendono tutti gli attributi dello schema, ovvero A è superchiave (e anche chiave)! 32 16

17 Importanza della chiusura di un insieme di attributi Consideriamo uno schema di relazione R(Z) con dipendenze funzionali F. La chiusura di un insieme X Z di attributi è fondamentale per diversi scopi: Si può utilizzare per verificare se una dipendenza funzionale è logicamente implicata da F X Y è in F + se e solo se Y X + Si può utilizzare per verificare se un insieme di attributi è superchiave o chiave X è superchiave di R se e solo se X Z è in F +, cioè se e solo se Z X + X è chiave di R se e solo se X Z è in F + e non esiste alcun sottoinsieme Y di X ottenuto da X eliminando un solo elemento, tale che Z Y + 33 Ancora equivalenza F e G sono equivalenti se F + = G +, ovvero, per ogni X Y F, deve essere X Y G + e viceversa, per ogni X Y G, deve essere X Y F + Invece di usare il metodo sopra si calcola X + rispetto a G e si verifica se Y X +, idem per X + rispetto a F 34 17

18 Copertura Minimale Alcuni attributi di una dipendenza funzionale possono essere ridondanti: ridondanza a DESTRA: { A B, B C, A CD } può essere semplificata in { A B, B C, A D } (FD semplici) ridondanza a SINISTRA: { A B, B C, AC D } può essere semplificata in { A B, B C, A D } (senza attributi estranei) Un insieme F di dipendenze funzionali può contenere dipendenze ridondanti, ovvero ottenibili tramite le dipendenze di F Esempio: A C è ridondante in {A B, B C, A C} Intuitivamente, una copertura minimale (canonica) di F è un insieme minimale di dipendenze funzionali equivalente a F e privo di dipendenze e attributi ridondanti 35 FD semplici Per minimizzare un insieme di FD è innanzitutto necessario scriverle tutte in una forma standard (forma canonica), in cui sulla destra c è sempre un singolo attributo Supponiamo di avere F = {AB CD, AC DE} Possiamo riscrivere F come F = {AB C, AB D, AC D, AC E} 36 18

19 Attributi estranei In alcune FD è possibile che sul lato sinistro ci siano degli attributi inutili ( estranei ): come si identificano? Supponiamo di avere F = {AB C, A B} e calcoliamo A + e B + A + = A B + =B A + = AB poiché A B e A A + A + = ABC poiché AB C e AB A + C dipende solo da A, e in AB C l attributo B è estraneo (a sua volta dipende da A) e possiamo riscrivere l insieme di FD più semplicemente come: F = {A C, A B } Quindi in una FD del tipo AX B l attributo A è estraneo se X + include B (ovvero X da solo determina B) 37 FD ridondanti Dopo avere eliminato gli attributi estranei si deve verificare se vi sono intere FD inutili ( ridondanti ), ovvero FD che sono implicate da altre Come facciamo a stabilire che una FD del tipo X A è ridondante? La eliminiamo da F, calcoliamo X + e verifichiamo se include A, ovvero se con le FD che restano riusciamo ancora a dimostrare che X determina A 38 19

20 Copertura Minimale Definizione Un insieme F di FD è minimale se 1. la parte destra di ogni FD in F è formata da un solo attributo 2. tutti gli attributi della parte sinistra di ogni FD in F sono necessari ( se si sostituisce una X A con Y A ove Y X l insieme delle FD risultante non è più equivalente ad F ) 3. tutte le DF in F sono necessarie, nessuna è ridondante ( non è possibile rimuovere una FD da F e avere un insieme equivalente a F ) Una copertura minimale di un insieme F è un insieme minimale equivalente a F ( può essere usato al posto di F ) N.B. In generale, la copertura minimale non è unica 39 Copertura Minimale - Algoritmo Calcolo di M minimale per un insieme di FD F : M = F ogni FD del tipo X { A1, A2,...., An } è sostituita da X A1, X A2,...., X An ogni FD X A in M, se, per ogni attributo B X, { { M { X A } } { (X { B } ) A } } M, è sostituita da (X { B } ) A A (X { B } ) + ogni rimanente X A in M, se { { F { X A } } M è rimossa A X + anche in { { F { X A } } 40 20

21 Esempio Sia F = {AB C, B A, C A}, A è estraneo in AB C, quindi trasformiamo F in F = {B C, B A, C A}, dopo possiamo eliminare B A trasformando F in F = {B C, C A} Se tentiamo di eliminare la FD ridondante prima di eliminare l attributo estraneo non ci riusciamo NB: questa operazione è bene che segua l eliminazione degli attributi estranei 41 Proiezione delle FD di R(U) su X U La proiezione di F su X, denotata da F X, è l insieme di dipendenze funzionali Z Y in F + che coinvolgono solo attributi in X, cioè tali che Z X e Y X 42 21

22 Algoritmo Per calcolare F X, cioè la proiezione di F su X, possiamo procedere per enumerazione (non si può fare meglio), evitando però di generare dipendenze funzionali inutili CalcolaProiezione(F,X):= { result = ; per ogni sottoinsieme proprio S di X, per ogni attributo A in X tale che A non è in S, e tale che non esiste alcun sottoinsieme S di S tale che S A è in result, if A è in CalcolaChiusura(S,F) allora result = result { S A }; } 43 Dimensione della proiezione di F su X Ci sono casi un cui la proiezione di F su X ha dimensione esponenziale rispetto alla dimensione di F e X, come mostrato dal seguente esempio Consideriamo R(A1,A2,,An,B1,B2,...,Bn,C1,C2,,Cn,D) e F = { Ai Ci, Bi Ci 1 i n } { C1C2 Cn D } La proiezione di F su { A1,A2,,An,B1,B2,...,Bn,D } è P = { X1X2...Xn D Xi = Ai oppure Xi = Bi per 1 i n }, la cui dimensione è ovviamente esponenziale rispetto alla dimensione dello schema R e delle dipendenze funzionali F. Si noti che si può dimostrare che nessun insieme equivalente a P ha cardinalità minore

23 Forma normale di Boyce-Codd (BCNF) Una relazione r è in forma normale di Boyce-Codd se, per ogni dipendenza funzionale (non banale) X Y definita su di essa, X contiene una chiave K di r La forma normale richiede che i concetti in una relazione siano omogenei (tutte le proprietà sono associate alla chiave) 45 BCNF: commenti Se R con FD F non è in BCNF allora in F c è almeno una dipendenza funzionale X Y che non è banale, e tale che X non è una superchiave di R. Chiamiamo una tale dipendenza funzionale un avversaria della BCNF Teorema (avversaria sconfitta): Data R, se in F non c è alcuna avversaria di BCNF, allora non c è alcuna avversaria nemmeno in F

24 BCNF: commenti Grazie al teorema dell avversaria sconfitta, è sufficiente analizzare una ad una le dipendenze funzionali in F (e non F + ), e per ognuna verificare se non è avversaria della BCNF, cioè se è banale o se è tale da avere una superchiave come membro sinistro Ciò implica che occorre saper verificare se un insieme di attributi è superchiave di una relazione K è superchiave di R(Z) se K Z F + con F insieme di dipendenze funzionali su R Ovvero Z K + 47 Che facciamo se una relazione non è BCNF? La rimpiazziamo con altre relazioni che siano BCNF Come? Decomponendo sulla base delle dipendenze funzionali,, al fine di separare i concetti 48 24

25 Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Rossi Marte tecnico Verdi 35Verdi Giove Giove progettista 15 progettista Verdi 35Verdi Venere progettista 15 progettista Neri 55 Neri Venere direttore 15 direttore Neri 55 Neri Giove consulente 15 consulente Neri Marte consulente Neri 55 Mori Marte direttore 2 consulente Mori 48 Mori Marte Venere progettista 2 direttore Mori 48Bianchi Venere progettista 15 progettista Bianchi 48Bianchi Venere Giove direttore 15 progettista Bianchi 48 Giove 15 direttore Impiegato Stipendio Rossi 20 Verdi 35 Neri 55 Mori 48 Bianchi 48 Impiegato Progetto Funzione Progetto Bilancio Marte 2 Giove 15 Venere È sempre così facile? Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano Impiegato Sede Progetto Sede 50 25

26 Decomponiamo sulla base delle dipendenze Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano Impiegato Rossi Verdi Neri Sede Roma Milano Milano Progetto Marte Giove Saturno Venere Sede Roma Milano Milano Milano 51 Impiegato Rossi Verdi Neri Proviamo a ricostruire Sede Roma Milano Milano Progetto Marte Giove Saturno Venere Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano Verdi Saturno Milano Neri Giove Milano Sede Roma Milano Milano Milano Diversa dalla relazione di partenza! 52 26

27 Decomposizione senza perdita Una istanza legale r di una relazione R si decompone senza perdita su X 1 e X 2 se il join naturale delle proiezioni di r su X 1 e X 2 è uguale a r stessa (cioè non contiene ennuple spurie) Condizione sufficiente: : se r e e una relazione su X= X 1 X 2, X 0 = X 1 X 2, e r soddisfa X 0 X 1 oppure X 0 X 2 ( gli attributi comuni contengono una chiave per almeno una delle relazioni decomposte) allora la decomposizione senza perdita di r è garantita. 53 Algoritmo per la decomposizione in BCNF Assumiamo (senza perdita di generalità) che ogni volta che chiamiamo l algoritmo descritto sotto ogni dipendenza funzionale in F abbia un unico attributo come membro destro, e che U sia l insieme di tutti gli attributi di R Decomponi(R,F):= { if esiste un avversaria X A di BCNF in F then Decomponi(R1,F U-A ); Decomponi(R2,F X A ) } } { sostituisci R con una relazione R1 con attributi U-A, ed una relazione R2 con attributi X A; 54 27

28 Proprietà dell algoritmo Teorema (correttezza dell algoritmo della decomposizione) Qualunque sia l input, l esecuzione dell algoritmo su tale input termina, e produce una decomposizione della relazione originaria tale che: ogni relazione ottenuta è in BCNF la decomposizione è senza perdita nel join N.B. A seconda dell ordine con cui si considerano le dipendenze funzionali, il risultato della decomposizione può cambiare 55 Relazione R Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano F= Impiegato Sede, Progetto Sede Decomponi(R,F):= R1(Impiegato, Sede), R2(Progetto, Sede), R3(Impiegato, Progetto) 56 28

29 Impiegato Rossi Verdi Neri Un altra decomposizione? Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano Sede Roma Milano Milano Impiegato Sede Progetto Sede Impiegato Progetto Rossi Marte Verdi Giove Verdi Venere Neri Saturno Neri Venere 57 Osservazione La decomposizione l ho l fatta ad occhio, è senza perdita sul join, però La FD Progetto Sede interessa attributi che non stanno nella stessa tabella. E un problema? 58 29

30 Problema Supponiamo di voler inserire una nuova ennupla che specifica la partecipazione dell'impiegato Neri, che opera a Milano, al progetto Marte Impiegato Rossi Verdi Neri Sede Roma Milano Milano Impiegato Sede Progetto Sede Impiegato Progetto Rossi Marte Verdi Giove Verdi Venere Neri Saturno Neri Venere 59 Impiegato Rossi Verdi Neri Sede Roma Milano Milano Impiegato Rossi Verdi Verdi Neri Neri Neri Progetto Marte Giove Venere Saturno Venere Marte 60 30

31 Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Saturno Milano Neri Venere Milano Neri Marte Milano 61 Conservazione delle dipendenze Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti Progetto Sede non è conservata 62 31

32 Decomposizione senza perdita di dipendenze Sia R uno schema di relazione con dipendenze funzionali F, e sia X un sottoinsieme di attributi di R La decomposizione di R in due relazioni con attributi X e Y è una decomposizione senza perdita di dipendenze se (F X F Y ) è equivalente a F, cioè se (F X F Y ) + = F + N.B. Non è assicurato che la decomposizione ottenuta dall algoritmo per la decomposizione BCNF sia senza perdita di dipendenze 63 La verifica di decomposizione senza perdita di dipendenze La definizione di decomposizione senza perdita di dipendenze è basata sul verificare che (F X F Y ) + = F +. Per applicare la definizione, è necessario sapere calcolare se un insieme di dipendenze funzionali è equivalente ad un altro è necessario saper calcolare la proiezione di un insieme di dipendenze funzionali su un insieme di attributi 64 32

33 Per la verifica di equivalenza si può usare un metodo polinomiale e, per ogni X Y F, calcolare X + rispetto a G e verificare se Y X +, idem per X Y G e X + rispetto a F. Per calcolare la proiezione abbiamo invece un metodo esponenziale 65 Qualità delle decomposizioni Una decomposizione dovrebbe sempre garantire: BCNF l assenza di perdite,, in modo da poter ricostruire le informazioni originarie la conservazione delle dipendenze,, in modo da mantenere i vincoli di integrità originari DB ben progettato 66 33

34 Esempio La relazione R(A,B,C), con F = { A B, B C, A C } non è in BCNF (qual è la chiave?, qual è la dipendenza avversaria?). Se la decomponiamo in R1(A,B) con A B e R2(B,C) con B C, otteniamo due relazioni in BCNF, con la proprietà che la decomposizione è senza perdita nel join. La decomposizione è anche senza perdita di dipendenze, perchè la dipendenza funzionale A C è logicamente implicata dalle due dipendenze funzionali che valgono in R1 e R2. N.B. Se la definizione di conservazione delle dipendenze non considerasse (F X F Y ) + ma solo (F X F Y ), allora la decomposizione sembrerebbe perdere la dipendenza A C, che non è esprimibile direttamente né in R1 (cioè mediante F AB ) nè in R2 (cioè mediante F BC ). 67 Relazione BCNF? Proprietà: Ogni dirigente ha una sede; un progetto può essere diretto da più persone, ma in sedi diverse Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano 68 34

35 Verifica Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano Progetto Sede Dirigente Dirigente Sede ok no 69 Come decomporre? Progetto Sede Dirigente coinvolge tutti gli attributi e quindi nessuna decomposizione può preservare tale dipendenza Si può trovare una BCNF (vedi algoritmo), ma non preserva le dipendenze 70 35

36 Approccio differente: una nuova forma normale Una relazione r è in terza forma normale se, per ogni FD (non banale) X Y definita su r, è verificata almeno una delle seguenti condizioni: X è superchiave di r ogni attributo in Y è contenuto in almeno una chiave di r 71 Non BCNF, ma 3NF Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano Progetto Sede Dirigente Dirigente Sede L attributo Sede è contenuto nella chiave 72 36

37 Anomalie? C è una ridondanza nella ripetizione della sede del dirigente per i vari progetti che dirige 73 Confronto 3NF è meno restrittiva di BCNF (e ammette relazioni con alcune anomalie e ridondanze) il problema di verificare se una relazione è in 3NF è NP-completo (il miglior algoritmo deterministico conosciuto ha complessità esponenziale nel caso peggiore), infatti: Dati R ed F e un attributo A si genera non deterministicamente un sottoinsieme S degli attributi di R che contiene A, si controlla se S è una chiave (non una superchiave) ha il vantaggio però di essere sempre raggiungibile, cioè si può sempre ottenere una decomposizione 3NF senza perdite e che conserva le dipendenze 74 37

38 Metodologia di decomposizione Dati R ed F minimale, si usa Decomponi(R,F) ottenendo gli schemi R 1 (X 1 ), R 2 (X 2 ),, R n (X n ) in BCFN ciascuno con dipendenze funzionali F X i Sia l insieme N di dipendenze funzionali in F che non sono preservate in R 1,R 2,,R n, cioè che non sono incluse nella chiusura dell unione dei vari F X i Per ogni dipendenza funzionale X A in N, aggiungiamo lo schema relazionale X A alla decomposizione, con le corrispondenti dipendenze funzionali 75 Altra metodologia Si raggruppano le FD in F, mettendo nello stesso insieme X A e Y B se X+=Y+ secondo F. Si costruisce una relazione per ogni sottoinsieme di FD determinato e contenente tutti gli attributi coinvolti Si aggiunge una relazione per gli attributi che non sono coinvolti in alcuna FD Se non c èc già una relazione che contenga una chiave della relazione originaria, si aggiunge 76 38

39 In generale Una volta effettuata la decomposizione in 3NF con la metodologia precedente si verifica se lo schema ottenuto è anche BCNF Se la relazione ha una sola chiave allora le due forme normali coincidono 77 Qualità delle decomposizioni (2) Una decomposizione dovrebbe sempre garantire: BCNF o 3NF l assenza di perdite,, in modo da poter ricostruire le informazioni originarie la conservazione delle dipendenze,, in modo da mantenere i vincoli di integrità originari 78 39

40 Schema non decomponibile in BCNF Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano Dirigente Sede Progetto Sede Dirigente 79 Possibile riorganizzazione Si aggiunge un attributo che partiziona le sedi in base ai responsabili Dirigente Progetto Sede Reparto Rossi Marte Roma 1 Verdi Giove Milano 1 Verdi Marte Milano 1 Neri Saturno Milano 2 Neri Venere Milano 2 Dirigente Sede Reparto Sede Reparto Dirigente Progetto Sede Reparto 80 40

41 BCNF Dirigente Sede Reparto Rossi Roma 1 Verdi Milano 1 Neri Milano 2 Progetto Sede Reparto Marte Roma 1 Giove Milano 1 Marte Milano 1 Saturno Milano 2 Venere Milano 2 81 Quando una BCNF non è raggiungibile spesso è questione di cattiva progettazione 82 41

42 Progettazione e normalizzazione la teoria della normalizzazione può essere usata nella progettazione logica per verificare lo schema relazionale finale si può usare anche durante la progettazione concettuale per verificare la qualità dello schema concettuale 83 Nome fornitore Indirizzo Partita IVA Codice Prodotto Nome prodotto Prezzo PartitaIVA NomeFornitore Indirizzo 84 42

43 Analisi dell entit entità L entità viola la terza forma normale a causa della dipendenza: PartitaIVA NomeFornitore Indirizzo Possiamo decomporre sulla base di questa dipendenza 85 Nome prodotto Codice Partita IVA Nome fornitore Prodotto (1,1) (0,N) Fornitura Fornitore Prezzo Indirizzo 86 43

44 Professore Dipartimento (0,N) (0,N) (0,1) Tesi Studente (0,N) Corso di laurea Studente Corso di laurea Studente Professore Professore Dipartimento 87 Analisi della relationship La relationship viola la terza forma normale a causa della dipendenza: Professore Dipartimento Possiamo decomporre sulla base di questa dipendenza 88 44

45 Afferenza (0,N) Dipartimento (1,1) Professore (0,N) (0,1) Tesi Studente (0,N) Corso di laurea 89 Ulteriore analisi sulla base delle dipendenze La relationship Tesi è in BCNF sulla base delle dipendenze Studente CorsoDiLaurea Studente Professore le due proprietà sono indipendenti, questo suggerisce una ulteriore decomposizione 90 45

46 Professore (1,1) Afferenza (0,N) Dipartimento (0,N) (0,1) Tesi (0,N) Corso di laurea Studente (1,1) Iscrizione (0,N) Corso di laurea 91 46

Normalizzazione. Definizione

Normalizzazione. Definizione Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione

Dettagli

La normalizzazione. CdL Informatica Applicata UNIURB - Dott. Maurizio Maffi

La normalizzazione. CdL Informatica Applicata UNIURB - Dott. Maurizio Maffi La normalizzazione Forme normali Una forma normale è una proprietà di una base di da5 relazionale che ne garan5sce la qualità, cioè l'assenza di determina5 dife= Quando una relazione non è normalizzata:

Dettagli

La in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già

La in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già Le dati Presenza Complicazioni forme relazionale normaliverificano di ridondanze la qualitàdi uno schema di una base di Forme La forma normalizzazionepermette nella gestione di degli ottenere aggiornamenti

Dettagli

TEORIA RELAZIONALE: INTRODUZIONE

TEORIA RELAZIONALE: INTRODUZIONE TEORIA RELAZIONALE: INTRODUZIONE Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

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

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

Dettagli

Normalizzazione di Basi di Dati. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni

Normalizzazione di Basi di Dati. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni Normalizzazione di Basi di Dati Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni Forme normali Una forma normale è una proprietà di una base di dati relazionale che ne

Dettagli

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Capitolo 9. Esercizio 9.1. Esercizio 9.2 Capitolo 9 Esercizio 9.1 Considerare lo relazione in figura 9.19 e individuare le proprietà della corrispondente applicazione. Individuare inoltre eventuali ridondanze e anomalie nella relazione. Docente

Dettagli

Normalizzazione. Relazionali

Normalizzazione. Relazionali Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Normalizzazione Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione logica Analisi dei requisiti e progettazione in dettaglio Studio/analisi dei requisiti Risultati

Dettagli

Normalizzazione di schemi relazionali

Normalizzazione di schemi relazionali Normalizzazione di schemi relazionali Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: normalizzazione.pdf Sistemi Informativi L-B Forme normali

Dettagli

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie TEORIA RELAZIONALE: INTRODUZIONE 1 Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

Teoria della Progettazione delle Basi di Dati Relazionali

Teoria della Progettazione delle Basi di Dati Relazionali Teoria della Progettazione delle Basi di Dati Relazionali Complementi di Basi di Dati 1 Teoria della Progettazione delle Basi di Dati Relazionali Angelo Montanari Dipartimento di Matematica e Informatica

Dettagli

È fatta male? Perché? Come si può correggere?

È fatta male? Perché? Come si può correggere? UNA TABELLA N Inv Stanza Resp Oggetto Produttore Descrizione 1012 256 Ghelli Mac Mini Apple Personal Comp 1015 312 Albano Dell XPS M1330 Dell Notebook 2 GHZ 1034 256 Ghelli Dell XPS M1330 Dell Notebook

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

Esercizio 9.1. Figura 9.20 Relazione per l esercizio 9.1. Soluzione:

Esercizio 9.1. Figura 9.20 Relazione per l esercizio 9.1. Soluzione: Capitolo 9 Esercizio 9.1 Considerare lo relazione in figura 9.20 e individuare le proprietà della corrispondente applicazione. Individuare inoltre eventuali ridondanze e anomalie nella relazione. Docente

Dettagli

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali NORMALIZZAZIONE Dipendenze funzionali e Normalizzazione per basi di dati relazionali 2 Fino ad ora Abbiamo ipotizzato che gli attributi vengano raggruppati per formare uno schema di relazione usando il

Dettagli

Introduzione alla normalizzazione dei dati

Introduzione alla normalizzazione dei dati Introduzione alla normalizzazione dei dati versione 16 marzo 2009 Adriano Comai http://www.analisi-disegno.com Obiettivo di questa introduzione Fornire elementi di base sulla normalizzazione dei dati Il

Dettagli

FORME NORMALI E NORMALIZZAZIONE

FORME NORMALI E NORMALIZZAZIONE FORME NORMALI E NORMALIZZAZIONE Testo di Riferimento Elmasri, Navathe, Sistemi di basi di dati, Pearson 2007 Progettazione Basi di Dati! Tipicamente top-down: da concetti generali (schemi scheletro) per

Dettagli

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

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

Dettagli

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Raffinamento dello schema e forme normali 1 Forme Normali Le forme normali consentono di valutare la qualità delle relazione Sono state proposte diverse forme normali che includono, in ordine di generalità:

Dettagli

Precorso di Matematica

Precorso di Matematica UNIVERSITÀ DEGLI STUDI ROMA TRE FACOLTA DI ARCHITETTURA Precorso di Matematica Anna Scaramuzza Anno Accademico 2005-2006 4-10 Ottobre 2005 INDICE 1. ALGEBRA................................. 3 1.1 Equazioni

Dettagli

Lezione basi di dati 26 gennaio NORMALIZZAZIONE

Lezione basi di dati 26 gennaio NORMALIZZAZIONE Lezione basi di dati 26 gennaio NORMALIZZAZIONE Serve perché nelle tabelle possono verificarsi delle anomalie (come delle ridondanze ad esempio) Immaginiamo questa tabella: 1 La chiave non può contenere

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente

Dettagli

8. Completamento di uno spazio di misura.

8. Completamento di uno spazio di misura. 8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme

Dettagli

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

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

Dettagli

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

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

Dettagli

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero LEZINE 8 8.1. Prodotto scalare. Dati i vettori geometrici v = v x ı + v y j + v z k e w = wx ı + j + k di R 3 definiamo prodotto scalare di v e w il numero v, w = ( v x v y v z ) w x = v x + v y + v z.

Dettagli

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16

Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16 Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema

Dettagli

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno. Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più

Dettagli

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Normalizzazione (Codd, 1972)

Normalizzazione (Codd, 1972) Normalizzazione (Codd, 1972) La normalizzazione non è una tecnica, nè una metodologia di progettazione Le forme normali costituiscono uno dei criteri per ottenere basi di dati relazionali ben progettate

Dettagli

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore

Dettagli

Equazioni di Primo grado

Equazioni di Primo grado Equazioni di Primo grado Definizioni Si dice equazione di primo grado un uguaglianza tra due espressioni algebriche verificata solo per un determinato valore della variabile x, detta incognita. Si chiama

Dettagli

Maiuscole e minuscole

Maiuscole e minuscole Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e

Dettagli

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di DEFINIZIONE Espressione algebrica costituita dal prodotto tra una parte numerica (coefficiente) e una o più variabili e/o costanti (parte letterale). Variabili e costanti possono comparire elevate a potenza

Dettagli

LEZIONE 10. S(C,ρ) Figura 10.1

LEZIONE 10. S(C,ρ) Figura 10.1 LEZIONE 10 10.1. Sfere nello spazio. In questa lezione studieremo alcuni oggetti geometrici non lineari, circonferenze e sfere nello spazio A 3. Poiché le proprietà delle circonferenze nel piano sono del

Dettagli

Costruzione di espressioni regolari 4

Costruzione di espressioni regolari 4 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:

Dettagli

Riconoscere e formalizzare le dipendenze funzionali

Riconoscere e formalizzare le dipendenze funzionali Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse

Dettagli

04 - Logica delle dimostrazioni

04 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,

Dettagli

FORME NORMALI E DIPENDENZE

FORME NORMALI E DIPENDENZE Sistemi Informativi: Forme Normali e Dipendenze FORME NORMALI E DIPENDENZE La teoria della normalizzazione e delle dipendenze ha come scopo principale quello di fornire gli strumenti teorici e pratici

Dettagli

Equivalenza di Espressioni Algebriche

Equivalenza di Espressioni Algebriche Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Equivalenza

Dettagli

ESERCIZI PROPOSTI. Capitolo 5 MCD(15,5) = 15 5 =3. un unico sottogruppo di ordine d, cioè x 20/d = C d. , x 20/10 = x 2 = C 10. , x 20/4 = x 5 = C 4

ESERCIZI PROPOSTI. Capitolo 5 MCD(15,5) = 15 5 =3. un unico sottogruppo di ordine d, cioè x 20/d = C d. , x 20/10 = x 2 = C 10. , x 20/4 = x 5 = C 4 ESERCIZI PROPOSTI Capitolo 5 511 Determinare il periodo dell elemento x 320 del gruppo ciclico C 15 = x x 15 =1 Indicare tutti i generatori del sottogruppo x 320 Soluzione Dividiamo 320 per 15 Si ha 320

Dettagli

Primo modulo: Aritmetica

Primo modulo: Aritmetica Primo modulo: Aritmetica Obiettivi 1. ordinamento e confronto di numeri;. riconoscere la rappresentazione di un numero in base diversa dalla base 10; 3. conoscere differenza tra numeri razionali e irrazionali;

Dettagli

DAI NUMERI NATURALI AI NUMERI RAZIONALI

DAI NUMERI NATURALI AI NUMERI RAZIONALI DAI NUMERI NATURALI AI NUMERI RAZIONALI 1. L insieme dei numeri naturali Nel sistema assiomatico ZF, l Assioma dell infinito stabilisce che: Esiste un insieme A, i cui elementi sono insiemi e tale che

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Precorsi di matematica

Precorsi di matematica Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono

Dettagli

Capitolo 1. Gli strumenti. 1.1 Relazioni

Capitolo 1. Gli strumenti. 1.1 Relazioni Capitolo 1 Gli strumenti Consideriamo un insieme X. In geometria siamo abituati a considerare insiemi i cui elementi sono punti ad esempio, la retta reale, il piano cartesiano. Più in generale i matematici

Dettagli

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1 Corso integrato di Matematica per le scienze naturali ed applicate Materiale integrativo Paolo Baiti 1 Lorenzo Freddi 1 1 Dipartimento di Matematica e Informatica, Università di Udine, via delle Scienze

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Indice. 1 Cenni di logica. 2 Elementi di teoria degli insiemi. 3 Relazioni e funzioni. 4 Strutture algebriche

Indice. 1 Cenni di logica. 2 Elementi di teoria degli insiemi. 3 Relazioni e funzioni. 4 Strutture algebriche Indice 1 Cenni di logica 2 Elementi di teoria degli insiemi 3 Relazioni e funzioni 4 Strutture algebriche Silvia Pianta - Laura Montagnoli Geometria I - Prerequisiti - UCSC A.A. 2015/2016 1 / 36 1. Cenni

Dettagli

DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE

DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 RIDONDANZE E ANOMALIE DIP. FUNZIONALI E FORME NORMALI esempi cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap.6 Ridondanze e anomalie Dipendenze funzionali e implicazione logica Regole di

Dettagli

Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno

Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno Decomposizione di uno schema Dato uno schema relazionale R={A1,A2, An} una sua decomposizione

Dettagli

ESERCIZIO di NORMALIZZAZIONE

ESERCIZIO di NORMALIZZAZIONE ESERCIZIO di NORMALIZZAZIONE (ZOO) Ogni esemplare di animale ospitato dallo zoo è identificato dal suo nome comune e da un numero di inventario progressivo. Informazioni mantenute per ogni esemplare sono

Dettagli

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011 Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma

Dettagli

Metodi per la risoluzione di sistemi lineari

Metodi per la risoluzione di sistemi lineari Metodi per la risoluzione di sistemi lineari Sistemi di equazioni lineari. Rango di matrici Come è noto (vedi [] sez.0.8), ad ogni matrice quadrata A è associato un numero reale det(a) detto determinante

Dettagli

SISTEMI LINEARI MATRICI E SISTEMI 1

SISTEMI LINEARI MATRICI E SISTEMI 1 MATRICI E SISTEMI SISTEMI LINEARI Sistemi lineari e forma matriciale (definizioni e risoluzione). Teorema di Rouché-Capelli. Sistemi lineari parametrici. Esercizio Risolvere il sistema omogeneo la cui

Dettagli

Cenni di logica matematica e di teoria degli insiemi. CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni

Cenni di logica matematica e di teoria degli insiemi. CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni Cenni di logica matematica e di teoria degli insiemi CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni 1 1 Logica matematica Corsi Introduttivi - a.a. 2016/2017 2 Serve

Dettagli

Algoritmi di progettazione di basi di dati relazionali e altre dipendenze

Algoritmi di progettazione di basi di dati relazionali e altre dipendenze Algoritmi di progettazione di basi di dati relazionali e altre dipendenze Nel Capitolo 11 è stata illustrata la tecnica di progettazione relazionale top-down e i relativi concetti che risultano ampiamente

Dettagli

4 0 = 4 2 = 4 4 = 4 6 = 0.

4 0 = 4 2 = 4 4 = 4 6 = 0. Elementi di Algebra e Logica 2008. Esercizi 4. Gruppi, anelli e campi. 1. Determinare la tabella additiva e la tabella moltiplicativa di Z 6. (a) Verificare dalla tabella moltiplicativa di Z 6 che esistono

Dettagli

1 Relazione di congruenza in Z

1 Relazione di congruenza in Z 1 Relazione di congruenza in Z Diamo ora un esempio importante di relazione di equivalenza: la relazione di congruenza modn in Z. Definizione 1 Sia X = Z, a,b Z ed n un intero n > 1. Si dice a congruo

Dettagli

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale Esercizi svolti 1. Matrici e operazioni fra matrici 1.1 Date le matrici 1 2 1 6 A = B = 5 2 9 15 6 risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale Osservazione iniziale: qualunque

Dettagli

Geometria BIAR Esercizi 2

Geometria BIAR Esercizi 2 Geometria BIAR 0- Esercizi Esercizio. a Si consideri il generico vettore v b R c (a) Si trovi un vettore riga x (x, y, z) tale che x v a (b) Si trovi un vettore riga x (x, y, z) tale che x v kb (c) Si

Dettagli

Linguaggi e Grammatiche Liberi da Contesto

Linguaggi e Grammatiche Liberi da Contesto N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica

Dettagli

Funzioni implicite - Esercizi svolti

Funzioni implicite - Esercizi svolti Funzioni implicite - Esercizi svolti Esercizio. È data la funzione di due variabili F (x, y) = y(e y + x) log x. Verificare che esiste un intorno I in R del punto di ascissa x 0 = sul quale è definita

Dettagli

Integrale indefinito

Integrale indefinito Integrale indefinito 1 Primitive di funzioni Definizione 1.1 Se f: [a, b] R è una funzione, una sua primitiva è una funzione derivabile g: [a, b] R tale che g () = f(). Ovviamente la primitiva di una funzione,

Dettagli

Esercitazioni di Meccanica Quantistica I

Esercitazioni di Meccanica Quantistica I Esercitazioni di Meccanica Quantistica I Sistema a due stati Consideriamo come esempio di sistema a due stati l ammoniaca. La struttura del composto è tetraedrico : alla sommità di una piramide con base

Dettagli

Progettazione logica

Progettazione logica Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede

Dettagli

NOZIONI DI LOGICA PROPOSIZIONI.

NOZIONI DI LOGICA PROPOSIZIONI. NOZIONI DI LOGICA PROPOSIZIONI. Una proposizione è un affermazione che è vera o falsa, ma non può essere contemporaneamente vera e falsa. ESEMPI Sono proposizioni : 7 è maggiore di 2 Londra è la capitale

Dettagli

TEORIA DEI SISTEMI SISTEMI LINEARI

TEORIA DEI SISTEMI SISTEMI LINEARI TEORIA DEI SISTEMI Laurea Specialistica in Ingegneria Meccatronica Laurea Specialistica in Ingegneria Gestionale Indirizzo Gestione Industriale TEORIA DEI SISTEMI SISTEMI LINEARI Ing. Cristian Secchi Tel.

Dettagli

FUNZIONI. }, oppure la

FUNZIONI. }, oppure la FUNZIONI 1. Definizioni e prime proprietà Il concetto di funzione è di uso comune per esprimere la seguente situazione: due grandezze variano l una al variare dell altra secondo una certa legge. Ad esempio,

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R. 1 Introduzione alle matrici quadrate 2 2 a coefficienti in R Per introdurre il concetto di matrice, a 2 righe e 2 colonne, iniziamo col considerare griglie o tabelle di numeri Gli elementi della griglia,

Dettagli

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A =

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A = Esercizio 1. Risolvere il sistema lineare 2x 5y +4z = x 2y + z =5 x 4y +6z =10 (1) Soluz. La matrice dei coefficienti è 1 4 6, calcoliamone il rango. Il determinante di A è (applico la regola di Sarrus):

Dettagli

LEZIONE 9. k, tenendo conto delle formule che permettono di calcolare il prodotto scalare ed il prodotto vettoriale, otteniamo

LEZIONE 9. k, tenendo conto delle formule che permettono di calcolare il prodotto scalare ed il prodotto vettoriale, otteniamo LEZIONE 9 9.1. Prodotto misto. Siano dati i tre vettori geometrici u, v, w V 3 (O) definiamo prodotto misto di u, v e w il numero u, v w. Fissiamo un sistema di riferimento O ı j k in S 3. Se u = u x ı

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni.

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni. Politecnico di Torino. Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni. Argomenti: Sottospazi. Generatori. Confrontando sottospazi: intersezione.

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

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

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Gerarchia di Generalizzazione 22 Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Mette in relazione (legami logici) una o più entità, E 2,...,

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard

Dettagli

CORSO DI LAUREA IN MATEMATICA

CORSO DI LAUREA IN MATEMATICA CORSO DI LAUREA IN MATEMATICA ESERCITAZIONI DI ANALISI MATEMATICA I BREVI RICHIAMI DELLA TEORIA DEI LIMITI. Confronto di infinitesimi. Sia A sottoinsieme di R, sia 0 punto di accumulazione di A nella topologia

Dettagli

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica Progettazione logica Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore

Dettagli

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1 Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di

Dettagli

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1 BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1 SOMMARIO DEL TOMO 1 CAPITOLO 1: IL LINGUAGGIO DEGLI INSIEMI 1.1 Gli insiemi e la loro rappresentazione pag. 1 1. I sottoinsiemi pag. 6 1.3 Insieme

Dettagli

1 Equazioni Differenziali

1 Equazioni Differenziali Equazioni Differenziali Un equazione differenziale è un equazione che esprime un legame tra una variabile indipendente x (o t, quando ci riferiamo al tempo) una variabile dipendente y o incognita che sta

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

Piccolo teorema di Fermat

Piccolo teorema di Fermat Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod p). Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod

Dettagli

Anno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali

Anno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali Anno 2 Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali 1 Introduzione In questa lezione tratteremo i poligoni inscritti e circoscritti a una circonferenza, descrivendone

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Risoluzione di Equazioni Algebriche Le equazioni

Dettagli

STUDIO DELLE RADICI DI UNA EQUAZIONE ALGEBRICA DI TERZO GRADO A COEFFICIENTI REALI

STUDIO DELLE RADICI DI UNA EQUAZIONE ALGEBRICA DI TERZO GRADO A COEFFICIENTI REALI M. G. BUSATO STUDIO DELLE RADICI DI UNA EQUAZIONE ALGEBRICA DI TERZO GRADO A COEFFICIENTI REALI mgbstudio.net PAGINA INTENZIONALMENTE VUOTA SOMMARIO In questo scritto viene compiuto lo studio dettagliato

Dettagli

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n SPAZI E SOTTOSPAZI 1 SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n Spazi di matrici. Spazi di polinomi. Generatori, dipendenza e indipendenza lineare, basi e dimensione. Intersezione e somma di sottospazi,

Dettagli

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi Introduzione S S S S Le strutture algebriche sono date da insiemi con leggi di composizione binarie (operazioni) ed assiomi (proprietà) Una legge di composizione binaria è una funzione : I J K, una legge

Dettagli