Introduzione alla normalizzazione dei dati

Documenti analoghi
Normalizzazione di Basi di Dati

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

Progettare Basi di Dati

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

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Normalizzazione. Definizione

Sommario. Introduzione... 13

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

Introduzione alle Basi di Dati

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

CAPITOLO V. DATABASE: Il modello relazionale

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

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

TEORIA RELAZIONALE: INTRODUZIONE

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

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

RELAZIONI E BASI DI DATI

Basi di dati Modelli e linguaggi di interrogazione

Le basi di dati. Lez. 3: Il Modello Relazionale

LA NORMALIZZAZIONE. Introduzione

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

Normalizzazione. Relazionali

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Teoria della Progettazione delle Basi di Dati Relazionali

FORME NORMALI E NORMALIZZAZIONE

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

Normalizzazione (Codd, 1972)

I modelli logici dei dati

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

Modello Relazionale. Architettura a tre livelli di un DBMS

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

Equivalenza di Espressioni Algebriche

BASI DI DATI - : I modelli di database

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Elena Baralis 2007 Politecnico di Torino 1

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

ESERCIZIO di NORMALIZZAZIONE

Il modello logico dei dati

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

BASI DATI: algebra relazionale

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

FORME NORMALI E DIPENDENZE

ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

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

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

Modulo 8 I data base Unità 4 Modello Relazionale

Il modello relazionale

Metodo di Quine- McCluskey

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Ciclo di vita di un sistema informativo

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

Gli operatori relazionali

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

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

Strutture di accesso ai dati: B + -tree

MODELLO RELAZIONALE. Introduzione

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Giorgio Cricco, Francesco Paolo Di Teodoro IL CRICCO, DI TEODORO - ITINERARIO NELL ARTE Terza edizione

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

FILTRI ANALOGICI L6/1

3 Algebra Relazionale

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

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

Lezione 6. Algebra e Calcolo Relazionale

Esercitazione 6 - Soluzione

Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:

GESTIONE ABBONAMENTI RIVISTE

A gruppi alla scoperta del periodo

Transcript:

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 tema è trattato in modo più approfondito nel modulo formativo online su http://www.adcorsi.com E nel corso in aula Analisi dati e progettazione logica di database : http://www.analisi-disegno.com/a_comai/corsi/sk_dati.htm Introduzione alla normalizzazione dei dati Pag. 2

Dipendenza funzionale data una relazione R, l'attributo Y di R dipende funzionalmente dall'attributo X di R se e solo se ogni valore di X in R ha associato un unico valore di Y in R X Y Y dipende funzionalmente da X X è il determinante di Y Introduzione alla normalizzazione dei dati Pag. 3

Dipendenza funzionale la dipendenza funzionale esiste a livello semantico (la si può scoprire solo addentrandosi nel significato dei dati e dei loro rapporti) idpersona nome anno, numfattura importo (per ogni idpersona esiste al massimo un nome) (per ogni (anno + numfattura) esiste al massimo un importo) Introduzione alla normalizzazione dei dati Pag. 4

Normalizzazione forma normale (NF): un insieme di condizioni da rispettare per garantire l eliminazione di determinate anomalie e ridondanze relazioni in 1NF relazioni in 2NF relazioni in 3NF relazioni in BCNF relazioni in 4NF relazioni in 5NF Introduzione alla normalizzazione dei dati Pag. 5

Processo di normalizzazione la normalizzazione può essere vista come un processo sistematico, basato sull applicazione ripetuta dell operatore relazionale di proiezione obiettivo: eliminare ridondanze ed anomalie Introduzione alla normalizzazione dei dati Pag. 6

Prima forma normale (Codd) una relazione è in prima forma normale (1NF) se, e solo se, ogni tupla contiene esattamente un unico valore per ogni attributo Tupla 1 Tupla 2 Tupla 3 Tupla 4 Attr1 Attr2 Attr3 tutte le relazioni normalizzate sono almeno in 1NF x Introduzione alla normalizzazione dei dati Pag. 7

Seconda forma normale (Codd) una relazione è in seconda forma normale (2NF) se è in 1NF, e se ogni suo attributo non chiave dipende funzionalmente dalla chiave completa VenditeAnnue <<PK>> codprodotto <<PK>> anno nomeprodotto totvenduto VenditeAnnue codprodotto anno nomeprodotto totvenduto p1 2001 colla 1000 p2 2001 spago 2500 p1 2002 colla 1700 p2 2002 spago 1850 p3 2002 elastico 320 non in 2NF! Introduzione alla normalizzazione dei dati Pag. 8

Seconda forma normale creare (con una proiezione) una nuova relazione, che evidenzi la dipendenza funzionale precedentemente nascosta VenditeAnnue <<PK>> codprodotto <<PK>> anno nomeprodotto totvenduto VenditeAnnue <<PK,FK>> codprodotto <<PK>> anno totvenduto Prodotti <<PK>> codprodotto nomeprodotto non in 2NF! in 2NF Introduzione alla normalizzazione dei dati Pag. 9

Terza forma normale (Codd) una relazione è in terza forma normale (3NF) se è in 2NF, e se tra i suoi attributi non chiave non esistono dipendenze funzionali transitive Ordini <<PK>> numordine data codcliente ragsociale importo Ordini numordine data codcliente ragsociale importo 15 05/04/1999 1 abc 50 234 21/10/2001 2 def 75 567 11/01/2002 1 abc 34 678 31/07/2002 3 ghi 200 no n in 3NF! Introduzione alla normalizzazione dei dati Pag. 10

Dipendenza funzionale transitiva Data una relazione con attributi A, B e C, e con PK A se C dipende funzionalmente dal determinante B, a sua volta funzionalmente dipendente da A, se il determinante B non è una chiave candidata della relazione, alternativa ad A, allora C ha una dipendenza funzionale transitiva da A DIP. FUNZIONALE TRANSITIVA A B C (numordine) (codcliente) (ragsociale) Introduzione alla normalizzazione dei dati Pag. 11

Terza forma normale creare (con una proiezione) una nuova relazione, che rimuova la dipendenza funzionale transitiva Ordini <<PK>> numordine data codcliente ragsociale importo Ordini <<PK>> numordine da ta <<FK>> codcliente importo Clienti <<PK>> codcliente ragsociale no n in 3NF! in 3NF Introduzione alla normalizzazione dei dati Pag. 12

Forma normale di Boyce e Codd una relazione è in forma normale di Boyce e Codd (BCNF) se tutti i suoi determinanti sono candidati chiave ogni relazione in 3NF è anche in BCNF, a meno che: abbia 2 o più chiavi candidate le chiavi candidate siano composte abbiano almeno un attributo in comune Introduzione alla normalizzazione dei dati Pag. 13

Forma normale di Boyce e Codd AllievoMateriaInsegnante Allievo Materia Insegnante Carlo Matematica Prof. Bianchi Carlo Fisica Prof. Verdi Grazia Matematica Prof. Bianchi Grazia Fisica Prof. Rossi dipendenze funzionali: Allievo, Materia Insegnante Insegnante Materia chiavi candidate: Allievo, Materia Allievo, Insegnante AllievoMateriaInsegnante non è in Boyce-Codd NF ha una ridondanza (la materia di un insegnante è ripetuta su più tuple) insegnante non è chiave candidata! Introduzione alla normalizzazione dei dati Pag. 14

Forma normale di Boyce e Codd AllievoMateriaInsegnante Allievo Materia Insegnante Carlo Matematica Prof. Bianchi Carlo Fisica Prof. Verdi Grazia Matematica Prof. Bianchi Grazia Fisica Prof. Rossi può essere scomposta mediante proiezioni in: AllievoInsegnante Allievo Insegnante Insegnante Materia Carlo Prof. Bianchi Prof. Bianchi Matematica Carlo Prof. Verdi Prof. Verdi Fisica Grazia Prof. Bianchi Prof. Rossi Fisica Grazia Prof. Rossi (entrambe in Boyce-Codd NF) InsegnanteMateria Introduzione alla normalizzazione dei dati Pag. 15

Dipendenza multivalente ProdottoTagliaColore Prodotto Taglia Colore T-Shirt S Bianco T-Shirt S Giallo T-Shirt S Rosso T-Shirt M Bianco T-Shirt M Giallo T-Shirt M Rosso T-Shirt L Bianco T-Shirt L Giallo T-Shirt L Rosso T-Shirt XL Bianco T-Shirt XL Giallo T-Shirt XL Rosso Camicia S Blu Camicia S Verde Camicia M Blu Camicia M Verde Camicia L Blu Camicia L Verde Prodotto Taglia Prodotto Colore (Prodotto multidetermina Taglia e Colore; Taglia e Colore sono mutuamente indipendenti) c è una dipendenza multivalente e una ridondanza Introduzione alla normalizzazione dei dati Pag. 16

Dipendenza multivalente Definizione (Fagin): se U e V sono sottoinsiemi degli attributi di una relazione R, e se W è l'insieme degli attributi di R non compresi in U e V, la dipendenza multivalente U V esiste in R se e solo se R è il join delle sue proiezioni R(UV) ed R(UW) la dipendenza multivalente (MVD) è una generalizzazione della dipendenza funzionale (FD): tutte le FD sono MVD, ma non tutte le MVD sono FD (A B è un caso speciale della MVD A B, in cui il numero dei valori assumibili da B è pari ad 1) Introduzione alla normalizzazione dei dati Pag. 17

Dipendenza multivalente Se la MVD è una FD non causa ridondanze in una relazione Prodotti (<<PK>> codprod, qtadisponibile, prezzo), esistono le dipendenze funzionali codprod qtadisponibile e codprod prezzo la relazione può essere proiettata in due nuove relazioni (codprod, qtadisponibile) e (codprod, prezzo), il cui equi-join su codprod ricostruisce la relazione originaria secondo la definizione di Fagin, nella relazione Prodotti sussistono le due dipendenze multivalenti codprod qtadisponibile e codprod prezzo, che sono anche dipendenze funzionali e non vi sono ridondanze Introduzione alla normalizzazione dei dati Pag. 18

Quarta forma normale (Fagin) ProdottoTagliaColore Prodotto Taglia Colore T-Shirt S Bianco T-Shirt S Giallo T-Shirt S Rosso T-Shirt M Bianco T-Shirt M Giallo T-Shirt M Rosso T-Shirt L Bianco T-Shirt L Giallo T-Shirt L Rosso T-Shirt XL Bianco T-Shirt XL Giallo T-Shirt XL Rosso Camicia S Blu Camicia S Verde Camicia M Blu Camicia M Verde Camicia L Blu Camicia L Verde una relazione R è in quarta forma normale (4NF) se e solo se, qualora vi compaia una dipendenza multivalente A B, tutti gli attributi di R dipendono anche funzionalmente da A non in 4NF! ProdottoTaglia Prodotto Taglia T-Shirt S T-Shirt M T-Shirt L T-Shirt XL Camicia S Camicia M Camicia L ProdottoColore Prodotto Colore T-Shirt Bianco T-Shirt Giallo T-Shirt Rosso Camicia Blu Camicia Verde in 4NF Introduzione alla normalizzazione dei dati Pag. 19

Dipendenza di join esistono relazioni in 4NF che presentano ancora anomalie: ConcessionarioArticoloProduttore Concessionario Articolo Produttore Neri PC IBM Neri PC HP Neri Scanner HP Verdi PC HP vincoli: se il concessionario vende un articolo, e se rappresenta un produttore, e se il produttore produce quell'articolo, allora il concessionario vende l'articolo del produttore Introduzione alla normalizzazione dei dati Pag. 20

Dipendenza di join il vincolo sulla relazione non è ne' una FD ne' una MVD, ma una dipendenza di join (JD): Definizione (Fagin): una relazione R(X,Y,Z) soddisfa la dipendenza di join (JD) se e solo se R è uguale al join delle sue proiezioni su X, Y e Z, dove X, Y e Z costituiscono sottoinsiemi degli attributi di R la dipendenza di join è il tipo di dipendenza più generale: la FD è un caso particolare di MVD la MVD è un caso particolare di JD Introduzione alla normalizzazione dei dati Pag. 21

Quinta forma normale (Fagin) una relazione è in quinta forma normale (5NF) se, e solo se, ogni dipendenza di join presente in essa è conseguenza delle sue chiavi candidate ConcessionarioArticoloProduttore Concessionario Articolo Produttore Neri PC IBM Neri PC HP Neri Scanner HP Verdi PC HP non in 5NF! ConcessionarioArticolo Concessionario Articolo Neri PC Neri Scanner Verdi PC ConcessionarioProduttore Concessionario Produttore Neri IBM Neri HP Verdi HP ArticoloProduttore Articolo Produttore PC IBM PC HP Scanner HP in 5NF Introduzione alla normalizzazione dei dati Pag. 22

Dipendenza di join e 5NF se la dipendenza di join è conseguenza delle chiavi candidate, la relazione è già in 5NF (e non va scomposta) in una relazione Dipendenti (<<PK>>matricola, codfiscale, nome) gli attributi matricola e codfiscale sono chiavi candidate la relazione può essere proiettata (matricola, codfiscale), (codfiscale, nome), (matricola, nome) e quindi ricostruita mediante una serie di join sulle chiavi candidate matricola e codfiscale la relazione Dipendenti contiene una dipendenza di join, ma non presenta anomalie e non è necessario scomporla per farla risultare in 5NF (lo è già) Introduzione alla normalizzazione dei dati Pag. 23

5NF = ultimate normal form la 5NF è anche chiamata Projection / Join Normal Form è considerata l ultima forma normale le relazioni in 5NF (o PJNF) non presentano ulteriori anomalie che possano essere rimosse mediante proiezione non è quindi possibile migliorare ancora una relazione utilizzando gli operatori di proiezione e join Introduzione alla normalizzazione dei dati Pag. 24

Denormalizzazione il processo di normalizzazione è reversibile è cioè possibile ricostruire una relazione in una forma normale inferiore (es. 2NF) partendo da un insieme di relazioni in una forma normale superiore (es. 3NF) la denormalizzazione si effettua applicando l operatore relazionale di join Introduzione alla normalizzazione dei dati Pag. 25

Per approfondimenti e altri materiali: http://www.analisi-disegno.com Introduzione alla normalizzazione dei dati Pag. 26