Normalizzazione di Basi di Dati

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à

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

Normalizzazione. Relazionali

Capitolo 9. Esercizio 9.1. Esercizio 9.2

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

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

Introduzione alla normalizzazione dei dati

Corso di Basi di Dati

Lezione basi di dati 26 gennaio NORMALIZZAZIONE

TEORIA RELAZIONALE: INTRODUZIONE

Normalizzazione (Codd, 1972)

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

Normalizzazione di schemi relazionali

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

ESERCIZIO di NORMALIZZAZIONE

CAPITOLO V. DATABASE: Il modello relazionale

I modelli logici dei dati

LA NORMALIZZAZIONE. Introduzione

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

Progettazione logica

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

FORME NORMALI E NORMALIZZAZIONE

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

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

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

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

8. Completamento di uno spazio di misura.

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

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

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Insiemi: Rappresentazione

FORME NORMALI E DIPENDENZE

Teoria della Progettazione delle Basi di Dati Relazionali

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

Il Modello Relazionale

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

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

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

Il codice di Sarngadeva

Ciclo di vita di un sistema informativo

Il modello relazionale

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Funzioni reali di variabile reale

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

Per lavorare sulle tabelle è utile separare la loro struttura (fissa) dal contenuto (che varierà nel tempo) , nome_attr 2. Schema di relazione

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

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

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

I database. Introduzione alla teoria delle basi di dati

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

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

( x) Definizione: si definisce dominio (o campo di esistenza) di una funzione f ( x) l insieme dei valori

BASI DATI: algebra relazionale

1.1 Coordinate sulla retta e nel piano; rette nel piano

Modello Relazionale. Architettura a tre livelli di un DBMS

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

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

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

Il linguaggio SQL: query innestate

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

Database: Introduzione. Basi di Dati e Microsoft Access. Database: Esempio. Informazioni facilmente reperibili

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

Basi di dati Esercitazione

Analisi e progettazione ad oggetti

Geometria BATR-BCVR Esercizi 9

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

Indicare quale o quali delle seguenti affermazioni sono vere?

I modelli logici dei dati

Applicazioni lineari tra spazi euclidei. Cambi di base.

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Introduzione all Algebra Relazionale

INTRODUZIONE ALLE BASI DATI RELAZIONALI

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

Piccolo teorema di Fermat

Funzioni funzione univocità relazione univoca variabile dipendente variabile indipendente primo insieme secondo insieme

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

Adattabilità fisica e inferenze nella visualizzazione

GESTIONE ABBONAMENTI RIVISTE

MODELLO RELAZIONALE. Introduzione

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

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

Progettazione di Database

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

Basi di Dati II. Qualità di schemi relazionali (2) Qualità di schemi relazionali. 1) Semantica degli attributi di una relazione

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

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

12. Dopo aver cliccato su INVIO, trascina il valore ottenuto nella cella a tutte le altre celle. Otterrai una tabella del tipo:

PROGETTAZIONE FISICA

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Integrale indefinito

Modulo 5 Basi di dati Access

Gestione della Concorrenza

Il linguaggio SQL: le viste

Transcript:

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à di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione non è normalizzata: presenta ridondanze, si presta a comportamenti poco desiderabili durante gli aggiornamenti Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

Normalizzazione Procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale (i.e., normalizzati) La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati Non costituisce una metodologia di progettazione

Una relazione con anomalie Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Verdi 35 Giove 15 progettista Verdi 35 Venere 15 progettista Neri 55 Venere 15 direttore Neri 55 Giove 15 consulente Neri 55 Marte 2 consulente Mori 48 Marte 2 direttore Mori 48 Venere 15 progettista Bianchi 48 Venere 15 progettista Bianchi 48 Giove 15 direttore

Anomalie Lo stipendio di ciascun impiegato è ripetuto in tutte le ennuple relative ridondanza Se lo stipendio di un impiegato varia, è necessario andarne a modificare il valore in diverse ennuple anomalia di aggiornamento Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo anomalia di cancellazione Un nuovo impiegato senza progetto non può essere inserito anomalia di inserimento

Perché questi fenomeni indesiderabili? abbiamo usato un'unica relazione per rappresentare informazioni eterogenee gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni

Per studiare in maniera sistematica questi aspetti, è necessario introdurre un vincolo di integrità: la dipendenza funzionale

Proprietà nell applicazione di Ogni impiegato ha un solo stipendio (anche se partecipa a più progetti) Ogni progetto ha un unico bilancio esempio Ogni impiegato in ciascun progetto ha una sola funzione (anche se può avere funzioni diverse in progetti diversi)

Notazione delle FD X Y Esempi del DB precedente: Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione

Dipendenza funzionale relazione r su R(X) due sottoinsiemi non vuoti Y e Z di X esiste in r una dipendenza funzionale (FD) da Y a Z se, per ogni coppia di ennuple t 1 e t 2 di r con gli stessi valori su Y, risulta che t 1 e t 2 hanno gli stessi valori anche su Z E funzionale in quanto si comporta come una funzione FD : Y Z per ogni elemento del dominio viene identificato uno ed un solo elemento del co-dominio

Identificazione delle dipendenze funzionali Le dipendenze funzionali devono essere identificate semanticamente in fase di progettazione Non basta guardare un istanza del database per derivare le FD In genere sono ben chiare a chi conosce il problema In fase di progettazione e molto utile per l implementatore identificarle e formalizzarle al meglio

La stessa relazione con anomalie Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Verdi 35 Giove 15 progettista Verdi 35 Venere 15 progettista Neri 55 Venere 15 direttore Neri 55 Giove 15 consulente Neri 55 Marte 2 consulente Mori 48 Marte 2 direttore Mori 48 Venere 15 progettista Bianchi 48 Venere 15 progettista Bianchi 48 Giove 15 direttore

Significato delle FD Impiegato Stipendio Ogni impiegato ha un suo stipendio indipendentemente dai progetti a cui lavora Progetto Bilancio Ogni progetto ha un suo bilancio a prescindere dal numero delle persone coinvolte in esso Impiegato Progetto Funzione Un impiegato svolge una (ed una sola) funzione all interno di un progetto. Lo stesso impiegato puo essere coinvolto in piu progetti Nota che (Impiegato Progetto) e chiave nella relazione precedente

Altre FD Impiegato Progetto Progetto Si tratta però di una FD banale (sempre soddisfatta) Y A è non banale se A non appartiene a Y Y Z è non banale se nessun attributo in Z appartiene a Y In genere le FD banali non vengono considerate

Le anomalie sono legate ad alcune FD gli impiegati hanno un unico stipendio Impiegato Stipendio i progetti hanno un unico bilancio Progetto Bilancio

Non tutte le FD causano anomalie In ciascun progetto, un impiegato svolge una sola funzione Impiegato Progetto Funzione Il soddisfacimento è più "semplice"

Una differenza fra FD Impiegato Stipendio Progetto Bilancio causano anomalie Impiegato Progetto Funzione non causa anomalie Perché?

Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Marte 2 tecnico Verdi 35 Giove 15 progettista Verdi 35 Venere 15 progettista Neri 55 Venere 15 direttore Neri 55 Giove 15 consulente Neri 55 Marte 2 consulente Mori 48 Marte 2 direttore Mori 48 Venere 15 progettista Bianchi 48 Venere 15 progettista Bianchi 48 Giove 15 direttore Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione

FD e anomalie La parte sinistra della terza FD corrisponde ad una chiave e non causa anomalie Le prime due FD non corrispondono a chiavi e causano anomalie La relazione contiene alcune informazioni legate alla chiave e altre ad attributi che non formano una chiave

Quindi, il problema e che abbiamo usato un'unica relazione per rappresentare informazioni eterogenee: gli impiegati con i relativi stipendi i progetti con i relativi bilanci le partecipazioni degli impiegati ai progetti con le relative funzioni

Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione Impiegato Progetto è chiave Impiegato solo no Progetto solo no Le anomalie sono causate dalla presenza di concetti eterogenei: proprietà degli impiegati (lo stipendio) proprietà di progetti (il bilancio) proprietà della chiave Impiegato Progetto

Forma normale di Boyce e Codd (BCNF) Una relazione r è in forma normale di Boyce e Codd se, per ogni dipendenza funzionale (non banale) X Y definita su di essa, X contiene una chiave K di r In sostanza: la forma normale BCNF richiede che i concetti in una relazione siano omogenei (solo proprietà direttamente associate alla chiave)

Che facciamo se una relazione non soddisfa la BCNF? La rimpiazziamo con altre relazioni che soddisfano la BCNF Come? Decomponendo sulla base delle dipendenze funzionali, al fine di separare i concetti

Impiegato Stipendio Progetto Bilancio Funzione Rossi 20 Impiegato Marte Progetto Funzione 2 tecnico Verdi 35Rossi Giove Marte tecnico 15 progettista Verdi 35 Verdi Venere Giove progettista 15 progettista Verdi Venere progettista Neri 55 15 direttore Neri Venere direttore Neri 55 Neri Giove consulente 15 consulente Neri 55 Neri Marte consulente 2 consulente Mori 48 Mori Marte direttore 2 direttore Mori Venere progettista Mori 48 15 progettista Bianchi Venere progettista Bianchi 48Bianchi Venere Giove direttore 15 progettista Bianchi 48 Giove 15 direttore Impiegato Stipendio Rossi 20 Verdi 35 Neri 55 Mori 48 Bianchi 48 Progetto Bilancio Marte 2 Giove 15 Venere 15 Ogni concetto (i.e., FD) e adesso rappresentato da una propria relazione

Non sempre così facile Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Verdi Venere Neri Saturno Neri Venere Impiegato Sede Progetto Sede

Decomponiamo sulla base delle dipendenze Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Verdi Venere Neri Saturno Neri Venere Impiegato Rossi Verdi Neri Sede Roma Progetto Marte Giove Saturno Venere Sede Roma

Impiegato Rossi Verdi Neri Proviamo a ricostruire Sede Roma Progetto Marte Giove Saturno Venere Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Verdi Venere Neri Saturno Neri Venere Verdi Saturno Neri Giove Sede Roma Diversa dalla relazione di partenza!

Impiegato Rossi Verdi Neri Cos e successo? Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Verdi Venere Neri Saturno Neri Venere Sede Roma Progetto Marte Giove Saturno Venere Sede Roma Dal JOIN naturale della due relazioni finali si assume che ogni impiegato lavora a tutti i progetti svolti nella sua sede sbagliato!

Decomposizione senza perdita Una relazione r si decompone senza perdita su X 1 e X 2 se il join delle proiezioni di r su X 1 e X 2 è uguale a r stessa (cioè non contiene ennuple spurie) La decomposizione senza perdita è garantita se gli attributi comuni tra X 1 e X 2 contengono una chiave in almeno una delle relazioni decomposte

Proviamo a decomporre senza Impiegato Rossi Verdi Neri Impiegato Progetto Sede Rossi Marte Roma Verdi Giove Verdi Venere Neri Saturno Neri Venere Sede Roma Impiegato Sede Progetto Sede Impiegato Progetto Rossi Marte Verdi Giove Verdi Venere Neri Saturno Neri Venere perdita

Un altro problema Supponiamo di voler inserire una nuova ennupla che specifichi la partecipazione dell'impiegato Neri, che opera a, al progetto Marte Impiegato Progetto Impiegato Rossi Verdi Neri Sede Roma Rossi Verdi Verdi Neri Neri Impiegato Sede Progetto Sede Marte Giove Venere Saturno Venere

Impiegato Rossi Verdi Neri Sede Roma Impiegato Progetto Rossi Marte Verdi Giove Verdi Venere Neri Saturno Neri Venere Neri Marte

Violato un principio di Im pieg ato P ro getto S ede R ossi M arte R o m a V erd i G io ve M ilano V erd i V en ere M ilano N eri S atu rn o M ilano N eri V en ere M ilano Neri M arte M ilano integrita Adesso, il progetto Marte viene svolto sia a Roma che a, abbiamo quindi violato la FD: Progetto Sede Questa FD non l abbiamo mantenuta nella decomposizione

Conservazione delle dipendenze Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti Progetto Sede non è conservata

Qualità delle decomposizioni Una decomposizione dovrebbe sempre soddisfare: la decomposizione senza perdita, che garantisce la ricostruzione delle informazioni originarie la conservazione delle dipendenze, che garantisce il mantenimento dei vincoli di integrità originari

Una relazione nonnormalizzata Dirigente Progetto Sede Rossi Marte Roma Verdi Giove Verdi Marte Neri Saturno Neri Venere Progetto Sede Dirigente Dirigente Sede Non e in Boyce-Codd normal form perche Dirigente non e una chiave.

La decomposizione è problematica Progetto Sede Dirigente coinvolge tutti gli attributi e quindi nessuna decomposizione può preservare tale dipendenza quindi in alcuni casi la BCNF non è raggiungibile

Un altra forma normale Una relazione r è in terza forma normale se, per ogni FD (non banale) X Y definita su r, è verificata almeno una delle seguenti condizioni: X contiene una chiave K di r ogni attributo in Y è contenuto in almeno una chiave di r

BCNF e terza forma normale la terza forma normale è meno restrittiva della forma normale di Boyce e Codd (e ammette relazioni con alcune anomalie) ha il vantaggio però di essere sempre raggiungibile

Decomposizione in terza forma normale si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale si verifica che alla fine una relazione contenga una chiave della relazione originaria Dipende dalle dipendenze individuate

Una possibile strategia se la relazione non è normalizzata si decompone in terza forma normale alla fine si verifica se lo schema ottenuto è anche in BCNF