Corso di Basi di Dati
|
|
- Isidoro Serafini
- 7 anni fa
- Visualizzazioni
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 Argomenti della lezione Forma normale e normalizzazione Ridondanze e anomalie Dipendenze funzionali Forma normale di Boyce e Codd Proprietà delle decomposizioni Forme normali
DettagliBasi 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
DettagliForme 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:
DettagliTornando 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
DettagliCorso 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
DettagliCorso 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
DettagliTecniche 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
DettagliAtzeni, 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,
DettagliUna 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
DettagliDecomposizione 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 è
DettagliForme 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
DettagliPerché 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
DettagliAtzeni, 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
DettagliNormalizzazione 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à
DettagliForme 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.
DettagliLa 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
DettagliNormalizzazione. 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
DettagliNormalizzazione (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:
DettagliBasi 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
DettagliLA 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
DettagliProgettazione 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
DettagliD 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
DettagliNormalizzazione 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
DettagliProgettazione 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
DettagliForme 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
DettagliNormalizzazione. 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
DettagliFondamenti di Teoria delle Basi di Dati
Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 8: Teoria delle dipendenze Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni
DettagliNormalizzazione. 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
DettagliTEORIA 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
DettagliCorso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini 1 Lezione 8 Relazioni in forma normale
DettagliAngelo 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
DettagliIl 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
DettagliTraduzione. 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
DettagliCorso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti di laboratorio: Francesco Pistolesi,, Antonio Virdis 1 Lezione
DettagliNormalizzazione. 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:
DettagliLA 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
DettagliCorso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a
Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente di laboratorio: Francesco Pistolesi 1 Lezione 9 Dipendenze funzionali
DettagliNormalizzazione 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
DettagliVincoli 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
DettagliCapitolo 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
DettagliPROGETTAZIONE 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,
DettagliCorso 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
DettagliLa 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:
DettagliLezione 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.
DettagliNormalizzazione 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
DettagliElementi 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
DettagliSoluzione 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.
DettagliLa 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
DettagliCorso 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
DettagliBasi 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
DettagliCorso 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
Dettagli4. 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
DettagliNORMALIZZAZIONE. 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
Dettagli2. 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
DettagliModulo 2 Data Base 3
Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un
DettagliBasi 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
DettagliAttributi 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à
DettagliDati 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
Dettaglib) 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
DettagliCorso 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
DettagliLezione 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
DettagliNormalizzazione 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
DettagliESERCIZI 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
DettagliForme 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
DettagliNormalizzazione 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à,
DettagliIL 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
DettagliPIL 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:
DettagliBD, 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
DettagliUnità 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
DettagliBasi 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
DettagliMODULO 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
DettagliCorso 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
DettagliCorso 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à
DettagliBasi di dati e Relazioni
Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati
DettagliProgettazione 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
DettagliBASE 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
DettagliNORMALIZZAZIONE. 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
DettagliIl 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
DettagliEsercizio 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
DettagliObiettivi 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
DettagliNormalizzazione 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
DettagliFondamenti 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
DettagliDecomposizione 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 è
DettagliStrategie 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ù
DettagliBasi 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
DettagliNormalizzazione. 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
DettagliIl theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:
Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la
DettagliPrefazione. 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
DettagliNORMALIZZAZIONE 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.
DettagliBASE 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
DettagliESERCIZIO 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,
DettagliAnalisi 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:
DettagliNormalizzazione. 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
DettagliTeoria 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
DettagliProgettare 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
DettagliIntroduzione 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
DettagliNormalizzazione. 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