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



Documenti analoghi
Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

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

Progettazione di basi di dati

Progettazione di basi di dati D B M G

D B M G D B M G 2. Progettazione di basi di dati. Normalizzazione

Normalizzazione. Relazionali

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 (Codd, 1972)

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

MODELLO RELAZIONALE. Introduzione

LA NORMALIZZAZIONE. Introduzione

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

FORME NORMALI E DIPENDENZE

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

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

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Operazioni sui database

Vincoli di integrità

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

Il Modello Relazionale

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

Introduzione alla teoria dei database relazionali. Come progettare un database

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.

Elena Baralis 2013 Politecnico di Torino 1

Progettazione logica relazionale (1/2)

Progettazione concettuale

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Organizzazione degli archivi

TEORIA sulle BASI DI DATI

Informatica (Basi di Dati)

BASI DI DATI - : I modelli di database

Database. Si ringrazia Marco Bertini per le slides

Il database management system Access

Modulo 2 Data Base 2

LA NORMALIZZAZIONE. Prima parte

Tipi di utente Pagina di Accesso WebUtilities prevede due tipi di utente

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

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Capitolo 13. Interrogare una base di dati

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

IL SISTEMA INFORMATIVO

BASE DI DATI: sicurezza. Informatica febbraio ASA

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Secondo Compitino di Basi di Dati

Introduzione all Algebra Relazionale

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

DATABASE. A cura di Massimiliano Buschi

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Definizione di domini

DATABASE RELAZIONALI

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Il modello relazionale dei dati

L Ente del Turismo del Sultanato dell OMAN, con sede a:

Le Basi di Dati. Le Basi di Dati

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

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Progettazione di Basi di Dati

Basi di dati 30 settembre 2010 Compito A

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

Il piano di studi va presentato dal 15 OTTOBRE al 25 NOVEMBRE 2015 e dal 16 al 31 MARZO STUDENTI IN CORSO

Il Modello Relazionale

Basi di dati. La normalizzazione

FASE 1 REGISTRAZIONE DEI DATI PERSONALI

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Il modello relazionale

Università degli Studi della Basilicata. Prenotazione degli Appelli d esame Online. Guida Studenti alla Prenotazione degli Appelli d esame Online

Il modello Entity-Relationship: pattern di progettazione

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

Gestione Voti Scolastici

MANUALE PER LO STUDENTE: VISUALIZZAZIONE e ACCETTAZIONE/RIFIUTO DEL VOTO

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Inserimento esame nella procedura esami on-line. Passo 1: - Voce esse3: Calendario Esami->Esami Profitto->Abilita docenti

IL MODELLO RELAZIONALE

Guida pratica Domanda telematica di preiscrizione alla procedura di ammissione ai master

Gli operatori relazionali

UNIVERSITA DEGLI STUDI DI ROMA LA SAPIENZA

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

GUIDA ALLA COMPILAZIONE DEL PIANO DI STUDI ON-LINE

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

database: modello entityrelationship

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Transcript:

Normalizzazione Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Normalizzazione Introduzione La normalizzazione è un procedimento che, a partire da uno schema relazionale non normalizzato, permette di ottenere uno schema relazionale normalizzato La normalizzazione non è una metodologia di progettazione, bensì uno strumento di verifica Normalizzazione e modello ER Esame Superato La metodologia di progettazione basata su schemi ER produce normalmente schemi relazionali normalizzati Le verifiche di normalizzazione possono essere applicate anche agli schemi ER MatrStudente s99 s90 s90 s91 s9 Residenza Milano Torino Torino Pescara Lecce CodCorso 0FLYCY 01FLTCY 01KPNCY 01KPNCY 0FLYCY NomeCorso Calcolatori elettronici Basi di dati Reti di calcolatori Reti di calcolatori Calcolatori elettronici Voto 0 6 8 9

: vincoli Ridondanze e Anomalie La chiave primaria è la coppia MatrStudente, CodCorso La residenza di ogni studente è unica ed è funzione solo dello studente, indipendentemente dagli esami che ha superato Il nome del corso è unico ed è funzione solo del corso, indipendentemente dagli studenti che superano il corrispondente esame In tutte le righe in cui compare uno studente è ripetuta la sua residenza ridondanza Se la residenza di uno studente cambia, occorre modificare tutte le righe in cui compare contemporaneamente anomalia di aggiornamento Ridondanze e Anomalie Se un nuovo studente si iscrive all università, non può essere inserito nella base dati fino a quando non supera il primo esame anomalia di inserimento Se uno studente rinuncia agli studi, non è possibile tener traccia della sua residenza anomalia di cancellazione Ridondanza Un unica relazione è utilizzata per rappresentare informazioni eterogenee alcuni dati sono ripetuti in tuple diverse senza aggiungere nuova informazione dati ridondanti Anomalie Le informazioni ridondanti devono essere aggiornate in modo atomico (tutte contemporaneamente) La cancellazione di una tupla comporta la cancellazione di tutti i concetti in essa rappresentati inclusi quelli che potrebbero essere ancora validi L inserimento di una nuova tupla è possibile solo se esiste almeno l informazione completa relativa alla chiave primaria non è possibile inserire la parte di tupla relativa ad un solo concetto Forma normale di Boyce Codd

Dipendenza funzionale Dipendenza funzionale E un tipo particolare di vincolo d integrità Descrive legami di tipo funzionale tra gli attributi di una relazione : la residenza è unica per ogni studente ogni volta che compare lo stesso studente, il valore è ripetuto il valore di MatrStudente determina il valore di Residenza Una relazione r soddisfa la dipendenza funzionale X Y se, per ogni coppia t 1, t di tuple di r, aventi gli stessi valori per gli attributi di X, t 1 e t hanno gli stessi valori anche per gli attributi Y X determina Y (in r) Esempi MatrStudente Residenza CodCorso NomeCorso Dipendenza non banale Dipendenze funzionali e chiavi La dipendenza MatrStudente CodCorso CodCorso è banale perché CodCorso fa parte di entrambi i lati Una dipendenza funzionale X Y è non banale se nessun attributo in X compare tra gli attributi in Y Data una chiave K di una relazione r K qualsiasi altro attributo di r (o insieme di attributi) Esempi MatrStudente CodCorso Residenza MatrStudente CodCorso NomeCorso MatrStudente CodCorso Voto Dipendenze funzionali e anomalie Dipendenze funzionali e anomalie Le anomalie sono causate da proprietà degli attributi coinvolti in dipendenze funzionali Esempi MatrStudente Residenza CodCorso NomeCorso Le dipendenze dalle chiavi non originano anomalie MatrStudente CodCorso Voto Le anomalie sono causate dall inclusione di concetti indipendenti tra loro nella stessa relazione da dipendenze funzionali X Y che permettono la presenza di più tuple con lo stesso valore di X X non contiene una chiave

Forma normale di Boyce Codd (BCNF) BCNF = Boyce Codd Normal Form Una relazione r è in BCNF se, per ogni dipendenza funzionale (non banale) X Y definita su di essa, X contiene una chiave di r (X è superchiave di r) Anomalie e ridondanze non sono presenti in relazioni in BCNF perché concetti indipendenti sono separati in relazioni diverse Decomposizione in forma normale Decomposizione in BCNF Decomposizione in BCNF Normalizzazione processo di sostituzione di una relazione non normalizzata con due o più relazioni in BCNF Criterio una relazione che rappresenta più concetti indipendenti è decomposta in relazioni più piccole, una per ogni concetto, per mezzo delle dipendenze funzionali Le nuove relazioni sono ottenute mediante proiezioni sugli insiemi di attributi corrispondenti alle dipendenze funzionali Le chiavi delle nuove relazioni sono le parti sinistre delle dipendenze funzionali le nuove relazioni sono in BCNF Dipendenze funzionali nell esempio MatrStudente Residenza CodCorso NomeCorso MatrStudente CodCorso Voto Da R (MatrStudente, Residenza, CodCorso, NomeCorso, Voto) Le relazioni in BCNF sono R 1 (MatrStudente, Residenza) = π MatrStudente, Residenza R R (CodCorso, NomeCorso) = π CodCorso, NomeCorso R R (MatrStudente, CodCorso, Voto) = π MatrStudente, CodCorso, Voto R

Studente MatrStudente s99 s90 s91 s9 Residenza Milano Torino Pescara Lecce Esame Superato MatrStudente s99 s90 s90 s91 s9 Corso CodCorso 0FLYCY NomeCorso Calcolatori elettronici 01FLTCY Basi di dati 01KPNCY Reti di calcolatori Corso Voto 0FLYCY 0 01FLTCY 6 01KPNCY 8 01KPNCY 9 0FLYCY Residenza MatrStudente CodCorso NomeCorso Esame Superato (0, N) (0,N) Studente Corso Voto Proprietà delle decomposizioni Sono accettabili tutte le decomposizioni? proprietà essenziali per una buona decomposizione Problemi perdita di informazione perdita delle dipendenze R (,, ) 6 00 : decomposizione (n. 1) R (,, ) Decomposizione basata sulle dipendenze funzionali : decomposizione (n. 1) R (,, ) Decomponendo R 1 (, ) = R (, ) = π, R π, R 00 6 00

: ricomposizione (n.1) Decomposizione senza perdita Ricomponendo R 1 R tuple spurie La decomposizione di una relazione r su due insiemi di attributi X 1 e X è senza perdita di informazione se il join delle proiezioni di r su X 1 e X è uguale a r stessa (senza tuple spurie ) Una decomposizione eseguita per normalizzare deve essere senza perdita Ricostruzione con perdita di informazione Decomposizione senza perdita Data la relazione r(x) e gli insiemi di attributi X 1 e X tali che X = X 1 X X 0 = X 1 X se r soddisfa la dipendenza funzionale X 0 X 1 o X 0 X la decomposizione di r su X 1 e X è senza perdita Gli attributi comuni formano una chiave per almeno una delle relazioni decomposte : perdita di informazione R 1 (, ) R (, ) Verifica della regola di decomposizione senza perdita X 1 =, X =, X 0 = L attributo non soddisfa la condizione per la decomposizione senza perdita : decomposizione (n. ) : decomposizione (n.) R (,, ) R (,, ) Decomposizione basata sulle dipendenze funzionali Decomponendo R 1 (, ) = R (, ) = π, R π, R 00

: decomposizione senza perdita : decomposizione senza perdita? R 1 (, ) R (, ) R 1 (, ) R (, ) R 1 R R 1 R La decomposizione è senza perdita? Verifica della condizione per la decomposizione senza perdita X 1 =, X =, X 0 = L attributo soddisfa la condizione per la decomposizione senza perdita : inserimento di una nuova tupla R 1 (, ) R (, ) Inserimento della tupla : Gialli : : 00 00 Gialli Gialli 00 : inserimento di una nuova tupla Cosa avviene se inserisco la tupla (Gialli,00) in R? nella relazione originaria l inserimento è vietato perché causa la violazione della dipendenza nella decomposizione non è più possibile riconoscere alcuna violazione, poiché gli attributi e sono in relazioni separate E stata persa la dipendenza tra e Conservazione delle dipendenze Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello schema originario è presente in una delle relazioni decomposte E opportuno che le dipendenze siano conservate, in modo da garantire che nello schema decomposto siano soddisfatti gli stessi vincoli dello schema originario : decomposizione (n. ) R (,, ) Decomposizione basata sulle dipendenze funzionali

: decomposizione (n. ) R (,, ) Decomponendo R 1 (, ) = R (, ) = π, R π, R Ricomponendo R 1 R 6 6 00 : decomposizione senza perdita Ricomponendo R 1 R Verifica condizione per la decomposizione senza perdita X 1 =, X =, X 0 = L attributo soddisfa la condizione per la decomposizione senza perdita : dipendenze funzionali conservate Ricomponendo R 1 R Dipendenze funzionali conservate La dipendenze funzionale può essere ricostruita da : schema ER corrispondente Di categoria (1,1) (0,N) Qualità di una decomposizione Le decomposizioni devono sempre soddisfare le proprietà decomposizione senza perdita garantisce che le informazioni nella relazione originaria siano ricostruibili con precisione (senza tuple spurie) a partire da quelle nelle relazioni decomposte conservazione delle dipendenze garantisce che le relazioni decomposte abbiano la stessa capacità della relazione originaria di rapprentare i vincoli di integrità