Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
Creazione di archivi tramite Data Base
Progettazione concettuale
Normalizzazione Forme Normali.
DOCUMENTAZIONE DI SCHEMI E/R
4 – Progettazione – Introduzione e Modello E-R
Prof. Lorenzo Vita , Ing. Luigi Testa
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
La Normalizzazione. 27 January, slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci.
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Corrado Aaron Visaggio
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Proiezione Dati una relazione r(X) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è linsieme di tuple su Y ottenute.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Forme normali.
MODELLO LOGICO DEI DATI
Progettare un database
Teoria della Normalizzazione
Introduzione a Oracle 9i
Sistemi di Elaborazione delle Informazioni Mod.I.
Basi di Dati e Sistemi Informativi
La Normalizzazione. 2 May, slide 2 Le nuove tecnologie Software Normalizzazione Normalizzazione è il processo di semplificazione di un data base.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Forma normale di Boyce e Codd
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Algebra relazionale. Accesso ai dati di un DB Aggiornamento di DB: funzione che, data istanza di DB, produce altra istanza di DB, sullo stesso schema.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Join Proprietà Il join di r 1 e r 2 contiene un numero di tuple compreso fra zero e il prodotto di |r 1 | e |r 2 | se il join di r 1 e r 2 è completo allora.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione di una base di dati relazionale Vincoli.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di una base di dati relazionale Terza forma normale.
Join Se ciascuna tupla di ciascun operando contribuisce ad almeno una tupla del risultato il join si dice completo. Se per alcune tuple non è verificata.
Teoria della Normalizzazione Basi di Dati 2010/11
Progettazione di basi di dati: metodologie e modelli
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

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. La normalizzazione è una procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale; è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati. Non costituisce una metodologia di progettazione Prima di definire le forme normali è necessario esaminare i diversi tipi di anomalia che si possono verificare a causa delle ridondanze.

Una relazione con anomalie

Anomalie Se si utilizza una sola relazione per rappresentare concetti disomogenei o indipendenti si possono verificare tre tipi di anomalie, oltre ad avere ridondanza nello schema (un dato è ripetuto in tutte le tuple relative al concetto cui si riferisce): anomalia di aggiornamento: se il dato ridondante varia va modificato in tutte le tuple anomalia di cancellazione: se non ci sono informazioni relative ad un elemento della chiave si perdono anche tutte le altre informazioni, anche se disponibili, riguardo ad altri concetti non inclusi nella chiave (a meno di ammettere valori nulli nella chiave). anomalia di inserimento: non è possibile inserire informazioni su un concetto non incluso nella chiave se manca linformazione su un elemento della chiave.

Anomalie Quindi in presenza di ridondanze: alcuni dati possono essere ripetuti, senza aggiunta di informazioni significative gli aggiornamenti (concettualmente atomici) devono essere ripetuti per ogni occorrenza dei dati relativi. La cancellazione di una tupla perché non è più valido linsieme di concetti nel suo complesso può comportare leliminazione di tutti i concetti, anche quelli che restano validi Non è possibile inserire un solo concetto per una relazione se non esiste un intero insieme di concetti

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

Dipendenze funzionali Sono vincoli di integrità di tipo funzionale fra gli attributi di una relazione. Formalmente: data una relazione r su uno schema R(X) e due sottoinsiemi non vuoti Z e Y di X, esiste per r una dipendenza funzionale tra Y e Z se per ogni coppia di tuple t 1 e t 2 di r aventi gli stessi valori su Y, t 1 e t 2 hanno anche gli stessi valori su Z. Si indica con Y Z (es. Impiegato Stipendio) Y Z è non banale se nessun attributo in Z appartiene a Y Es. Impiegato Progetto Progetto è banale Se K è una chiave esiste una dipendenza funzionale da K di tutti gli altri attributi. Il vincolo di dipendenza funzionale generalizza il vincolo di chiave. Y -> Z su R(X) degenera nel vincolo di chiave se Y U Z = X

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 Progetto Funzione Le prime due dipendenze funzionali causano anomalie, la terza no. Tornando allesempio…..

Impiegato Stipendio Progetto Bilancio Impiegato Progetto Funzione

Dipendenze funzionali e anomalie La parte sinistra della terza dipendenza funzionale corrisponde ad una chiave e non causa anomalie Le prime due non corrispondono a chiavi e causano anomalie La relazione contiene alcune informazioni legate alla chiave e altre ad attributi che non formano una chiave 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 Le dipendenze funzionali X -> Y in cui X sia una superchiave NON possono creare anomalie o ridondanze, in quanto X di per sé implica lunicità di ogni tupla definita su tale insieme. Se X non è superchiave ciò può non accadere. Una relazione r si definisce in forma normale di Boyce e Codd se per ogni dipendenza funzionale X->Y definita su di essa, X contiene una chiave K di r, cioè X è superchiave di r. La forma normale di Boyce e Codd richiede che i concetti in una relazione siano omogenei (solo proprietà direttamente associate alla chiave)

Decomposizione in forma normale In generale, se una relazione non è in forma normale, è possibile portarla in forma normale producendo tante relazioni quante sono le dipendenze funzionali. Questo è possibile in molti casi in modo diretto e naturale se le dipendenze sono indipendenti (es. su insiemi disgiunti di attributi). In altri casi la cosa può essere più complicata.

Decomposizione in forma normale In generale, la progettazione concettuale fatta mediante il modello E-R tende a garantire che lo schema rappresenti in modo separato le entità fondamentali e le rispettive associazioni. Quindi se la progettazione concettuale è stata fatta in modo corretto, la base di dati risultante dalla sua traduzione dovrebbe essere in forma normale. Una buona decomposizione deve soddisfare le proprietà di essere senza perdita e di conservare le dipendenze.

Non sempre così facile Impiegato Sede Progetto Sede Decomponendo in base alle dipendenze:

Ricomposizione della tabella La relazione ottenuta è diversa dalla relazione di partenza

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 è una relazione che contiene tutte le tuple di r più eventualmente alcune altre che si possono definire spurie. La decomposizione di r su X 1 e X 2 è senza perdita se il join delle due proiezioni è uguale ad r stessa, cioè non contiene tuple spurie. Se si deve fare una decomposizione ai fini della normalizzazione,è essenziale che sia senza perdita. Sia r una relazione su X e X 1 e X 2 tali che X 1 U X 2 = X e X 0 = X 1 X 2. Se r soddisfa la dipendenza funzionale X 0 ->X 1 oppure X 0 -> X 2 allora la decomposizione è senza perdita. Cioè la decomposizione è senza perdita se gli attributi comuni sono superchiave per una delle relazioni decomposte.

Conservazione delle dipendenze La decomposizione in più relazioni può creare casi in cui un inserimento di dati illecito per la relazione originaria (per la violazione di una dipendenza funzionale) possa non essere rilevato nel caso della relazione decomposta. Una proprietà fondamentale delle decomposizioni deve essere quella di conservare le dipendenze. Questo può essere garantito se ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti.

Impiegato Sede Progetto Sede Supponiamo di voler inserire una nuova tupla che specifica la partecipazione dell'impiegato Neri, che opera a Milano, al progetto Marte Conservazione delle dipendenze

Progetto Sede non è conservata

Qualità di una decomposizione Quindi, una decomposizione deve soddisfare le proprietà di decomposizione senza perdita e di conservazione delle dipendenze. La decomposizione senza perdita garantisce che le informazioni nella relazione originaria siano ricostruibili con precisione a partire da quelle decomposte. In questo caso la stessa interrogazione dà gli stessi risultati sulla relazione originaria e su quelle decomposte. La conservazione delle dipendenze garantisce che, nelle relazioni decomposte, i vincoli di integrità di quelle originarie siano ancora validi. Ogni aggiornamento (non) valido su quella originaria corrisponde a un aggiornamento (non) valido su quelle decomposte. Queste ultime possono accettare anche aggiornamenti leciti impossibili su quella originaria, a causa delle anomalie rimosse con la decomposizione.

Una relazione non-normalizzata Progetto Sede Dirigente Dirigente Sede

La decomposizione è problematica Progetto Sede Dirigente coinvolge tutti gli attributi e quindi nessuna decomposizione può preservare tale dipendenza Quindi in alcuni casi la forma normale di Boyce & Codd non è raggiungibile

Terza forma normale Esistono schemi che violano la forma normale di Boyce e Codd che non sono decomponibili ai fini della normalizzazione. Es. se è presente una dipendenza funzionale in cui un membro sinistro non è superchiave o se una dipendenza funzionale coinvolge già tutti gli attributi e quindi non è decomponibile conservando le dipendenze. In questi casi si ammette una condizione meno restrittiva, che a sua volta non ammette ridondanze o anomalie pur ammettendo situazioni come quelle viste sopra. Tale condizione si chiama terza forma normale.

Terza forma normale Si dice che una relazione r è in terza forma normale se, per ogni dipendenza funzionale X -> Y definita su di essa è verificata almeno una delle seguenti condizioni: X contiene una chiave K di r ogni attributo in Y è contenuto in almeno una chiave di r La terza forma normale è meno forte della forma normale di Boyce e Codd ma è sempre ottenibile.

Uno schema non decomponibile in BCNF Dirigente Sede Progetto Sede Dirigente

Una possibile riorganizzazione Dirigente Sede Reparto Sede Reparto Dirigente Progetto Sede Reparto

Decomposizione in BCNF

Progettazione e normalizzazione la teoria della normalizzazione può essere usata nella progettazione logica per verificare lo schema relazionale finale si può usare anche durante la progettazione concettuale per verificare la qualità dello schema concettuale

Prodotto Nome prodotto Prezzo Nome fornitore Indirizzo Partita IVA Codice PartitaIVA NomeFornitore Indirizzo

Analisi dellentità –Lentità viola la terza forma normale a causa della dipendenza: PartitaIVA NomeFornitore Indirizzo –Possiamo decomporre sulla base di questa dipendenza

Indirizzo Partita IVA Nome fornitore Nome prodotto Prezzo Codice Fornitura ProdottoFornitore (1,1) (0,N)

ProfessoreStudente Corso di laurea Tesi (0,N) (0,1) (0,N) Dipartimento (0,N) Studente Corso di laurea Studente Professore Professore Dipartimento

Analisi della relationship La relationship viola la terza forma normale a causa della dipendenza: Professore Dipartimento Possiamo decomporre sulla base di questa dipendenza

ProfessoreStudente Corso di laurea Tesi (0,N) (0,1) (0,N) Dipartimento Afferenza (1,1) (0,N)

Ulteriore analisi sulla base delle dipendenze La relationship Tesi è in BCNF sulla base delle dipendenze Studente CorsoDiLaurea Studente Professore le due proprietà sono indipendenti questo suggerisce una ulteriore decomposizione

ProfessoreStudente Tesi (0,N) (0,1) Dipartimento Afferenza (0,N) (1,1) Corso di laurea (0,N) Corso di laurea Iscrizione (0,N) (1,1)