Corso di Basi di Dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Basi di Dati"

Transcript

1 Corso di Basi di Dati Normalizzazione Home page del corso:

2 Progettazione logica Analisi dei requisiti e progettazione in dettaglio Studio/analisi dei requisiti Risultati SCHEMA CONCETTUALE SCHEMA LOGICO SCHEMA FISICO Fasi della progettazione Progettazione concettuale Progettazione logica Progettazione fisica

3 Lo schema logico prodotto dalla progettazione dovrebbe rispettare dei requisiti di qualità: Completezza à lo schema logico deve contenere tutti i concetti del diagramma E-R Correttezza à lo schema logico deve preservare la semantica del diagramma E-R Efficienza à lo schema logico non deve contenere ridondanze sui dati

4 Le ridondanze sui dati possono essere di due tipi: Ridondanza concettuale à non ci sono duplicazioni dello stesso dato, ma sono memorizzate informazioni che possono essere ricavate da altre già contenute nel DB. Ridondanza logica à esistono duplicazioni sui dati, che possono generare anomalie nelle operazioni sui dati

5 Esempi di ridondanze concettuali che possono presentarsi già nel diagramma E-R Lordo Netto Tasse ATTRIBUTI DERIVABILI STIPENDIO Lo stipendio netto si puo ricavare dal lordo e dalle tasse. Codice Fiscale Nome Il Numero Abitanti si puo ricavare contando le Persone Codice Descrizione Numero Abitanti PERSONA (1,1) RESIDENTI (1,N) CITTA ANALISI DEI COSTI

6 Le ridondanze sui dati possono essere di due tipi: Ridondanza concettuale à non ci sono duplicazioni dello stesso dato, ma sono memorizzate informazioni che possono essere ricavate da altre gia contenute nel DB. Ridondanza logica à esistono duplicazioni sui dati, che possono generare anomalie nelle operazioni sui dati

7 Q. Cosa c e di strano in questa tabella? Docente Livello Salario Dipartimento Direttore Corso Rossi Fisica Neri Mat. Discreta Rossi Chimica Rossini Analisi I Bianchi Informatica Viola Basi di Dati Neri Informatica Viola Programmazione Neri Matematica Bruni Inf. di base Rossi Matematica Bruni Geometria

8 Q. Cosa c e di strano in questa tabella? Docente Livello Salario Dipartimento Direttore Corso Rossi Fisica Neri Mat. Discreta Rossi Chimica Rossini Analisi I Bianchi Informatica Viola Basi di Dati Neri Informatica Viola Programmazione Neri Matematica Bruni Inf. di base Rossi Matematica Bruni Geometria A. Lo stipendio di ciascun docente è ripetuto in tutte le tuple relative à Ridondanze sui dati

9 Q. Cosa c e di strano in questa tabella? Docente Livello Salario Dipartimento Direttore Corso Rossi Fisica Neri Mat. Discreta Rossi Chimica Rossini Analisi I Bianchi Informatica Viola Basi di Dati Neri Informatica Viola Programmazione Neri Matematica Bruni Inf. di base Rossi Matematica Bruni Geometria A. Il direttore di un dipartimento è ripetuto in tutte le tuple relative à Ridondanze sui dati

10 Q. Cosa c e di strano in questa tabella? Docente Livello Salario Dipartimento Direttore Corso Rossi Fisica Neri Mat. Discreta Rossi Chimica Rossini Analisi I Bianchi Informatica Viola Basi di Dati Neri Informatica Viola Programmazione Neri Matematica Bruni Inf. di base Rossi Matematica Bruni Geometria Anomalia di aggiornamento à se varia lo stipendio, devo modificare tutte le tuple del docente

11 Q. Cosa c e di strano in questa tabella? Docente Livello Salario Dipartimento Direttore Corso Rossi Fisica Neri Mat. Discreta Rossi Chimica Rossini Analisi I Bianchi Informatica Viola Basi di Dati Neri Informatica Viola Programmazione Neri Matematica Bruni Inf. di base Rossi Matematica Bruni Geometria Anomalia di cancellazione à Se un docente non ha corsi, dobbiamo eliminare tutti i suoi dati

12 Docente Livello Salario Dipartimento Direttore Corso V1. Ogni dipartimento ha un solo direttore. V2. Ogni docente ha un solo stipendio (anche se ha più corsi). V3. Lo stipendio dipende dal livello e non dal dipartimento o dal corso tenuto PROBLEMA: Abbiamo usato un unica relazione per rappresentare informazioni eterogenee

13 Da dove deriva una ridondanza? Traduzioni non corrette nel modello logico Codice Cognome PERSONA Salario Nome Sede PARTECIPAZIONE (0,N) (1,N) PROGETTO PERSONA Codice NomeProgetto Cognome Salario SedeProgetto

14 Da dove deriva una ridondanza? Errori durante la progettazione concettuale.. L entita PRODOTTO contiene sia le informazioni sul prodotto sia quelle sulle sue componenti. Nome NomeComponente PrezzoProdotto PRODOTTO CollocazioneProdotto TipoComponente Meglio ristrutturare lo schema E-R, partizionando l entità ed introducendo delle relazioni uno-a-molti o molti-a-molti

15 Per risolvere le anomalie viste fin qui, si introduce un nuovo vincolo sul modello relazionale: la Dipendenza Funzionale (DF). Data una relazione r su uno schema R(X) e due attributi Y e Z di X. Esiste la dipendenza funzionale Yà Z se per ogni coppia di tuple t1 e t2 di r con t1[y]=t2[y], si ha anche che t1[z]=t2[z].

16 Impiegato Stipendio Progetto Sede Ruolo Rossi Marte Roma Tecnico Verdi Giove Bologna Tecnico Verdi Venere Milano Progettista Neri Venere Milano Direttore Neri Giove Bologna Direttore Neri Marte Roma Tecnico Bianchi Venere Milano Consulente DF1: Impiegato à Stipendio Spiegazione: [Ogni impiegato ha un unico stipendio]

17 Impiegato Stipendio Progetto Sede Ruolo Rossi Marte Roma Tecnico Verdi Giove Bologna Tecnico Verdi Venere Milano Progettista Neri Venere Milano Direttore Neri Giove Bologna Direttore Neri Marte Roma Tecnico Bianchi Venere Milano Consulente DF2: Progetto à Sede Spiegazione: [Ogni progetto ha un unica sede]

18 Impiegato Stipendio Progetto Sede Ruolo Rossi Marte Roma Tecnico Verdi Giove Bologna Tecnico Verdi Venere Milano Progettista Neri Venere Milano Direttore Neri Giove Bologna Direttore Neri Marte Roma Tecnico Bianchi Venere Milano Consulente DF3: Impiegato Progetto à Impiegato Spiegazione: ovvia (ed inutile)

19 Impiegato Stipendio Progetto Sede Ruolo Rossi Marte Roma Tecnico Verdi Giove Bologna Tecnico Verdi Venere Milano Progettista Neri Venere Milano Direttore Neri Giove Bologna Direttore Neri Marte Roma Tecnico Bianchi Venere Milano Consulente DF4: Impiegato Progetto à Ruolo Spiegazione: Un impiegato puo coprire un solo ruolo per progetto

20 Le dipendenze funzionali sono definite a livello di schema e non a livello di istanza Matricola Cognome Corso Voto 1244 Rossi Basi di Dati Bianchi Programmazione Bianchi Analisi I Verdi Programmazione Verdi Basi di Dati Bruni Analisi I 20 Dipendenza funzionale Corso à Voto? NO

21 Le dipendenze funzionali sono definite a livello di schema e non a livello di istanza Matricola Cognome Corso Docente Voto 1244 Rossi Basi di Dati Di Felice Bianchi Programmazione Messina Bianchi Analisi I Sordoni Verdi Programmazione Messina Verdi Basi di Dati Di Felice Bruni Analisi I Sordoni 20 Dipendenza funzionale Corso à Docente? Puo essere, occorre considerare le specifiche del sistema

22 Le dipendenze funzionali hanno sempre un verso Matricola Cognome Corso Docente Voto 1244 Rossi Basi di Dati Di Felice Bianchi Programmazione Messina Bianchi Analisi I Sordoni Verdi Programmazione Messina Verdi Basi di Dati Di Felice Bruni Analisi I Sordoni Bruni LAM Di Felice 28 Corso à Docente? OK Docente à Corso? NO

23 Le dipendenze funzionali hanno sempre un verso Matricola Cognome Corso Docente Voto 1244 Rossi Basi di Dati Di Felice Bianchi Programmazione Messina Bianchi Analisi I Sordoni Verdi Programmazione Messina Verdi Basi di Dati Di Felice Bruni Analisi I Sordoni Bruni LAM Di Felice 28 Corso à Docente? OK Docente à Corso? NO

24 Le dipendenze funzionali sono una generalizzazione del vincolo di chiave. Data una relazione r con schema R(X), con chiave K. Esiste un vincolo di dipendenza funzionale tra K e qualsiasi attributo dello schema r. K X 1, X 1 X

25 Impiegato Stipendio Progetto Sede Ruolo ESEMPIO. Impiegato,Progetto e una chiave della relazione à non possono esistere due tuple con lo stesso valore della coppia <Impiegato, Progetto> DF 1 : Impiegato Progetto à Stipendio DF 2 : DF 3 : DF 4 : Impiegato Progetto à Sede Impiegato Progetto à Ruolo Impiegato Progetto à Sede Ruolo DF n : Impiegato Progetto à Impiegato Stipendio Progetto Sede Ruolo

26 Impiegato Stipendio Progetto Sede Ruolo Rossi Marte Roma Tecnico Verdi Giove Bologna Tecnico Verdi Venere Milano Progettista Neri Venere Milano Direttore Neri Giove Bologna Direttore Neri Marte Roma Tecnico Bianchi Venere Milano Consulente DF1: Impiegato à Stipendio DF2: Progetto à Sede DF3: Impiegato Progetto à Ruolo

27 Dipendenze funzionali buone e cattive. DF1: Impiegato à Stipendio DF2: Progetto à Sede Ridondanza sui dati, possibili anomalie (aggiornamento, cancellazione, etc) nelle operazioni sui dati DF3: Impiegato Progetto à Ruolo Non determina ridondanze sui dati

28 Perchè DF3 non causa anomalie a differenza di DF1 e di DF2? DF1: Impiegato à Stipendio DF2: Progetto à Sede DF3: Impiegato Progetto à Ruolo Motivo: DF3 ha sulla sinistra una (super)chiave. DF1 e DF2 non contengono una (super)chiave.

29 FORMA NORMALE di BOYCE-CODD (FNBC) Uno schema R(X) si dice in forma normale di Boyce e Codd se per ogni dipendenza funzionale (non ovvia) Yà Z definita su di esso, Y e una superchiave di R(X). Se una relazione è in FNBC, non presenta le anomalie e ridondanze viste fin qui. Se una relazione NON è in FNBC, bisogna trasformarla (normalizzarla) -se possibile- in FNBC.

30 Esempi di relazioni Localita Stato Abitanti Roma Italia Cambridge UK Cambridge US Bologna Italia NY US Localita Stato Prefisso Roma Italia 0039 Cambridge US 001 Cambridge UK 0044 Bologna Italia 0039 NY US 001 DF: Localita Stato à Abitanti Rispetta la FNBC DF: Stato à Prefisso NON rispetta la FNBC

31 Esempi di relazioni Localita Stato Abitanti Roma Italia Cambridge UK Cambridge US Bologna Italia NY US Localita Stato Prefisso Roma Italia 0039 Madrid Spagna 0034 Cambridge UK 0044 Parigi Francia 0033 NY US 001 DF: Localita Stato à Abitanti Rispetta la FNBC DF: Stato à Prefisso NON rispetta la FNBC

32 Q. Come normalizzare una relazione? A. Creare tabelle separate per ogni dipendenza funzionale, ognuna in FNBC IMPIEGATOà STIPENDIO Impiegato Stipendio Rossi Verdi Neri Bianchi IMPIEGATO, PROGETTO à RUOLO Impiegato Progetto Ruolo Rossi Marte Tecnico Verdi Giove Tecnico Verdi Venere Progettista Neri Venere Direttore Neri Giove Direttore Neri Marte Tecnico Bianchi Venere Consulente PROGETTO à SEDE Progetto Marte Giove Venere Sede Roma Bologna Milano

33 Q. Tutte le decomposizioni vanno bene? Impiegato Progetto Sede IMPIEGATOà SEDE Impiegato Sede Rossi Marte Roma Verdi Giove Milano Rossi Verdi Roma Milano PROGETTOà SEDE Progetto Sede Verdi Venere Milano Neri Milano Marte Roma Neri Saturno Milano Giove Milano Neri Venere Milano Venere Saturno Milano Milano DF1. Impiegato à Sede (Ogni impiegato lavora in una sola sede) DF2. Progetto à Sede (Ogni progetto ha la stessa sede)

34 Q. Tutte le decomposizioni vanno bene? Impiegato Sede Progetto Sede Impiegato Progetto Sede Rossi Verdi Neri Roma Milano Milano Marte Roma Giove Milano = Venere Milano Saturno Milano Se combino le due relazioni della decomposizione tramite operatore di join, non ottengo la relazione di partenza (decomposizione con perdita) Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Verdi Saturno Milano Neri Venere Milano Neri Giove Milano Neri Saturno Milano TUPLE SPURIE

35 DECOMPOSIZIONE SENZA PERDITA Uno schema R(X) si decompone senza perdita negli schemi R1(X1) ed R2(X2) se, per ogni possibile istanza r di R(X), il join naturale delle proiezioni di r su X1 ed X2 produce la relazione r di partenza. π X1 (r) π X2 (r) = r In caso di decomposizione con perdite, possono generarsi delle tuple spurie dopo il join.

36 Anche se una decomposizione è senza perdite, può comunque presentare dei problemi di conservazione delle dipendenze Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Venere Milano Neri Saturno Milano IMPIEGATOà SEDE Impiegato Sede Rossi Roma Verdi Milano Neri Milano Impiegato Rossi Verdi Verdi Neri Neri Progetto Marte Giove Venere Venere Saturno Con questa decomposizione, non ho tuple spurie

37 Anche se una decomposizione e senza perdite, puo comunque presentare dei problemi di conservazione delle dipendenze IMPIEGATOà SEDE Impiegato Sede Rossi Roma Verdi Milano Neri Milano Impiegato Rossi Verdi Verdi Neri Neri Neri Progetto Marte Giove Venere Venere Saturno Marte Q. Che accade se aggiungo l impiegato Neri al progetto Marte?

38 Q. Tutte le decomposizioni vanno bene? IMPIEGATOà SEDE Impiegato Sede Impiegato Progetto Impiegato Progetto Sede Rossi Verdi Neri Roma Milano Milano Rossi Verdi Verdi Neri Marte Giove Venere Venere = Rossi Marte Roma Verdi Giove Milano Verdi Venere Milano Neri Venere Milano Neri Saturno Neri Saturno Milano Neri Marte Neri Marte Milano Violazione del vincolo di dipendenza Progetto à Sede

39 REGOLA PRATICA: Per conservare le dipendenze in una decomposizione, ogni dipendenza funzionale dello schema dovrebbe coinvolgere attributi che compaiono tutti insieme in uno degli schemi decomposti r 1 r 2 Impiegato Sede Impiegato Progetto DF1: IMPIEGATO à SEDE, OK, Compare nella prima relazione DF2: PROGETTO à SEDE, Non compare in nessuna relazione

40 Q. Tutte le decomposizioni vanno bene? A. NO Le decomposizione dovrebbero sempre soddisfare tre proprietà: Soddisfacimento della FNBC: ogni relazione prodotta deve essere in FNBC. Decomposizione senza perdita: il join delle relazioni decomposte deve produrre la relazione originaria. Conservazione delle dipendenze: il join delle relazioni decomposte deve rispettare tutte le DF originarie.

41 Q. Data una relazione non in FNBC, è sempre possibile ottenere una decomposizione in FNBC? A. NO consideriamo un controesempio Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano DF1. Progetto Sede à Dirigente DF2. Dirigente à Sede PROBLEMA: DF1 coinvolge tutti gli attributi, nessuna decomposizione puo preservare la dipendenza

42 Per risolvere casi come quello precedente, si introduce una nuova definizione di forma normale meno restrittiva della forma di Boyce e Codd TERZA FORMA NORMALE (TFN) Una relazione r e in terza forma normale se per ogni dipendenza funzionale Xà A dello schema, almeno una delle seguenti condizioni e verificata: X contiene una chiave K di r A appartiene ad almeno una chiave K di r

43 La relazione considerata fin qui rispetta la TFN Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano DF1. Progetto Sede à Dirigente DF2. Dirigente à Sede DF1: Progetto Sede e una chiave à Condizione 1 soddisfatta DF2: Sede e parte di una chiave à Condizione 2 soddisfatta Se è già in TFN, non e necessaria alcuna nomalizzazione Putroppo le ridondanze sui dati restano

44 CONFRONTO TRA TFN e FNBC (SVANTAGGI) La TFN è meno restrittiva della FNBC Tollera alcune ridondanze ed anomalie sui dati. Certifica meno lo qualità dello schema ottenuto. (VANTAGGI) La TFN è sempre ottenibile, qualsiasi sia lo schema di partenza. COME? Algoritmo di normalizzazione in TFN

45 ALGORITMO DI NORMALIZZAZIONE IN TERZA FORMA NORMALE (TFN)

46 TERZA FORMA NORMALE (TFN) Una relazione r è in terza forma normale se per ogni dipendenza funzionale Xà A (non banale) dello schema, almeno una delle seguenti condizioni è verificata: X contiene una chiave K di r (X è una superchiave di r) A appartiene ad almeno una chiave K di r

47 DIPENDENZA FUNZIONALE BANALE Una dipendenza funzionale Xà Y è banale se Y è contenuto in X. ESEMPI: Impiegato Progetto à Impiegato Impiegato Progetto Sede à Impiegato Progetto Questo genere di dipendenze funzionali non ci interessano, e non le conseriamo come tali nel resto della trattazione

48 Data una relazione r con schema R(X) non in TFN, normalizzare in TFN vuol dire: decomporre r nelle relazioni r 1,r 2, r n, garantendo che: Ogni r i (1<=i<=n) è in TFN. La decomposizione è senza perdite. La decomposizione conserva tutte le dipendenze F definite sullo schema R(X) di partenza. r 1 r 2 r n = r

49 Ad esempio, data la relazione: R(MGCRDSPA), con dipendenze funzionali: F= {Mà RSDG, MS à CD, G à R, Dà S, Sà D, MPDà AM} Qual è la sua decomposizione in 3FN? In molti casi, la decomposizione non è intuitiva

50 IDEE alla base dell algoritmo di normalizzazione: Semplificare l insieme di dipendenze F, rimuovendo quelle non necessarie, e trasformando ogni dipendenza in modo che nella parte destra compaia un singolo attributo. Raggruppare gli attributi coinvolti nelle stesse dipendenze, e costruire le relazioni corrispondenti. Assicurarsi che almeno una delle relazioni prodotte contenga la chiave della relazione originaria.

51 IDEE NECESSARIO alla base dell algoritmo INTRODURRE DEFINIZIONI di normalizzazione: FORMALI PER CHIARIRE LE FRASI IN ROSSO Semplificare l insieme di dipendenze F, rimuovendo quelle non necessarie, e trasformando ogni dipendenza in modo che nella parte destra compaia un singolo attributo. Raggruppare gli attributi coinvolti nelle stesse dipendenze, e costruire le relazioni corrispondenti. Assicurarsi che almeno una delle relazioni prodotte contenga la chiave della relazione originaria.

52 IMPLICAZIONE FUNZIONALE Dato un insieme di dipendenze funzionali F, ed una dipendenza funzionale f, diremo che F implica f se ogni relazione r che soddisfa F soddisfa anche f. F: {Impiegato à Livello, Livello à Stipendio} f: Impiegato à Stipendio In questo caso, F implica f? SI Dim. Devo dimostrare che se in una relazione r sono vere entrambe le dipendenze funzionali di F, allora vale anche la dipendenza funzionale f

53 IMPLICAZIONE FUNZIONALE Dato un insieme di dipendenze funzionali F, ed una dipendenza funzionale f, diremo che F implica f se ogni relazione r che soddisfa F soddisfa anche f. F: {Impiegato à Livello, Impiegato à Stipendio} f: Livello à Stipendio In questo caso, F implica f? NO Impiegato Livello Stipendio Neri Rossi

54 CHIUSURA DI UNA DIPENDENZA FUNZIONALE Dato uno schema R(U), con un insieme di dipendenze F. Sia X un insieme di attributi contenuti in U. Si definisce la chiusura di X rispetto ad F (X + F ) come l insieme degli attributi che dipendono funzionalmente da X: X F + = {A A U e F implica X A }

55 Esempio (facile). Siano: R=(ABCDE) F={Aà B, A à C} Vogliamo conoscere la chiusura di A: A + F A + F ={B,C}

56 Esempio (facile). Siano: R=(ABCDE) F={Aà B, A à C, Cà D} Vogliamo conoscere la chiusura di A: A + F A + F ={B,C,D}

57 INPUT: X (attributi) e F (dipendenze) OUTPUT: La chiusura di X rispetto ad F: X + F 1) X + F =X. 2) Per ogni dipendenza f: Yà A in F Se (Y X F + ) (A X F + ) X F + = X F + {A} 3) Ripeti il passo 2 finche non e possibile aggiungere nuovi elementi in X + F.

58 Esempio. Siano: R=(ABCDE) F={Aà B, BCà D, Bà E, Eà C} A + F ={A} A + F ={A,B} A + F ={A,B,E} A + F ={A,B,E,C} A + F ={A,B,E,C,D} // con f: Aà B // con f: Bà E // con f: Eà C // con f: BCà D

59 Q. Come verificare se F implica f: Xà Y? 1. Calcolare la chiusura X + F 1. Se Y appartiene ad X + F, allora F implica f. ESEMPIO F={Aà B, BCà D, Bà E, Eà C} f: Aà E A + F ={A,B,E,C,D}. Quindi F implica Aà E

60 Data una relazione r con schema R(U), l algoritmo per determinare la chiusura X + F puo essere usato anche per verificare se X e una chiave di r. COME? Dato uno schema R(U), con un insieme F di dipendenze funzionali, allora: un insieme di attributi K e una (super)chiave di R(U) se F implica Kà U.

61 Dato uno schema R(U), con un insieme F di dipendenze funzionali, allora: un insieme di attributi K e una (super)chiave di R(U) se F implica Kà U. ESEMPIO R=(ABCDE) F={Aà B, BCà D, Bà E, Eà C} Se A e una chiave allora F implica A à ABCDE. A + F ={A,B,E,C,D} quindi A e una chiave

62 INSIEMI DI DIPENDENZE EQUIVALENTI Dati due insiemi di dipendenze funzionali F 1 ed F 2, essi si dicono equivalenti se F 1 implica ciascuna dipendenza di F 2 e viceversa. ESEMPIO F={Aà B, AB à C} F 1 ={Aà B, Aà C} F e F 1 sono equivalenti Occorre fare 4 verifiche

63 INSIEMI DI DIPENDENZE NON RIDONDANTI Dato un insieme di dipendenze funzionali F definito su uno schema R(U), esso si dice non ridondante se non esiste una dipendenza f di F tale che F-{f} implica f. ESEMPIO F={Aà B, AB à C, Aà C} F e ridondante perche : F-{Aà C} implica Aà C

64 INSIEMI DI DIPENDENZE RIDOTTE Dato un insieme di dipendenze funzionali F definito su uno schema R(U), esso si dice ridotto se(1) non e ridondante, e (2) non e possibile ottenere un insieme F equivalente eliminando attributi dai primi membri di una o piu dipendenze di F. ESEMPIO F={Aà B, AB à C} F NON è ridotto perchè B può essere eliminato da ABà C e si ottiene ancora un insieme F 2 equivalente ad F

65 Dato uno schema R(U) con insieme di dipendenze F, per trovare una copertura ridotta di F si procede in tre passi: 1. Sostituire F con F 1, che ha tutti i secondi membri composti da un singolo attributo. Mà RSDG, MS à CD, G à R, Dà S, Sà D, MPDà AM F 1 ={ Mà R, Mà S, Mà D, Mà G, MS à C, MS à D, Gà R, Dà S, Sà D, MPD à A, MPD à M }

66 STEP 2. Eliminare gli attributi estranei. Supponiamo di avere F={ABà C, Aà B}, e calcoliamo A + F A + F =A A + F =AB // da A à B A + F =ABC // da AB à C C dipende solo da A, quindi l attributo B in ABà C puo essere eliminato preservando l uguaglianza F 1 ={Aà C, A à B}

67 STEP 2. Eliminare gli attributi estranei. Q. In generale, se ho una dipendenza funzionale del tipo: AX à B, come faccio a stabilire se l attributo A può essere eliminato preservando l uguaglianza? A. Si calcola X + e si verifica se esso include B, nel qual caso A puo essere eliminato dalla dipendenza

68 STEP 3. Eliminare le ridondanze non necessarie. Supponiamo di avere F={Bà C, Bà A, Cà A}: Bà A e ridondante, in quanto bastano le relazioni Bà C, e Cà A per capire che A dipende da B Formalmente, dovrei dimostrare che: F-{Bà A} implica {Bà A} quindi, verificare che: B + F-{Bà A} contiene A

69 STEP 3. Eliminare le ridondanze non necessarie. Q. In generale, come posso stabilire se la dipendenza del tipo Xà A e ridondante? A. Si elimina da F, si calcola X + F-{Xà A}, e si verifica se tale insieme include ancora A. Nel caso lo includa, si elimina la dipendenza funzionale Xà A.

70 Dati R(U), ed un insieme di dipendenze F, l algoritmo di normalizzazione in terza forma normale procede come segue: STEP 1. Costruire una copertura ridotta F 1 di F. F={Mà RSDG, MS à CD, G à R, Dà S, Sà D, MPDà AM} F 1 ={Mà D, Mà G, M à C, Gà R, Dà S, Sà D, MPà A}

71 STEP 2. Decomporre F 1 nei sottoinsiemi F 1 (1), F 1 (2), F 1 (n), tali che ad ogni sottoinsieme appartengano dipendenze con gli stessi lati sinistri. F 1 (1) ={Mà D, M à G, Mà C} F 1 (2) ={Gà R} F 1 (3) ={Dà S} F 1 (4) ={Sà D} F 1 (5) ={MPà A}

72 STEP 3. Se due o piu lati sinistri delle dipendenze si implicano a vincenda, si fondono i relativi insiemi. F (1) 1 ={Mà D, M à G, Mà C} F (2) 1 ={Gà R} F 1 (3)={Dà S} F 1 (4)={Sà D} F (5) 1 ={MPà A} F 1 (3)={Dà S, Sà D}

73 STEP 4. Trasformare ciascun F 1 (i) in una relazione R (i) con gli attributi contenuti in ciascuna dipendenza. Il lato sinistro diventa la chiave della relazione. F 1 (1) ={Mà D, M à G, Mà C}: R (1) (MDGC) F (2) 1 ={Gà R}: F (3) 1 ={Dà S, Sà D}: F (4) 1 ={MPà A}: R (2) (GR) R (3) (SD) R (4) (MPA)

74 STEP 5. Se nessuna relazione R (i) cosi ottenuta contiene una chiave K di R(U), inserire una nuova relazione R (n+1) contenente gli attributi della chiave. Nel nostro caso, la chiave e costituita da: (MP). R (1) (MDGC) R (2) (GR) R (3) (SD) R (4) (MPA) R (4) (MPA) contiene la chiave à non c e necessita di aggiungere altre relazioni

75 In conclusione, data la relazione: R(MGCRDSPA), con dipendenze funzionali: F= {Mà RSDG, MS à CD, G à R, Dà S, Sà D, MPDà AM} La sua decomposizione in 3FN e la seguente: R (1) (MDGC) R (2) (GR) R (3) (SD) R (4) (MPA)

76 Esempio: R(ABCDE) F={Cà AB, BC à DE, Dà B} STEP (1.a) Ridurre F. (semplificare parte destra delle dipendenze) F 1 ={Cà A, Cà B, BCà D, BCà E, Dà B} STEP (1.b) Ridurre F. (semplificare parte sinistra delle dipendenze) Calcolo C + F1 ={C,A,B, D, E}, e noto che include D ed E F 2 ={Cà A, Cà B, Cà D, Cà E, Dà B}

77 F 2 ={Cà A, Cà B, Cà D, Cà E, Dà B} STEP (1.c) Ridurre F. (rimuovere dipendenze) Che succede se elimino C à B? F 3 ={Cà A, Cà D, Cà E, Dà B} STEP (2) Decomporre F (in insiemi di dipendenze con lo stesso lato sx) F 31 ={Cà A, Cà D, Cà E} F 32 ={Dà B}

78 F 31 ={Cà A, Cà D, Cà E} F 32 ={Dà B} STEP (3) Fondere gli insiemi. (le cui parti sinistre si implicano) STEP (4) Costruire le relazioni associate. R 1 (CADE) R 2 (DB} STEP (5) Verificare esistenza della chiave. C + ={A,B,C,D,E} à quindi C e una chiave dello schema r

79 Perche si chiama Terza Forma Normale (TFN)? Prima Forma Normale (PFN) à ovvia,si suppone sempre rispettata Seconda Forma Normale (SFN) à variante debole della TFN. Procenendo per gradi, si dovrebbe normalizzare in PFN, poi in SFN, e quindi in TFN.

80 Una relazione r con schema R(U) e in Prima Forma Normale (PFN) quando rispetta i requisiti del modello relazionale, ossia ogni attributo e elementare, e non ci sono righe/colonne ripetute. Esempi di relazioni non in PFN: PAZIENTE (Nome, Cognome, Recapito(Via, Citta, CAP)) PAZIENTE(Nome, Nome, Cognome)

81 Perche si chiama Terza Forma Normale (TFN)? Prima Forma Normale (PFN) à ovvia,si suppone sempre rispettata Seconda Forma Normale (SFN) à variante debole della TFN. Procenendo per gradi, si dovrebbe normalizzare in PFN, poi in SFN, e quindi in TFN.

82 Una relazione r con schema R(U) e in Seconda Forma Normale (SFN) quando non presenta dipendenze parziali, della forma: Yà A, dove: Y e un sottoinsieme proprio della chiave A e un qualsiasi sottoinsieme di R(U) IMPIEGATO(Impiegato, Categoria, Stipendio) Impiegato à Categoria Categoria à Stipendio IN SFN MA NON IN TFN

83 Una relazione r con schema R(U) e in Seconda Forma Normale (SFN) quando non presenta dipendenze parziali, della forma: Yà A, dove: Y e un sottoinsieme proprio della chiave A e un qualsiasi sottoinsieme di R(U) IMPIEGATO(Impiegato, Stipendio, Progetto, Budget) Impiegato à Stipendio Progetto à Budget DIPENDENZA PARZIALE Non in SFN Non in TFN

LA NORMALIZZAZIONE. Prima parte

LA NORMALIZZAZIONE. Prima parte LA NORMALIZZAZIONE Prima parte Argomenti della lezione Forma normale e normalizzazione Ridondanze e anomalie Dipendenze funzionali Forma normale di Boyce e Codd Proprietà delle decomposizioni Forme normali

Dettagli

Basi di dati. La normalizzazione

Basi di dati. La normalizzazione Basi di dati La normalizzazione Forme normali 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

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R La normalizzazione Forme normali 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 non è normalizzata:

Dettagli

Tornando all esempio..

Tornando all esempio.. Tornando all esempio.. gli impiegati hanno un unico stipendio Impiegato Stipendio i progetti hanno un unico bilancio Progetto Bilancio in ciascun progetto, un impiegato svolge una sola funzione Impiegato

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 10 Normalizzazione (cenni) Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Forme normali Una

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2013/2014 10 Normalizzazione (cenni) Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 14/05/2014

Dettagli

Tecniche di normalizzazione

Tecniche di normalizzazione Tecniche di normalizzazione 1 Normalizzazione La normalizzazione è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati; non costituisce una metodologia di progettazione

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : La normalizzazione Forme normali Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi,

Dettagli

Una relazione con anomalie

Una relazione con anomalie Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti collaterali negativi. La normalizzazione è una procedura

Dettagli

Decomposizione senza perdita

Decomposizione senza perdita 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

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie. Forme normali Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill Hill,, 1996-2002 Capitolo 9: La normalizzazione 23/10/2002 Una forma normale è una proprietà di una base di dati relazionale che

Dettagli

Perché questi fenomeni indesiderabili?

Perché questi fenomeni indesiderabili? Forme normali E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 9) La normalizzazione 05/10/2004 Una forma normale è una proprietà di una base

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. La normalizzazione. Concetti che descriveremo

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. La normalizzazione. Concetti che descriveremo Atzeni, Ceri, Paraboschi, Torlone Basi di dati Capitolo 9: La normalizzazione Concetti che descriveremo Forma normale di uno schema relazionale Normalizzazione di uno schema relazionale Dipendenza funzionale

Dettagli

Normalizzazione di Basi di Dati

Normalizzazione di Basi di Dati Normalizzazione di Basi di Dati Prof.ssa Rosalba Giugno Queste slides sono state modificate a partire da quelle fornite dagli autori del nostro libro di testo Forme normali Una forma normale è una proprietà

Dettagli

Forme normali 1NF,2NF,3NF,BCNF

Forme normali 1NF,2NF,3NF,BCNF Forme normali 1NF,2NF,3NF,BCNF Definizione 2 Prima forma normale (1NF) 3 Uno schema di relazione R(X) è in prima forma normale se ogni attributo di X è un attributo semplice, ovvero con dominio atomico.

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

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

Normalizzazione (cenni)

Normalizzazione (cenni) Normalizzazione (cenni) Forme normali 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 non è normalizzata:

Dettagli

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali Basi di Dati e Sistemi Informativi nei database relazionali Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione La modellazione E-R ci ha consentito di descrivere schemi relazionali

Dettagli

LA NORMALIZZAZIONE. Seconda parte

LA NORMALIZZAZIONE. Seconda parte LA NORMALIZZAZIONE Seconda parte Argomenti della lezione Richiami di normalizzazione Terza forma normale Decomposizione in terza forma normale Verifiche di normalizzazione su schemi E-R Altre forme di

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione

Dettagli

D B M G D B M G 2. Progettazione di basi di dati. Normalizzazione

D B M G D B M G 2. Progettazione di basi di dati. Normalizzazione Progettazione di basi di dati D B M G Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze

Dettagli

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze D B M G

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze 007 Politecnico

Dettagli

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF Prima forma normale (1NF) 22 Forme normali Uno schema di relazione R(X) è in prima forma normale se ogni attributo di X è un attributo semplice, ovvero con dominio atomico. 1NF,2NF,3NF,BCNF Nel modello

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

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 8: Teoria delle dipendenze Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni

Dettagli

Normalizzazione. Le forme normali. La normalizzazione. Applicazione forme normali

Normalizzazione. Le forme normali. La normalizzazione. Applicazione forme normali Le forme normali Normalizzazione Una forma normale èuna proprietà che deve essere soddisfatta dai valori degli attributi di ogni schema di relazione di una base dati; tale proprietà garantisce un certo

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

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

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

Dettagli

Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone. Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 6

Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone. Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 6 La forme normali Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 6 Appunti dalle lezioni SQL come DDL Sistemi

Dettagli

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

Dettagli

Traduzione. Associazioni n-arie

Traduzione. Associazioni n-arie Una volta riorganizzato lo schema si può passare alla traduzione dal modello E-R a quello relazionale. di associazioni molti a molti Tipicamente, passando dal modello E-R a quello relazionale, si procede

Dettagli

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti di laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Lezione

Dettagli

Normalizzazione. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

Normalizzazione. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Normalizzazione Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2005/2006 docente: ing. Corrado Aaron Visaggio email:

Dettagli

LA NORMALIZZAZIONE. Dr. C. d'amat

LA NORMALIZZAZIONE. Dr. C. d'amat LA NORMALIZZAZIONE Dr. C. d'amat Forme normali 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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente di laboratorio: Francesco Pistolesi 1 Lezione 9 Dipendenze funzionali

Dettagli

Normalizzazione Delle Relazioni

Normalizzazione Delle Relazioni Normalizzazione Delle Relazioni Introduzione La normalizzazione è un processo di controllo della struttura delle relazioni (tabelle) che costituiscono lo schema logico relazionale della base di dati, al

Dettagli

Vincoli di integrità Normalizzazione

Vincoli di integrità Normalizzazione Vincoli di integrità Normalizzazione A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Integrità dei dati 2 Integrità dei dati Studenti Matricola

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

PROGETTAZIONE DI DATABASE

PROGETTAZIONE DI DATABASE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Le Forme Normali Lezione 14 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque può copiare,

Dettagli

Corso di Basi di Dati

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

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

Lezione 8. La normalizzazione

Lezione 8. La normalizzazione Tecnologie dei sistemi informatici: Basi di Dati e Reti Lezione 8 La normalizzazione Prof. Gabriella Carrozza ga.carrozza@unina.it Fonti e riferimenti o Cap. 6 o Approfondimenti o Basi di dati Atzeni Ed.

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

Elementi di Normalizzazione

Elementi di Normalizzazione Elementi di Normalizzazione Corso di Informatica Aziendale Prof. Crescenzio Gallo c.gallo@unifg gallo@unifg.itit Introduzione! La normalizzazione puo essere vista come un processo sistematico basato sull

Dettagli

Soluzione proposta dal Prof. Rio Chierego dell ISIS Guido Tassinari di Pozzuoli

Soluzione proposta dal Prof. Rio Chierego dell ISIS Guido Tassinari di Pozzuoli PARTE SECONDA: III quesito COME DA APPUNTI ILLUSTRATI A LEZIONE DEF: Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità misurata in assenza di determinati difetti.

Dettagli

La normalizzazione delle basi di dati

La normalizzazione delle basi di dati La normalizzazione delle basi di dati Cfr. Albano Ghelli Orsini Basi di dati relazionali e a oggetti Zanichelli, 1997, cap. 6 Forme normali Una forma normale è una proprietà di una base di dati relazionale

Dettagli

Corso di Informatica. Prerequisiti. Modulo T2 D2.2 - La normalizzazione 2. Elementi di algebra relazionale Requisiti di una base di dati

Corso di Informatica. Prerequisiti. Modulo T2 D2.2 - La normalizzazione 2. Elementi di algebra relazionale Requisiti di una base di dati Corso di Informatica Modulo T2 D2.2 - La normalizzazione 2 1 Prerequisiti Elementi di algebra relazionale Requisiti di una base di dati 2 1 Introduzione In questa Unità vediamo alcuni esempi di relazioni

Dettagli

Basi di Dati. Progettazione di Basi di Dati: Introduzione. Sommario. Il Processo di Sviluppo dell Applicazione

Basi di Dati. Progettazione di Basi di Dati: Introduzione. Sommario. Il Processo di Sviluppo dell Applicazione Basi di Dati Progettazione di Basi di Dati: Introduzione Progettazione della Base di Dati >> Sommario Introduzione Sommario Il Processo di Sviluppo dell Applicazione Analisi Modello Concettuale Progettazione

Dettagli

Corso di Informatica. Prerequisiti. Modulo T2 D2.1 - La normalizzazione 1

Corso di Informatica. Prerequisiti. Modulo T2 D2.1 - La normalizzazione 1 Corso di Informatica Modulo T2 D2.1 - La normalizzazione 1 1 Prerequisiti E necessario conoscere: Chiave Chiave candidata Chiave primaria Attributi semplici Attributi strutturati Attributi multivalore

Dettagli

4. Forma normale di Boyce-Codd

4. Forma normale di Boyce-Codd LIBRERIA WEB 4. Forma normale di Boyce-Codd Una relazione è in forma normale di Boyce-Codd (BCNF, Boyce-Codd Normal Form) quando rispetta le caratteristiche fondamentali del modello relazionale (1FN) e

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

2. Complementi di metodologia di progettazione. 2. Complementi di metodologia di progettazione. Fasi della progettazione. COSA concettuale COME

2. Complementi di metodologia di progettazione. 2. Complementi di metodologia di progettazione. Fasi della progettazione. COSA concettuale COME 2. Complementi di metodologia di progettazione Forme normali e normalizzazione Paolo Atzeni 08/06/2005 2.1 Dipendenze funzionali, anomalie e normalizzazione 2.2 La forma normale di Boyce-Codd 2.3 La terza

Dettagli

Modulo 2 Data Base 3

Modulo 2 Data Base 3 Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un

Dettagli

Basi di Dati - VII. Schemi relazionali e anomalie. Teoria Relazionale: Introduzione. Teoria Relazionale: Introduzione

Basi di Dati - VII. Schemi relazionali e anomalie. Teoria Relazionale: Introduzione. Teoria Relazionale: Introduzione Basi di Dati - VII Corso di Laurea in Informatica Anno Accademico 2013/2014 Schemi relazionali e anomalie Paolo Baldan baldan@math.unipd.it http://www.math.unipd.it/~baldan Teoria Relazionale: Introduzione

Dettagli

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

Attributi e domini. per brevità scriviamo: A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un insieme 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

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Proiezione Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è l insieme di tuple su Y ottenute dalle tuple di r considerando solo i valori

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 Andrea Gasparetto 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 anomalie

Dettagli

Corso di Basi di Dati

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

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

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

ESERCIZI NORMALIZZAZIONE

ESERCIZI NORMALIZZAZIONE ESERCIZI NORMALIZZAZIONE Esercizio 1! Considerate il seguente schema relazionale R(A,B,C,D) e l insieme F di DF F = (A! BC,C! AD). 1. Identificare la chiave o le chiavi candidate. 2. Identificare la migliore

Dettagli

Forme normali e normalizzazione

Forme normali e normalizzazione Forme normali e normalizzazione Paolo Atzeni 02/04/2007 (aggiornato 17/4/2007 con piccole correzioni) Contenuti Riepilogo del capitolo 10 ( La normalizzazione ) del testo di Atzeni, Ceri, Paraboschi, Torlone

Dettagli

Normalizzazione di schemi relazionali

Normalizzazione di schemi relazionali Normalizzazione di schemi relazionali Dario Maio http://www.csr.unibo.it/~maio/ dmaio@deis.unibo.it 1 Forme normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità,

Dettagli

IL PROGETTO DI UNA BASE DI DATI RELAZIONALE. Università(Matr,Nome,Città,Prov,C#,Titolo,Docente, C_laurea,Data,Voto)

IL PROGETTO DI UNA BASE DI DATI RELAZIONALE. Università(Matr,Nome,Città,Prov,C#,Titolo,Docente, C_laurea,Data,Voto) IL PROGETTO DI UNA BASE DI DATI RELAZIONALE 1. La Terza Forma Normale Immaginiamo di dover progettare una base di dati relazionale contenente i dati degli studenti e dei corsi di un Università. La prima

Dettagli

PIL Percorsi di Inserimento Lavorativo

PIL Percorsi di Inserimento Lavorativo PIL - 2008 Percorsi di Inserimento Lavorativo Basi di Dati - Lezione 2 Il Modello Relazionale Il modello relazionale rappresenta il database come un insieme di relazioni. Ogni RELAZIONE è una tabella con:

Dettagli

BD, Seconda prova di verifica, del 20/12/2013

BD, Seconda prova di verifica, del 20/12/2013 BD, Seconda prova di verifica, del 20/12/2013 1. Si consideri il seguente schema R(ABCDE,{AC D, CE A, ABC E, CD E}) (a) Si portino le dipendenze in forma canonica (b) Si trovino tutte le chiavi. (c) Si

Dettagli

Unità 3. Modello Relazionale

Unità 3. Modello Relazionale Unità 3 Modello Relazionale Modello Logico Modelli logico che deriva da concetti Matematici Permette di descrivere in modo corretto ed efficiente tutte le informazioni contenute nel modello E/R Meno astrato

Dettagli

Basi di dati 8 novembre 2010 Prova parziale Compito A

Basi di dati 8 novembre 2010 Prova parziale Compito A Basi di dati 8 novembre 2010 Prova parziale Compito A Cognome: Nome: Matricola: Domanda 1 (15%) Si supponga di voler rappresentare in una base di dati relazionale le informazioni relative al calendario

Dettagli

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati MODULO 2 TITOLO Basi di dati Il modulo introduce le basi di dati. Si definisce la differenza tra sistema informativo ed informatico e successivamente si trattano i limiti della gestione ad archivi, giungendo

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione di Basi di Dati: Overview Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Negli esempi visti fin ora, abbiamo studiato come implementare una base di dati

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione Modulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La normalizzazione di una base di dati 2 La normalizzazione delle tabelle Una forma normale è una proprietà

Dettagli

Basi di dati e Relazioni

Basi di dati e Relazioni Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati

Dettagli

Progettazione logica: normalizzazione di schemi relazionali

Progettazione logica: normalizzazione di schemi relazionali Progettazione logica: normalizzazione di schemi relazionali Sistemi Informativi T Versione elettronica: 08.3.progLogica.normalizzazione.pdf Forme normali Una forma normale èuna proprietà di uno schema

Dettagli

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica)

BASE DI DATI. collezione di dati, utilizzati per rappresentare le. (accezione specifica) collezione di dati gestita da un DBMS. (accezione generica) BASE DI DATI (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione. (accezione specifica) collezione di dati

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

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale foglia@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

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

Obiettivi della normalizzazione: In pratica:

Obiettivi della normalizzazione: In pratica: La normalizzazione Obiettivi della normalizzazione: evitare la ripetizione e la ridondanza dei dati, durante la fase di definizione della struttura di una tabella, al fine di evitare futuri problemi nelle

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

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro

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

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Basi di dati e Relazioni

Basi di dati e Relazioni Matricola Cognome Nome Data di nascita Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti contiene dati su un insieme di studenti Corsi contiene

Dettagli

Normalizzazione. Motivazione

Normalizzazione. Motivazione Normalizzazione Motivazione Lo schema logico di una base dati, rappresentato attraverso il modello relazionale, sia che sia stato derivato dalla traduzione di un precedente schema concettuale, sia che

Dettagli

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:

Il theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti: Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la

Dettagli

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15 Prefazione xi 1 Introduzione 1 1.1 Sistemi informativi, informazioni e dati... 1 1.2 Basi di dati e sistemi di gestione di basi di dati... 3 1.3 Modelli dei dati... 6 1.3.1 Schemi e istanze... 8 1.3.2

Dettagli

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

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

Dettagli

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino

BASE DI DATI. (accezione specifica) collezione di dati gestita da un DBMS. Università degli Studi di Cassino BASE DI DATI (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione. (accezione specifica) collezione di dati

Dettagli

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online: NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online: UTENTI (Codice, Nome, Cognome, Recapito) LIBRI(Titolo,

Dettagli

Analisi dei requisiti

Analisi dei requisiti Analisi dei requisiti I requisiti devono innanzitutto essere acquisiti Le fonti possono essere molto diversificate tra loro: utenti, attraverso: interviste documentazione apposita documentazione esistente:

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

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

Progettare Basi di Dati

Progettare Basi di Dati Progettare Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Elementi di informatica per l economia Teoria della normalizzazione La teoria della normalizzazione ha come scopo

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

Normalizzazione. La normalizzazione è un processo con il quale le tabelle vengono trasformate

Normalizzazione. La normalizzazione è un processo con il quale le tabelle vengono trasformate Normalizzazione La normalizzazione è un processo con il quale le tabelle vengono trasformate Ogni tabella deve corrispondere ad un singolo oggetto della realtà Le regole di normalizzazione sono definite

Dettagli