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

Documenti analoghi
Normalizzazione. Definizione

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

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

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

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

TEORIA RELAZIONALE: INTRODUZIONE

Normalizzazione. Relazionali

Capitolo 9. Esercizio 9.1. Esercizio 9.2

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

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

Corso di Basi di Dati

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

Introduzione alla normalizzazione dei dati

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

Progettazione logica

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

Lezione basi di dati 26 gennaio NORMALIZZAZIONE

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

Teoria della Progettazione delle Basi di Dati Relazionali

Normalizzazione (Codd, 1972)

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Modello Relazionale. Architettura a tre livelli di un DBMS

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

Progettazione di Database

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

CAPITOLO V. DATABASE: Il modello relazionale

Gestione della Concorrenza

1. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

LA NORMALIZZAZIONE. Introduzione

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

FORME NORMALI E DIPENDENZE

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

I modelli logici dei dati

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

I database. Introduzione alla teoria delle basi di dati

ESERCIZIO di NORMALIZZAZIONE

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Normalizzazione di schemi relazionali

BASI DATI: algebra relazionale

Indicare quale o quali delle seguenti affermazioni sono vere?

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

FORME NORMALI E NORMALIZZAZIONE

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

Ciclo di vita di un sistema informativo

LA PROGETTAZIONE CONCETTUALE

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

Cap. 1-I 1 I sistemi informatici

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

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

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

TEORIA sulle BASI DI DATI

Il modello relazionale

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

Il Modello Relazionale

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio:

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

Un esempio di progettazione concettuale

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Linguaggi per basi di dati

Esercitazione di Basi di Dati

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Traduzione dello schema E-R in modello logico relazionale

Equivalenza di Espressioni Algebriche

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

MODELLO RELAZIONALE. Introduzione

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

Data Base Relazionali

Parte 6 Esercitazione sull accesso ai file

Il modello relazionale dei dati

Riconoscere e formalizzare le dipendenze funzionali

Vincoli di integrità

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

LABORATORIO di INFORMATICA

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

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

BASE DI DATI: sicurezza. Informatica febbraio ASA

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Ingegneria del Software

Progettazione concettuale usando il modello Entità-Relazione (ER) e Progettazione Logica

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Cap. 1-I 1 I sistemi informatici

Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Il linguaggio SQL: le viste

Transcript:

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 informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite La normalizzazione 2 1

La teoria della normalizzazione La teoria della normalizzazione cerca di rispondere, in maniera precisa, a domande sulla qualità del nostro progetto: E facile da illustrare? Ci sono anomalie quando si inseriscono, cancellano e modificano tuple? I valori nulli sono un caso eccezionale? I JOIN lavorano su condizioni di eguaglianza su chiavi primarie o esterne? Fornisce metodi per migliorare la qualità stessa del nostro progetto o del nostro Data Base. La normalizzazione 3 La teoria della normalizzazione La teoria della normalizzazione fu introdotta con riferimento alle sole relazioni. Rappresentava, di fatto, una tecnica di progetto per DB relazionali. Ragionando con le tre fasi (concettuale, logica e fisica) la normalizzazione rappresenta oggi un tecnica di verifica che si applica alle relazioni o, meglio ancora, alle entità ed alle associazioni. La normalizzazione 4 2

Qualità di schema concettuale Correttezza Completezza tutti i concetti di interesse sono presenti e tutte le operazioni richieste sono eseguibili navigando la base dati. Leggibilità Minimalità Normalizzata La normalizzazione 5 Le forme normali Una forma normale è una proprietà che deve essere soddisfatta dalle relazioni di uno schema. Tale proprietà garantisce un certo livello di qualità di ciascuno schema. Quando uno schema non è normalizzato presenta ridondanze; crea non poche difficoltà in operazioni di aggiornamento. La normalizzazione 6 3

Le forme normali Le forme normali sono state definite sul modello relazionale Non tengono quindi conto delle metodologie di progettazione. L applicazione delle metodologie di progettazione E/R dovrebbe produrre schemi relazionali già in forma normale. Sono applicate nel modello E-R nella fase di analisi di qualità della progettazione concettuale. La normalizzazione 7 La normalizzazione Procedura che permette di trasformare schemi di relazione non normalizzati in schemi che soddisfano una o più forme normali. La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati. Non costituisce una metodologia di progettazione, anche se in parte nasce con questo scopo. La normalizzazione 8 4

Il problema PROGETTAZIONI Stipendio Progetto Bilancio Funzione 20 2 tecnico 35 progettista 35 progettista 55 direttore 55 consulente 55 2 consulente Mori 48 2 direttore Mori 48 progettista Bianchi 48 progettista Bianchi 48 direttore La normalizzazione 9 Anomalie Lo stipendio di ciascun impiegato è ripetuto in tutte le tuple relative Ridondanza presenza di dati ripetuti in diverse tuple, senza aggiunta di informazioni significative Se lo stipendio di un impiegato varia, è necessario andarne a modificare il valore in diverse ennuple anomalia di aggiornamento necessità di estendere l aggiornamento di un dato a tutte le tuple in cui esso compare con inutili perdite di tempo La normalizzazione 10 5

Anomalie Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo anomalia di cancellazione L eliminazione di una tupla motivata dal fatto che non è più valido l insieme dei concetti in essa espressi, può comportare l eliminazione di dati che conservano la loro validità Un nuovo impiegato senza progetto non può essere inserito anomalia di inserimento l inserimento di informazioni relative a uno solo dei concetti di pertinenza di una relazione è impossibile se non esiste un intero insieme di concetti in grado di costituire una tupla completa. La normalizzazione 11 La causa delle anomalie Uso di una sola relazione per rappresentare informazioni eterogenee gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni La fusione di concetti disomogenei in una unica relazione comporta: Ridondanza Anomalie di aggiornamento Anomalie di cancellazione Anomalie di inserimento La normalizzazione 12 6

Definizioni Preliminari Sia R una relazione con chiave primaria X Ogni attributo A appartenente allo schema di R si dice Primo se fa parte di X; Non-primo se non appartiene a X. Persona(nome,cognome, data-nascita, via, CAP, comune, provincia) nome, cognome, e data-nascita sono primi via, CAP, comune e provincia sono non-primi La normalizzazione 13 Dipendenze funzionali Per scoprire e rimuovere le anomalie in uno schema del modello logico si devono scoprire legami di tipo funzionale tra gli attributi di una relazione dette dipendenze funzionali. La notazione per indicare una dipendenza funzionale da Y a Z, con Y e Z attributi di una relazione, è Y Z Y determina Z Z dipende funzionalmente da Y La normalizzazione 14 7

Dipendenza funzionale Consideriamo uno schema di relazione R(X) due sottoinsiemi non vuoti Y e Z di X Diremo che in R(X) esiste una dipendenza funzionale (DF) da Y a (Y Z) sse: t1, t2 r : t1[y]=t2[y] t1[z]=t2[z] La normalizzazione Dipendenze Funzionali PROGETTAZIONI Stipendio Progetto Bilancio Funzione 20 2 tecnico Stipendio 35 progettista 35 55 progettista direttore Progetto Bilancio 55 55 2 consulente consulente, Progetto Funzione Mori 48 2 direttore Mori 48 progettista Bianchi 48 progettista Bianchi 48 direttore La normalizzazione 16 8

Dipendenze funzionali X Y non implica (ovviamente) Y X DF banale una DF banalmente soddisfatta Progetto Progetto Y X => banalmente X Y DF piena: X Y è una dipendenza funzionale piena sse: Rimuovendo un qualsiasi attributo da X essa non vale più. DF espressa in modo minimale: X A,B {X A, X B} Le DF che ci interessano sono quelle non banali, piene ed espresse in maniera minimale. La normalizzazione 17 Vincoli e dipendenze funzionali Una dipendenza funzionale è una caratteristica dello schema e non della particolare istanza dello schema. Una dipendenza funzionale è dettata dalla semantica degli attributi di una relazione e non può essere inferita da una particolare istanza dello schema Poiché la DF è un vincolo, una relazione è corretta quando soddisfa la DF La normalizzazione 18 9

Vincoli di chiave e DF Se K è una superchiave in uno schema R(X) allora ogni attributo non primo A di R(X) dipende funzionalmente da K Se K è superchiave di R(T), dalla definizione di superchiave si ha che t1[k] = t2[k] t1 = t2, e quindi t1[a] = t2[a] Quindi il vincolo di DF generalizza il vincolo di chiave K X La normalizzazione 19 Esempio Articolo Magazzino Quantità Indirizzo scarpe NA1 2500 v. Leopardi 17, Napoli scarpe RM1 4500 v. S. Maria Maggiore 3, Napoli pantaloni NA1 3000 v. Leopardi 17,Napoli Articolo, Magazzino Quantità Articolo, Magazzino Indirizzo Magazzino Indirizzo La normalizzazione 20 10

Prima Forma Normale Il dominio degli attributi deve comprendere solo valori atomici. Vanno cioè evitati: attributi multi-valore; attributi composti. Nel modello relazionale una relazione R(X) dovrebbe essere per definizione in 1NF La normalizzazione 21 Tabella non in 1NF Progetto Stipendio Indirizzo Funzione Silvietti Saturno 50 via:roma; città:napoli; nc: 20 Direttore Marcuccio 30 Via:Claudio; città: ; Progettista nc=10 Progetto è un attributo multivalore Indirizzo è un attributo strutturato La normalizzazione 22 11

Riduzione in prima forma normale Una tabella può non rappresentare una relazione aderente al modello consentendo di esprimere attributi multivalore o strutturati Per ridurre una tabella in prima forma normale occorre: Sviluppare degli attributi multivalore Estrarre gli attributi strutturati La normalizzazione 23 Seconda forma normale(2nf) Uno schema di relazione R(X) è in 2NF se: E in 1NF Ogni attributo non primo dipende in maniera piena dalla chiave di R(X) Per verificare il soddisfacimento della 2NF Esaminare le parti sinistre delle DF che contengano attributi primi parte di chiavi. Se ogni chiave di R(X) ha un solo attributo allora R(X) è già in seconda forma normale. La normalizzazione 24 12

Tabella non in 2NF Articolo Magazzino Quantità Indirizzo scarpe NA1 2500 v. Leopardi 17, Napoli scarpe RM1 4500 v. S. Maria Maggiore 3, Napoli pantaloni NA1 3000 v. Leopardi 17,Napoli Articolo, Magazzino Indirizzo Magazzino Indirizzo Indirizzo dipende anche da parte della chiave Articolo, Magazzino La normalizzazione 25 Decomposizione Uno schema di relazione R(X) non in 2NF si normalizza decomponendo le relazioni di partenza in relazioni che soddisfano la 2NF. La relazione viene decomposta sulla base di attributi comuni in modo tale che : Le relazioni ottenute soddisfino la 2NF La decomposizione non alteri il contenuto informativo della base di dati La normalizzazione 26 13

Decomposizione Articolo Magazzino Quantità Indirizzo scarpe NA1 2500 v. Leopardi 17, Napoli scarpe RM1 4500 v. S. Maria Maggiore 3, Napoli pantaloni NA1 3000 v. Leopardi 17,Napoli Articolo Magazzino Quantità scarpe NA1 2500 scarpe RM1 2500 Magazzino Indirizzo pantaloni NA1 3000 NA1 v. Leopardi 17, Napoli RM1 v. S. Maria Maggiore 3,Napoli La normalizzazione 27 Proprietà delle decomposizione Una decomposizione deve essere senza perdita: Devo essere in grado di ricostruire la relazione originaria Una decomposizione deve mantenere le dipendenze funzionali: Ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti. La normalizzazione 28 14

Decomposizione con perdita Progetto Sede Progetto Sede Roma Sede Roma Saturno Roma Saturno Progetto Sede Roma Tuple spurie Saturno Saturno La normalizzazione 29 Decomposizione senza perdita Sia R una relazione su X X 1 X e X2 X R1(X1) proiezione di R su X1 R2(X2) proiezione di R su X2 Sia X0 = X1 X2 Vogliamo essere in grado di ricostruire R R = R1 Equi Join on (X0) R2 Una decomposizione con perdita può generare tuple spurie. Condizione sufficiente affinché R si decomponga senza perdite su R1(X1) ed R2(X2) è che: X0 sia chiave per R1 o per R2. La normalizzazione 30

Decomposizione senza perdita Progetto Sede Sede Progetto Roma Roma Saturno Saturno Progetto Saturno Sede Roma La normalizzazione 31 Conservare le DF Progetto Sede Sede Progetto Roma Roma Saturno Saturno Un impiegato deve operare su una sola sede Sede Un progetto deve insistere su una sola sede Progetto Sede La normalizzazione 32 16

Conservare le DF {, } ad (, Progetto) Sede Progetto Sede Roma Roma Progetto Saturno Saturno Progetto Sede non è preservata La normalizzazione 33 Conservazione delle dipendenze Una istanza legale nello schema decomposto genera sullo schema ricostruito una soluzione non ammissibile Ogni singola istanza è ( localmente ) legale, ma il DB ( globalmente ) non lo è Infatti il progetto risulta essere assegnato a due sedi, in violazione del vincolo Progetto Sede Problemi di consistenza dei dati si hanno quando la decomposizione separa gli attributi di una DF. Per verificare che la DF sia rispettata si rende necessario far riferimento a entrambe le relazioni. La normalizzazione 34 17

Terza forma normale Uno schema di relazione R(X) è in 3NF se: È in seconda forma normale Per ogni DF non banale Y-> Z definita su R(X): Y è una chiave di R(X) oppure Z è un attributo primo La normalizzazione 35 Terza forma normale Codice 001B 001A 001C 01AB Nome Marat Mattei Nero Reparto Produzione Marketing Produzione Marketing Caporeparto Maggi Marini Maggi Marini E in seconda forma normale Codice Nome Codice Reparto Codice Caporeparto Reparto Caporeparto non è in 3NF Aggiornamento se cambia il Caporeparto della Produzione devo modificare più volte la tabella. Cancellazione se cancello il Caporeparto Maggi cancellerò tutti gli impiegati del reparto Produzione al quale Maggi appartiene Inserimento non posso inserire un Caporeparto se non esiste almeno un impiegato nel reparto La normalizzazione 36 18

Decomposizione in 3NF Codice Nome Reparto 001B Produzione 001A Marat Marketing 001C Mattei Produzione 01AB Nero Marketing Reparto Caporeparto Produzione MAGGI Marketing MARINI Decomposizione senza perdite Reparto chiave delle seconda relazione Mantiene le dipendenze Sulla prima Codice Nome Codice Reparto Codice Caporeparto Sulla seconda Reparto Caporeparto La normalizzazione 37 Ancora anomalie Prefisso,Numero Località,Abbonato, Indirizzo Località Prefisso Lo schema è in 3NF, in quanto Prefisso è primo. Nella seguente istanza legale l informazione sul prefisso viene replicata per ogni abbonato Se devo inserire un nuovo prefisso debbo conoscere la Località. Prefisso Numero Località Abbonato Indirizzo 051 059 051 051 059 457856 452332 987856 552346 387654 Bologna Modena Bologna Castenaso Vignola Bianchi Mori Via Roma 8 Via Bari 16 Via Napoli 77 Piazza Borsa 12 Via Piave 65 La normalizzazione 38 19

Anomalie in una 3NF Allora può essere utile non ammettere dei determinanti del tipo: Y -> Z con Y attributo non primo e Z attributo primo In questo caso si introduce una nuova forma normale detta di Boice e Codd. La normalizzazione 39 FN di Boyce e Codd Uno schema di relazione R(X) è in forma normale di Boyce e Codd se: E in prima forma normale per ogni dipendenza funzionale (non banale) definita su R(X) Y Z Y contiene la chiave K di R(X) Y è una superchiave di R(X). La normalizzazione 40 20

Decomposizione in BCNF Una soluzione consiste nel decomporre lo schema in NUMERO(Numero,Località,Abbonato,Indirizzo) PREFESSO(Località, Prefisso) La decomposizione è lossless perché (NUMERO Equi Join PREFISSO) = TEL Località Prefisso Località, Numero Abbonato, Indirizzo Numero Località Abbonato Indirizzo Prefisso Località 457856 452332 987856 552346 387654 Bologna Modena Bologna Castenaso Vignola Bianchi Mori Via Roma 8 Via Bari 16 Via Napoli 77 Piazza Borsa 12 Via Piave 65 051 059 051 059 Bologna Modena Castenaso Vignola La normalizzazione 41 Relazione tra BCNF e 3NF Se uno schema di relazione R(X) è in BCNF allora è in 3NF. Se uno schema di relazione R(X) è in 3NF non è detto che sia in BCNF. Partendo da uno schema in 2FN Esiste sicuramente un decomposizione (o una serie di decomposizioni) che sono senza perdita e conservano le dipendenze che ci portano a uno schema in 3FN Non è detto che si possa arrivare ad uno schema in BCNF La normalizzazione 42 21

Normalizzazione vs. performance Potremmo voler utilizzare schemi non normalizzati per aumentare le performance Ad es. collegare e mostrare informazioni memorizzate in due tabelle differenti richiede il join delle tabelle La normalizzazione 43 Normalizzazione vs. performance Alternativa 1: usare schemi denormalizzati che contengono gli attributi di entrambe le relazioni accesso più veloce spazio e tempo di esecuzione superiore per gestire le modifiche maggiore sforzo di programmazione per gestire la ridondanza, con conseguente maggiore incidenza degli errori di programmazione Alternativa 2: usare una vista materializzata stessi vantaggi e svantaggi della alternativa 1, eccetto il maggiore sforzo di programmazione La normalizzazione 44 22

Progettazione e normalizzazione La teoria della normalizzazione può essere usata anche durante la progettazione concettuale per verificare la qualità dello schema concettuale stesso La normalizzazione 45 Entità non normalizzata Nome fornitore Indirizzo Partita IVA Codice Fornitura Nome prodotto Prezzo Chiave: PartitaIVA, Codice DF1: PartitaIVA NomeFornitore, Indirizzo DF2: Codice -> NomeProdotto, Prezzo La normalizzazione 46 23

Analisi dell entità L entità viola la seconda forma normale a causa delle dipendenze parziali dalla chiave: PartitaIVA NomeFornitore Indirizzo Codice NomeProdotto Prezzo Possiamo decomporre sulla base di queste dipendenze La normalizzazione 47 Decomposizione Nome prodotto Codice Partita IVA Nome fornitore Prodotto (1,1) (0,N) Fornitura Fornitore Prezzo Indirizzo La normalizzazione 48 24

Associazione non normalizzata La normalizzazione 49 Associazione non normalizzata La normalizzazione 50 25

Associazione non normalizzata Matricola NomeCDL Matricola Nome, Cognome Matricola NomeDIP Nome, Cognome NomeDIP Non in 3FN => Possiamo decomporre sulla base di questa dipendenza La normalizzazione 51 Decomposizione La normalizzazione 52 26

Ottengo La normalizzazione 53 Ulteriore analisi sulla base delle DF L associazione Tesi in BCNF sulla base delle dipendenze Studente CorsoDiLaurea Studente Professore Le due proprietà sono indipendenti Questo suggerisce una ulteriore decomposizione La normalizzazione 54 27

Ulteriore decomposizione La normalizzazione 55 Ottengo La normalizzazione 56 28