Elementi di Normalizzazione

Documenti analoghi
LA NORMALIZZAZIONE. Prima parte

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Normalizzazione. Definizione

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

Normalizzazione di Basi di Dati

Progettazione di basi di dati D B M G

Progettazione di basi di dati

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato

Corso di Basi di Dati

Progettare Basi di Dati

Corso di Basi di Dati A.A. 2013/2014

Normalizzazione Delle Relazioni

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

Vincoli di integrità Normalizzazione

LA NORMALIZZAZIONE. Seconda parte

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Forme normali 1NF,2NF,3NF,BCNF

Introduzione alla normalizzazione dei dati

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF

PROGETTAZIONE DI DATABASE

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

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

Corso sulla Normalizzazione. Prime 3 forme normali

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

Normalizzazione di schemi relazionali

Normalizzazione. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

PIL Percorsi di Inserimento Lavorativo

Informatica Medica FORME NORMALI

Capitolo 9. Esercizio 9.1. Esercizio 9.2

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

Normalizzazione. Relazionali

LA PROGETTAZIONE LOGICA

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

Progettazione logica

Sommario. Introduzione... 13

La normalizzazione delle basi di dati

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

TRADUZIONE DI SCHEMI

Lezione basi di dati 26 gennaio NORMALIZZAZIONE

2. Complementi di metodologia di progettazione. 2. Complementi di metodologia di progettazione. Fasi della progettazione. COSA concettuale COME

TEORIA RELAZIONALE: INTRODUZIONE

Il modello Relazionale.

Normalizzazione. Lezione 7. Normalizzazione e integrità referenziale. Consideriamo la seguente tabella. Anomalie di inserimento

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

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

Normalizzazione di schemi relazionali

Progettazione logica: normalizzazione di schemi relazionali

La normalizzazione. In fase di progettazione occorre verificare che ogni tabella abbia una chiave primaria.

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

CAPITOLO V. DATABASE: Il modello relazionale

Basi di dati Modelli e linguaggi di interrogazione

Teoria della Progettazione delle Basi di Dati Relazionali

Progettazione logica: criteri di ottimizzazione

Normalizzazione di schemi relazionali

Corso di Basi di Dati

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

Progettazione logica: normalizzazione di schemi relazionali

FORME NORMALI E NORMALIZZAZIONE

La gestione delle interrogazioni

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Elena Baralis 2007 Politecnico di Torino 1

Parte III. L algebra relazionale

Progettazione logica: criteri di ottimizzazione

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

Pag Politecnico di Torino 1

Corso di Laurea in Informatica Basi di Dati a.a

RELAZIONI E BASI DI DATI

La strutturazione dei database: Il modello relazionale (3/3)

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17)

Modelli e Metodi per la Simulazione (MMS)

Laboratorio di Basi di Dati

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

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

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

Gestione della Concorrenza

TEORIA sulle BASI DI DATI

Parte 6 Esercitazione sull accesso ai file

Normalizzazione (Codd, 1972)

Corso di Basi di Dati

INTRODUZIONE ALLE BASI DATI RELAZIONALI

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

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

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

Compito Basi di Dati. Tempo concesso: 90 minuti 15 Febbraio 2007 Nome: Cognome: Matricola:

NORMALIZZAZIONE DI SCHEMI RELAZIONALI

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni

Complementi di. Basi di Dati e Sistemi Informativi

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Progettazione Logica. ISProgLog 1

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

FORME NORMALI E DIPENDENZE

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Logica proposizionale

Basi di Dati - VII. Schemi relazionali e anomalie. Teoria Relazionale: Introduzione. Teoria Relazionale: Introduzione

Requisiti della base di dati. Schema concettuale

ESERCIZI NORMALIZZAZIONE

<Nome Tabella>.<attributo>

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Transcript:

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 applicazione ripetuta dell operatore relazionale di proiezione! Obbiettivo: eliminare le ridondanze e le anomalie 2

Concetto di normalizzazione Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione non normalizzata: " presenta ridondanze " si presta a comportamenti poco desiderabili durante gli aggiornamenti 3

Concetto di normalizzazione Le forme normali sono di solito definite sul modello relazionale, ma hanno senso anche in altri contesti, ad esempio nel modello E/R L attività che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale è detta normalizzazione 4

Concetto di normalizzazione La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati. Non costituisce quindi una metodologia di progettazione. 5

Una relazione con anomalie In un unica relazione sono rappresentati gli impiegati, i loro stipendi, i progetti, i bilanci dei progetti, e l appartenenza degli impiegati ai progetti 6

Analisi della relazione Se analizziamo il contenuto della relazione, possiamo osservare che: 1. Ogni impiegato ha un solo stipendio (anche se partecipa a più progetti) 2. Ogni progetto ha un (solo) bilancio 3. Ogni impiegato in ciascun progetto ha una sola funzione (anche se può avere funzioni diverse in progetti diversi) 7

Analisi della relazione Ma abbiamo usato un unica relazione per rappresentare tutte queste informazioni eterogenee: " gli impiegati con i relativi stipendi " i progetti con i relativi bilanci " le partecipazioni degli impiegati ai progetti con le relative funzioni 8

Anomalie # Se lo stipendio di un impiegato varia, è necessario modificare il valore in diverse righe: anomalia di aggiornamento # Lo stipendio di ciascun impiegato è ripetuto in tutte le righe relative: ridondanza # 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 9

Definizione delle anomalie Ridondanza presenza di dati ripetuti in diverse righe, senza aggiungere informazioni significative Anomalia di aggiornamento necessità di estendere l aggiornamento di un dato a tutte le righe in cui esso compare Anomalia di cancellazione l eliminazione di una riga 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à 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 un tuple completo. 10

Livelli di normalizzazione 11

Prima Forma Normale # Una tabella è in Prima Forma Normale (1NF) se e solo se ogni componente di ogni riga (cella) ha un valore atomico, non ulteriormente decomponibile Tuple 1 Tuple 2 Tuple 3 Tuple 4 Attr A Attr B X Attr C # Tutte le relazioni normalizzate sono almeno in 1NF 12

Seconda Forma Normale # Uno schema R(T) con vincoli funzionali è in Seconda Forma Normale (2NF) se e solo se ogni attributo non-primo dipende completamente (non parzialmente) da ogni chiave candidata dello schema, ovvero se non c è dipendenza parziale di un attributo non-primo da una chiave. Attributo primo: dato uno schema R(T), un attributo A è primo se e solo se fa parte di almeno una chiave dello schema. In caso contrario A è non-primo. Uno schema in 1NF le cui chiavi siano tutte semplici, ovvero formate da un singolo attributo, è anche in 2NF. 13

Seconda Forma Normale Vendita Annua <PK> Codice_Prodotto <PK> Anno Nome_Prodotto Totale Venduto! Una relazione e in 2NF se e in 1NF e se ogni suo attributo non-chiave dipende funzionalmente dalla chiave completa Vendita Annua <PK, FK> Codice_Prodotto <PK> Anno Totale Venduto Prodotto <PK> Codice_Prodotto Nome_Prodotto 14

Terza Forma Normale! Uno schema R(T) con vincoli funzionali è in Terza Forma Normale (3NF) se e solo se ogni attributo non-primo non dipende transitivamente da nessuna chiave ovvero se non c è dipendenza transitiva di un attributo non-primo da una chiave Dipendenza transitiva: data una relazione con attributi A, X e Y, e con PK A; se X dipende funzionalmente da Y, a sua volte dipendente da A se X non e una chiave candidata della relazione, alternativa ad A allora X ha una dipendenza funzionale transitiva da A 15

Esempio di normalizzazione 16

Verifica della normalizzazione 17

Osservazioni Benché gli schemi in 3NF non siano esenti da problemi, tale livello di normalizzazione è comunemente accettato nella pratica. 18

Osservazioni Nel caso generale, problemi di complessità computazionale rendono improponibile affrontare l attività di normalizzazione mediante tecniche di analisi. Tutti i seguenti problemi sono NP-completi: " Determinare se un attributo è primo " Verificare se esiste una chiave di grado minore di k " Verificare se uno schema è in 3NF rispetto a un un insieme di FD 19

Osservazioni L approccio adottato è di tipo costruttivo, ovvero anziché verificare se uno schema è al livello di normalizzazione richiesto, si progettano schemi che siano a tale livello di normalizzazione. La qualità di una decomposizione (ottenibile con algoritmi di normalizzazione): " deve essere senza perdita, per garantire la ricostruzione delle informazioni originarie " dovrebbe conservare le dipendenze, per semplificare il mantenimento dei vincoli di integrità originari 20

Normalizzare o non normalizzare? La normalizzazione non deve essere intesa come un obbligo, in quanto in alcune situazioni le anomalie che si riscontrano in schemi non normalizzati sono un male minore rispetto alla situazione che si normalizzandoli. verrebbe a creare 21

Normalizzare o non normalizzare? In particolare, si ricordano le considerazioni seguenti: "Normalizzare elimina le anomalie, ma può appesantire l esecuzione di certe operazioni (join tra gli schemi normalizzati). "La frequenza con cui i dati vengono modificati incide su qual è la scelta più opportuna (relazioni non-volatili, quasi statiche, danno meno problemi se non normalizzate). "La ridondanza presente in relazioni non normalizzate va quantificata per capire quanto essa incida sull occupazione di memoria e sui costi da pagare quando le repliche di una stessa informazione devono essere aggiornate. 22

Riassumendo...! Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti.! Una relazione non normalizzata presenta ridondanze e dà luogo a comportamenti poco desiderabili durante gli aggiornamenti.! La definizione delle forme normali (2NF, 3NF - e BCNF) si basa sul vincolo di dipendenza funzionale (FD).! Normalizzare uno schema significa decomporlo in sottoschemi.! Ogni decomposizione deve essere senza perdita, ovvero deve permettere di ricostruire esattamente la relazione originaria non decomposta.! È anche opportuno che la decomposizione preservi le FD, al fine di evitare (o ridurre la complessità di) query di verifica che garantiscano che i vincoli siano rispettati.! La normalizzazione deve essere reversibile. 23