FORME NORMALI E NORMALIZZAZIONE
|
|
|
- Sibilla Rostagno
- 9 anni fa
- Visualizzazioni
Transcript
1 FORME NORMALI E NORMALIZZAZIONE Testo di Riferimento Elmasri, Navathe, Sistemi di basi di dati, Pearson 2007 Progettazione Basi di Dati! Tipicamente top-down: da concetti generali (schemi scheletro) per analisi successive fino al livello di dettaglio desiderato! Come misurare la bontà di uno schema di base di dati?! Una misura è legata alla presenza di ridondanze nei valori memorizzati nelle tuple Giorgio Giacinto 2010 Database 2
2 I mali della ridondanza! La ridondanza è alla base di diversi problemi associati agli schemi relazionali! memorizzazione ridondante (spreco spazio memoria)! anomalie da! inserimento/cancellazione/aggiornamento! Vincoli di integrità, in particolare dipendenze funzionali, possono essere usate per identificare gli schemi con tali problemi e per suggerire raffinamenti Giorgio Giacinto 2010 Database 3 Un esempio SSN Nome pp esperienza paga_oraria ore_lavorate Attishoo Smiley Smethurst Guldu Madayan ! La chiave è SSN! Ipotizziamo che paga_oraria sia determinato da esperienza! Questo genera ridondanze che possono creare problemi Giorgio Giacinto 2010 Database 4
3 Problemi generati dalle ridondanze! Memorizzazione ridondante! La stessa associazione esperienza-paga è ripetuta più volte! Anomalie da aggiornamento! Una modifica su una tupla potrebbe non essere seguita da modifiche alle tuple analoghe! Anomalie da inserimento! Non possiamo inserire una tupla per un impiegato senza sapere il valore della paga associata al suo livello di esperienza! Anomalie da cancellazione! Se cancelliamo tutte le tuple con un dato livello di esperienza, perdiamo l informazione sulla paga associata Giorgio Giacinto 2010 Database 5 Decomposizione di relazioni! Principale tecnica di raffinamento decomposizione (sostituire ABCD con, per esempio, AB e BCD, oppure ACD e ABD)! La decomposizione dovrebbe essere usata con giudizio! C è una ragione per decomporre una relazione?! Che problemi causa (se ne causa) una decomposizione? Giorgio Giacinto 2010 Database 6
4 Un esempio (segue) Possibile decomposizione SSN Nome pp esperienza ore_lavorate Attishoo Smiley Smethurst Guldu Madayan Esperienza è chiave per la seconda relazione esperienza paga_oraria Giorgio Giacinto 2010 Database 7 DIPENDENZE FUNZIONALI
5 Dipendenze funzionali (DF) Siano X e Y due sottoinsiemi di attributi di una relazione R, e t 1 e t 2 due tuple in r! Una dipendenza funzionale X Y vale su una relazione R se, per ogni istanza ammissibile r di R! X (t 1 ) =! X (t 2 ) implica! Y (t 1 ) =! Y (t 2 ) cioè, date due tuple in r, se i valori di X sono uguali, allora anche i valori di Y devono essere uguali Giorgio Giacinto 2010 Database 9 Dipendenze Funzionali (segue)! Una DF è una affermazione su tutte le istanze di relazioni ammissibili per una data applicazione! Deve essere identificata in base alla semantica! Data una istanza ammissibile r 1 di R, possiamo controllare se essa viola qualche DF f, ma non possiamo dire se f vale su R!! Dire che K è una chiave candidata per R significa che K E (E indica l insieme di attributi di R)! Però, K E non richiede che K sia minimale! Giorgio Giacinto 2010 Database 10
6 Chiusura di un insieme di DF! Una DF f è implicata da un insieme F di DF se f è soddisfatta quando sono soddisfatte le DF in F! Date alcune DF (in genere quelle semanticamente evidenti), possiamo inferire DF aggiuntive! cf rid, rid parcheggio implica cf parcheggio! Si definisce chiusura di F (F + ) l insieme di tutte le DF che sono implicate da F! Regole di Armstrong per calcolare la chiusura X, Y, Z sono insiemi di attributi! Riflessività: Se Y " X, allora X Y! Aumento: Se X Y, allora XZ YZ per ogni Z! Transitività: Se X Y e Y Z, allora X Z Giorgio Giacinto 2010 Database 11 Chiusura di un insieme di DF (segue)! Regole addizionali (derivate da Regole Armstrong)! Unione: Se X Y e X Z, allora X YZ! Decomposizione: Se X YZ, allora X Y e X Z Esempio: Contratti(cid, fid, gid, did, pid, qta, val)! C è la chiave: C CFGDPQV! Un progetto (G) acquista ciascun pezzo (P) usando un singolo contratto: GP C! Un dipartimento (D) acquista al più un pezzo da un fornitore (F): FD P! GP C, C CFGDPQV implica GP CFGDPQV! FD P implica FDG GP! FDG GP e GP CFGDPQV implica FDG CFGDPQV Giorgio Giacinto 2010 Database 12
7 Chiusura degli attributi! Calcolare la chiusura di un insieme di DF può essere costoso! La dimensione della chiusura è esponenziale nel numero di attributi!! Di solito è di interesse verificare se una data DF X Y è nella chiusura di un insieme di DF F.! Si calcola la chiusura dell attributo X (indicato con X + ) rispetto F! insieme di tutti gli attributi A tali che X A sia in F +! Si controlla se Y è in X +! F = {A B, B C, CD E} implica A E?! Cioè, A E è nella chiusura F +? In maniera equivalente, è E in A +? Giorgio Giacinto 2010 Database 13 Algoritmo per il calcolo della chiusura degli attributi X + = X; repeat oldx + = X + ; for ogni dipendenza funzionale U#V in F do if U " X + then X + = X + $ V; until (X + = oldx + ); Questo algoritmo può essere utilizzato per ottenere tutte le chiavi candidate di una relazione Si verifica per quali insiemi di attributi X, la chiusura contiene tutti gli attributi della relazione Giorgio Giacinto 2010 Database 14
8 FORME NORMALI Forme normali! Se una relazione è in una certa forma normale (BCNF, 3NF, etc) siamo certi che alcuni problemi sono evitati/minimizzati. Ciò può aiutarci a decidere se decomporre la relazione sia utile.! Ruolo delle DF nel rilevare la ridondanza! Consideriamo una relazione R con 3 attributi, ABC.! Non ci sono DF: non c è ridondanza! È data A B: diverse tuple potrebbero avere lo stesso valore A, e se ciò si verifica, esse avranno tutte lo stesso valore B! Giorgio Giacinto 2010 Database 16
9 Superchiavi, chiavi e attributi primi! Una superchiave di uno schema R = {A 1, A 2,,A n } è un insieme di attributi S " R tale che non esistono due tuple t 1 e t 2 tali che t 1 [S] = t 2 [S] Una chiave K è una superchiave minimale la rimozione di un qualsiasi attributo fa perdere a K la proprietà di essere superchiave Uno schema può avere più chiavi candidate! Un attributo di R è detto attributo primo se esso è membro di una qualche chiave candidata di R. Giorgio Giacinto 2010 Database 17 Forme Normali! Vedremo le 4 forme normali principali! BCNF (Boyce-Codd Normal Form)! 3NF (Third Normal Form)! 2NF (Second Normal Form)! 1NF (First Normal Form)! Ciascuna forma normale implica le forme normali precedenti! Una relazione soddisfa almeno la 1NF Il dominio di ciascun attributo comprende solo valori atomici (indivisibili) e il valore di ciascun attributo in una tupla deve essere un valore singolo del dominio di quell attributo Giorgio Giacinto 2010 Database 18
10 Violazione della 1NF attributi multivalore Giorgio Giacinto 2010 Database 19 Violazione della 1NF relazioni annidate Giorgio Giacinto 2010 Database 20
11 Seconda Forma Normale (2NF)! Una relazione R con DF F è in 2NF se! ogni attributo non-primo A di R dipende funzionalmente in modo completo da ogni chiave di R! X A è una dipendenza funzionalmente completa se eliminando qualunque attributo Y da X la dipendenza funzionale non sussiste più, cioè (X % {Y}) A non è una DF di R! Dipendenze funzionalmente non complete sono dette dipendenze parziali! In una relazione in 2NF ogni attributo non-primo non è parzialmente dipendente da alcuna chiave Giorgio Giacinto 2010 Database 21 Dipendenze transitive! La definizione di dipendenza transitiva è utile per illustrare la terza forma normale (3NF)! Una dipendenza funzionale X A è una dipendenza transitiva se esiste un insieme di attributi Z che! non è una chiave candidata! non è un sottoinsieme di una chiave tale che vale X Z e Z A Giorgio Giacinto 2010 Database 22
12 Terza Forma Normale (3NF)! Una relazione è in 3NF se soddisfa la 2NF e nessun attributo non-primo dipende in modo transitivo da qualche chiave (Codd, 1972)! Definizione generale Una relazione R con DF F è in 3NF se, per tutte le X A in F +! A " X (DF banale) oppure! X è una superchiave di R oppure! A è un attributo primo di R Giorgio Giacinto 2010 Database 23 Violazione della 3NF! La 3NF viene violata se esiste una DF X A che non soddisfa entrambe le condizioni della 3NF. I casi possibili sono i seguenti! X non è chiave né sottoinsieme di chiave e A è attributo non-primo! C è una catena di DF K X X A, cioè una dipendenza transitiva! X è un sottoinsieme di qualche chiave K! Memorizziamo la coppia (X, A) in maniera ridondante! è una dipendenza parziale (è violata anche 2NF) Giorgio Giacinto 2010 Database 24
13 Violazione della 3NF L attributo non primo DMGRSSN dipende transitivamente dalla chiave SSN SSN DMGRSSN SSN DNUMBER e DNUMBER DMGRSSN Giorgio Giacinto 2010 Database 25 Violazione della 2NF La chiave è (SSN,PNUMBER), ma valgono le DF parziali! SSN ENAME! PNUMBER PNAME! PNUMBER PLOCATION Giorgio Giacinto 2010 Database 26
14 Forma normale di Boyce-Codd (BCNF)! Una relazione R con DF F è in BCNF se, per tutte le X A in F +! A " X (chiamata DF banale) oppure! X è una superchiave di R! R è in BCNF se le sole DF non banali che valgono su R sono vincoli di chiave! Non ci possono essere ridondanze in R, non essendoci altre DF diverse dai vincoli di chiave Giorgio Giacinto 2010 Database 27 Relazione fra BCNF e 3NF! Se R è in BCNF, ovviamente è in 3NF! Se R è in 3NF, qualche ridondanza è possibile.! È un compromesso, usato quando la BCNF non è ottenibile! ad esempio, non c è una decomposizione buona, oppure per considerazioni relative alle prestazioni! È sempre possibile decomporre una relazione R in una collezione di relazioni 3NF senza-perdita che conservi le dipendenze Giorgio Giacinto 2010 Database 28
15 Una relazione in 3NF che non soddisfa la BCNF Giorgio Giacinto 2010 Database 29 Determinare la forma normale di una relazione! Si inizia a verificare se la relazione soddisfa la BCNF! Se la relazione non è in BCNF, si verifica se soddisfa la 3NF! Se la relazione non è in 3NF, si verifica se soddisfa la 2NF! Se la relazione non soddisfa neanche la 2NF, allora è in 1NF Giorgio Giacinto 2010 Database 30
16 Sintesi forme normali Forma normale Prima (1NF) Seconda (2NF) Terza (3NF) Verifica Le relazioni non devono contenere attributi multivalore o relazioni annidate Nel caso di relazioni in cui la chiave primaria contiene più attributi, nessun attributo nonprimo deve essere funzionalmente dipendente da una parte della chiave primaria La relazione non deve contenere attributi non-primi che siano funzionalmente dipendenti da altri attributi non-primi. Rimedio (Normalizzazione) Creare nuove relazioni per ciascun attributo multivalore o per ciascuna relazione annidata Decomporre creando una nuova relazione per ciascuna chiave parziale con i relativi attributi dipendenti. Deve rimanere anche una relazione che contiene la chiave primaria originaria e tutti gli attributi che sono dipendenti in modo completo dalla chiave Decomporre creando una relazione che contenga gli attributi non-primi che determinano funzionalmente altri attributi non primi Giorgio Giacinto 2010 Database 31 PROPRIETÀ DELLE DECOMPOSIZIONI
17 Decomposizione di uno schema di relazione! La relazione R contenga attributi A1... An.! Una decomposizione di R consiste nella sostituzione di R con due o più relazioni tali che! Ciascun nuovo schema contiene un sottoinsieme degli attributi di R (e nessun attributo che non appartiene a R)! Ogni attributo di R appare come attributo di una delle nuove relazioni! Proiezione di un insieme F di DF! se R viene decomposta in X e Y, la proiezione di F + su X (F X ) è l insieme di DF U V in F + tale che U, V siano in X Giorgio Giacinto 2010 Database 33 Esempio di decomposizione! Relazione R(C,N,P,E,O,L)! CNPEOL ha DF C CNPEOL e E O! La seconda DF causa la violazione della 3NF! valori di O ripetutamente associati a valori di E.! Il modo più facile per risolverla è! creare una relazione EO per memorizzare queste associazioni! rimuovere O dallo schema principale cioè, decomporre CNPEOL in CNPEL e EO! Se memorizziamo solo le proiezioni di queste tuple su CNPEL e EO, ci sono potenziali problemi cui dovremmo prestare attenzione? Giorgio Giacinto 2010 Database 34
18 Problemi con le decomposizioni! Ci sono tre potenziali problemi da considerare 1. Alcune interrogazioni possono diventare costose! Quanto guadagna Joe? (salario = O*L) 2. Dalle istanze delle relazioni decomposte, potremmo non essere in grado di ricostruire la corrispondente istanza della relazione originale! 3. Il controllo di alcune dipendenze potrebbe richiedere un join fra le istanze delle relazioni decomposte! Dobbiamo fare un compromesso fra la potenziale presenza di questi problemi e l eliminazione delle ridondanze Giorgio Giacinto 2010 Database 35 Decomposizioni senza-perdita! La decomposizione di R in X e Y è senza-perdita rispetto a un insieme F di DF se, per ogni istanza r che soddisfa F! X (r)!"! Y (r) = r! È sempre vero che r "! X (r)!"! Y (r)! Se l uguaglianza è verificata la decomposizione è senzaperdita! La definizione si estende facilmente a decomposizioni in 3 o più relazioni! È essenziale che tutte le decomposizioni usate per risolvere la ridondanza siano senza-perdita!! Si evita il problema (2) Giorgio Giacinto 2010 Database 36
19 Decomposizioni senza-perdita! La decomposizione di R in X e Y è senza-perdita rispetto a F se e solo se F + contiene! X & Y X, oppure! X & Y Y gli attributi comuni formano una chiave per X o Y! Se U V vale su R e U & V è vuota la decomposizione di R in UV e R V è senza-perdita A B C A B C A B B C Giorgio Giacinto 2010 Database 37 Decomposizioni che conservano le dipendenze! Consideriamo CFGDPQV C è la chiave, GP C e FD P! Decomposizione BCNF: CFGDQV e FDP! Problema: controllare GP C richiede un join!! Decomposizione che conserva le dipendenze (intuitiva)! se R è decomposta in X, Y e Z, e garantiamo che valgano le DF su X, su Y e su Z, allora devono valere anche tutte le DF che valevano su R! si evita il problema (3) Giorgio Giacinto 2010 Database 38
20 Decomposizioni che conservano le dipendenze (segue)! La decomposizione di R in X e Y conserva le dipendenze se (F X $ F Y ) + = F +! È importante considerare F +, non F, in questa definizione! ABC, A B, B C, C A, decomposta in AB e BC! Le dipendenze sono conservate? Viene conservata C A?! La conservazione delle dipendenze non implica la proprietà senza-perdita! ABC, A B, decomposta in AB e BC e viceversa! Giorgio Giacinto 2010 Database 39 NORMALIZZAZIONE
21 Decomposizione in BCNF! Se X Y (Y singolo attributo) viola la BCNF, si decompone R in R Y e XY! Applicazioni ripetute producono una collezione di relazioni in BCNF! Decomposizione senza-perdita! Ad esempio CFGDPQV, chiave C, GP C, FD P, G F! Per eliminare FD P, decomponiamo in FDP, CFGDQV! Per eliminare G F, decomponiamo CFGDQV in GF e CGDQV! L ordine in cui si analizzano le dipendenze che violano la BCNF può portare a decomposizioni diverse Giorgio Giacinto 2010 Database 41 BCNF e conservazione delle dipendenze! Potrebbe non esserci una decomposizione in BCNF che conserva le dipendenze! Ad esempio, CSZ, CS Z, Z C! Non si può decomporre conservando la prima DF; non in BCNF! Analogamente, la decomposizione di CFGDPQV in FDP, GF e CGDQV non conserva le dipendenze (rispetto alle DF GP C, FD P e G F)! È una decomposizione senza-perdita! In questo caso, aggiungere GPC alla collezione di relazioni dà una decomposizione che conserva le dipendenze! Le tuple GPC sono memorizzate solo per controllare la DF! (Ridondanza!) Giorgio Giacinto 2010 Database 42
22 Decomposizione in 3NF! L algoritmo per la decomposizione senza-perdita in BCNF può essere usato per ottenere una decomposizione senza-perdita in 3NF! Garantire la conservazione delle dipendenze! Se X Y non viene conservata, aggiungere la relazione XY! Ma XY potrebbe violare la 3NF! Ad esempio, se si aggiunge CGP per conservare GP C, che succede se abbiamo anche G C?! Necessità di un approccio differente Invece di F, l insieme di DF dato, usiamo una copertura minima di F Giorgio Giacinto 2010 Database 43 Copertura di un insieme di DF! Un insieme F di dipendenze funzionali copre un altro insieme E di dipendenze funzionali, se ogni DF in E è presente anche in F +! Si dice anche che E è coperto da F! In altre parole, gli insiemi di DF E e F sono equivalenti Giorgio Giacinto 2010 Database 44
23 Copertura minima per un insieme di DF! Copertura minima G per un insieme F di DF! F + = G +! La parte destra di ogni DF in G è un singolo attributo! Se modifichiamo G cancellando una DF o cancellando attributi da una DF in G, la chiusura cambia! Intuitivamente, ogni DF in G è necessaria, e quanto più piccola possibile allo scopo di ottenere la stessa chiusura di F! Ad esempio A B, ABCD E, EF GH, ACDF EG ha la seguente copertura minima A B, ACD E, EF G e EF H Giorgio Giacinto 2010 Database 45 Algoritmo per ottenere la copertura minima 1. Porre le DF in forma standard! cioè con un attributo singolo nella parte destra 2. Minimizzare la parte sinistra di ogni DF 3. Cancellare le DF ridondanti! L ordine in cui si esaminano le DF può portare a coperture minime diverse Giorgio Giacinto 2010 Database 46
24 Copertura minima minimizzazione parte sinistra DF Per ogni DF X A in F Per ogni attributo B ' X if {F % (X A)} $ {(X % {B}) A} è equivalente a F then sostituisci X A con (X % {B}) A in F Giorgio Giacinto 2010 Database 47 Copertura minima cancellazione DF ridondanti Per ogni dipendenza funzionale X A in F if {F % (X A)} è equivalente a F then rimuovi (X A) da F Giorgio Giacinto 2010 Database 48
25 Esempio Data F = {B A, D A, AB D} 1. le dipendenze sono già in forma canonica 2. per aumento da B A abbiamo B AB per transitività abbiamo B D possiamo sostituire AB D con B D 3. per transitività B D e D A implicano B A, che è dunque ridondante La copertura minima di F è quindi {B D, D A} Giorgio Giacinto 2010 Database 49 Decomposizione in 3NF senza perdita e con conservazione delle dipendenze! Dati! una relazione R con un insieme F dei DF che sia una copertura minima! una decomposizione senza perdita di R, R 1, R 2,,R n, ciascuna R i in 3NF! l insieme di dipendenze di F non conservato, N! Per ciascuna DF X # A in N, aggiungiamo alla decomposizione la schema di relazione XA! Ottimizzazione: se abbiamo diversi schemi X # A 1, X # A 2, possiamo sostituirli con X # A 1 A 2 A 3 A n Giorgio Giacinto 2010 Database 50
26 Sintesi 3NF! Approccio alternativo al precedente! Dato uno schema R e una copertura minimale F di DF! si costruisce la decomposizione R aggiungendo uno schema XA per tutte le DF X # A i in F (A = {A 1, A 2,,A n })! La decomposizione non è senza perdita se nessuna relazione contiene una chiave di R. Allora si crea un ulteriore schema con attributi che formano una chiave di R! Si eliminano eventuali relazioni ridondanti Giorgio Giacinto 2010 Database 51 RAFFINAMENTO DI SCHEMI ER
27 Schemi ER e DF! In uno schema ER possiamo evidenziare solo vincoli di chiave! Le DF non sono rappresentabili! Vincoli su entità! Vincoli su relazioni! La conoscenza delle DF consente di raffinare gli schemi ER! Identificare gli attributi delle entità! Identificare le entità Giorgio Giacinto 2010 Database 53 Raffinamento di uno schema ER Esempio Prima! Prima traduzione dello schema ER Lavoratori(C, N, P, R, D) cf Reparto(R, M, B)! Parcheggi associati ai lavoratori! Supponiamo che a tutti i lavoratori di un reparto sia assegnato lo stesso parcheggio: R P Dopo Ridondanza risolta da Lavoratori2(C, N, R, D) nome Parcheggi_Rep(R, P) cf! Miglioramento Lavoratori2(C, N, R, D) Impiegati Reparti(R, M, B, P) nome Impiegati parcheggi o dnome Giorgio Giacinto 2010 Database 54 dal Lavora_In dal Lavora_In rid rid dnome Reparti Reparti budget budget parcheggio
28 Riepilogo! Se una relazione è in BCNF, è priva di ridondanze. Quindi, cercare di garantire che tutte le relazioni siano in BCNF è una buona euristica.! Se una relazione non è in BCNF, possiamo provare a decomporla in una collezione di relazioni BCNF! Dobbiamo considerare se tutte le DF sono conservate.! Se una decomposizione in BCNF senza-perdita che conserva le dipendenze non è possibile (o non adatta, date le interrogazioni tipiche), dovremmo considerare una decomposizione in 3NF! Le decomposizioni dovrebbero essere eseguite e/o riesaminate tenendo in conto i requisiti sulle prestazioni Giorgio Giacinto 2010 Database 55
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
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 è
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
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
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
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à
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,
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
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
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.
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
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
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
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
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
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
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
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:
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,
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
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
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
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
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:
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
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
Progettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
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
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
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
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
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
Corso sulla Normalizzazione. Prime 3 forme normali
Corso sulla Normalizzazione Prime 3 forme normali Autore: Biagioli Mirko Normalizzazione Pag. 1 / 10 Premessa Gli argomenti trattati nel presente documento sono rivolti agli studenti della classe quinta
CAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
DATABASE NORMALIZZAZIONE TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica
DATABASE NORMALIZZAZIONE TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI Informatica La Normalizzazione La Normalizzazione L obiettivo della normalizzazione è quello di scomporre le tabelle
Equivalenza di Espressioni Algebriche
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Equivalenza
b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie
TEORIA RELAZIONALE: INTRODUZIONE 1 Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano
Esercizi sulla normalizzazione (vedi anche note)
Esercizi sulla normalizzazione (vedi anche note) 1. Dato lo schema di relazione di una società di investimenti con i seguenti attributi: B = Broker (agente) O = Ufficio del broker (indirizzo) I = Investitore
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
