Corso di Informatica. Prerequisiti. Modulo T2 D2.2 - La normalizzazione 2. Elementi di algebra relazionale Requisiti di una base di dati

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

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

TEORIA RELAZIONALE: INTRODUZIONE

Capitolo 9. Esercizio 9.1. Esercizio 9.2

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

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

Linguaggi per basi di dati

Normalizzazione. Relazionali

Normalizzazione. Definizione

Normalizzazione (Codd, 1972)

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

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

Teoria della Progettazione delle Basi di Dati Relazionali

Gli operatori relazionali

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

Basi di dati 30 settembre 2010 Compito A

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

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

Corso di Basi di Dati. Progettazione di Database: Esercizi Home page del corso:

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

FORME NORMALI E DIPENDENZE

CAPITOLO V. DATABASE: Il modello relazionale

Prova scritta. Mercoledì 23 Luglio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

COGNOME MATRICOLA. UTENTE(ID, Nome, Cognome, Eta) ALBERGO(Nome, Citta, NumStelle) PRENOTAZIONE(Codice, NomeAlbergo, IDUtente, DataArrivo, NumNotti)

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

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

BASI DI DATI DIPENDENZE FUNZIONALI E FORME NORMALI

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

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

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

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

Introduzione all Algebra Relazionale

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

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

Progetto: Database per assicurazione rc auto

(anno accademico )

Corso di Basi di Dati

Introduzione alle Basi di Dati

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

ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un sistema di prenotazioni di biglietti aerei:

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Il Modello Relazionale

DATABASE RELAZIONALI

Esercitazioni di statistica

Algoritmi di progettazione di basi di dati relazionali e altre dipendenze

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

BASI DATI INFORMATICA

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

GLI STRUMENTI PER IL DISEGNO

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Decomposizioni di uno schema, Decomposizioni che preservano i dati (loss-less joins) Prof.ssa Rosalba Giugno

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo

Il Modello Relazionale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

BASI DI DATI - : I modelli di database

Algebra Relazionale. algebra relazionale

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

Elena Baralis 2007 Politecnico di Torino 1

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

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

Lezione V. Aula Multimediale - sabato 29/03/2008

2. Variabilità mediante il confronto di valori caratteristici della

Traduzione dello schema E-R in modello logico relazionale

Istituto Univel'sitarìo Archlfetturo Venezia. El 256. Servizio Bibliografico Audiovisivo e di Documentazione

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

Contabile. Classificazione ATECO ATTIVITÀ DI SUPPORTO PER LE FUNZIONI D'UFFICIO E ALTRI SERVIZI DI SUPPORTO ALLE IMPRESE

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Fondamenti di Teoria delle Basi di Dati

Esercitazione Simulazione Compito

Archivi e Basi di Dati

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

AUTOMOBILE CLUB ASCOLI PICENO

Ottimizzazione delle interrogazioni (parte I)

Data management a.a Il linguaggio SQL

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

Basi di Dati Corso di Laura in Informatica Umanistica

PIANO DI LAVORO. a.s / 2015

AA Laboratorio di Basi di Dati I Esercitazioni SQL (1)

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n)

LA NORMALIZZAZIONE. Introduzione

Intelligenza Artificiale. Cooperazione e coordinamento. Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 0

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Elementi di Algebra Relazionale

Matematica con il foglio di calcolo

Corso di Informatica (Basi di Dati)

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

FSM: Macchine a Stati Finiti

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

TEORIA sulle BASI DI DATI

Il modello multidimensionale. Per le slides si ringrazia il Prof. Stefano Rizzi ( e il Dott.

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Transcript:

Corso di Informatica Modulo T2 D2.2 - La normalizzazione 2 1 Prerequisiti Elementi di algebra relazionale Requisiti di una base di dati 2 1

Introduzione In questa Unità vediamo alcuni esempi di relazioni che presentano problemi o inefficienze, pur essendo normalizzate in 2FN. Peresentiamo delle forme normali successive alla 2FN (la 3FN e la BCNF) che risolvono qiuesti ulteriori problemi sulle relazioni. E da notare l importanza profonda dell analisi formale delle relazioni e la loro conseguente normalizzazione; una o più relazioni impostate frettolosamente, possono, nel seguito, presentare problemi di difficoltà insormontabile e pesanti inefficienze. 3 Dipendenza transitiva Definizione: Data una relazione R(A) e due dipendenze funzionali X Y e Y Z, con X,Y e Z sottoinsiemi di attributi di A, si dice che Z dipende transitivamente da X se: X Y, Y ~ X Y Z, Z ~ Y In altre parole esiste dipendenza transitiva quando esistono attributi non chiave che dipendono da altri attributi non chiave. 4 2

Esempi di dipendenza transitiva Pertanto, per gli esempi citati nell Unità precedente: : VETTURE (Targa, Marca, Data, Colore, Modello, Cilindrata, Prezzo) è in 2FN e presenta le dipendenze transitive seguenti: {Targa} {Modello}, {Modello} ~ {Targa} {Modello} {Cilindrata, Prezzo}, {Cilindrata,Prezzo}~ {Modello} FORNITORE (Forn, TelForn, IndForn, Articolo, Q.tà, IVA, Data, Prezzo) non è in 3FN poiché non è neanche in 2FN e quindi non ha senso esaminare le dipendenze transitive. 5 La terza forma normale Definizione Una relazione R(A) si dice in terza forma normale, e si indica con con 3FN, quando è in 2FN e non esistono dipendenze transitive dalla chiave per nessun sottoinsieme di attributi non chiave. Regola pratica per normalizzare in 3FN 1) Verificare la 2FN 2) Individuare l insieme Z di tutti gli attributi che dipendono funzionalmente da un sottoinsieme Y di attributi non chiave 3) Costruire una nuova relazione in cui Y è la chiave primaria e Z come attributo 4) Togliere Z dalla relazione iniziale. 6 3

Esempi di terza forma normale Pertanto, per gli esempi citati: VETTURE (Targa, Marca, Data, Colore, Modello, Cilindrata, Prezzo) che è in 2FN, presentando dipendenze transitive non è in 3FN FORNITURE (Forn, TelForn, IndForn, Articolo, Q.tà, IVA, Data, Prezzo) non è neanche in 2FN e quindi non è neanche in 3FN. Per normalizzare la relazione VETTURE() in 3FN occorre decomporla in: VETTURE (Targa, Marca, Data, Colore, Modello) CARATTERISTICHE (Modello, Cilindrata, Prezzo) 7 Esempi di terza forma normale Nel seguente esempio, abbiamo: {} {Cognome, Reparto, Caporeparto} {Reparto} {Caporeparto} 10 11 12 12 Cognome Birilli Blasi Antini Pani Reparto Personale Vendite Caporeparto Fiori Lamberti Fiori Astolfi Infatti, varia, ma Reparto no (10 e 12 sono nello stesso reparto); inoltre, al variare di Reparto, varia Caporeparto. Sono presenti dipendenze transitive e quindi la relazione non è in 3FN. 8 4

Esempi di terza forma normale Per trasformare la relazione in 3FN occorre applicare la decomposizione seguente: 10 11 12 12 Cognome Birilli Blasi Antini Pani Reparto Personale Vendite Reparto Personale Vendite Caporeparto Fiori Lamberti Fiori Astolfi 9 Forma normale di Boyce-Codd Sebbene nella maggior parte dei casi, la normalizzazione 2FN è già sufficiente a garantire i requisiti fondamentali di efficienza e funzionalità delle relazioni, per esigenze particolari può essere richiesto che le relazioni siano in 3FN. Poiché, in alcuni casi, anche la terza forma normale ammette alcune anomalie, laddove sia necessaria una maggiore rigidità può essere utile una nuova forma normale: la forma normale di Boyce-Codd (BCNF), che agisce sul punto cardine delle nostre strutture: le chiavi. Come vedremo, questa analisi è molto delicata e va considerata con grande cura; anche se, per i nostri scopi, potremmo sorvolare sulla BCNF la presentiamo ugualmente, al solo scopo di completezza. 10 5

Forma normale di Boyce-Codd Immaginiamo di memorizzare i dati degli abbonati ad un operatore telefonico mediante la seguente relzione ABBONATI Prefisso 051 06 055 081 Numero 5345344 34545454 435354 534534 Citta Bologna Napoli Nome Pieri Veschi Zelda Nicosia ATTIVITA :Osservando la dipendenza {Citta} {Prefisso} decomporre la relazione ABBONATI in modo da ottenerla in BCNF. 11 Forma normale di Boyce-Codd Per trasformarla in BCNF è sufficiente decomporla come segue: Nome Pieri Veschi Zelda Nicosia Prefisso 051 06 055 081 Numero 5345344 34545454 435354 534534 Prefisso 051 06 055 081 Citta Bologna Napoli 12 6

Forma normale di Boyce-Codd Le cose non sempre sono però così facili, come mostra il seguente esempio relativo alla relazione PROGETTI ATTIVITA :Osservando le dipendenze: {} {} {} {} decomporre la relazione PROGETTI in modo da ottenerla in BCNF. 13 Forma normale di Boyce-Codd Per trasformarla in BCNF sappiamo che è sufficiente decomporla come segue: ATTIVITA : Eseguire il join delle due relazioni: R1(, sede) R2(, ). 14 7

Forma normale di Boyce-Codd Il join produce la tabella a fianco: Si tratta di un errore grossolano che va ovviamente evitato! Quale è la causa? 15 Forma normale di Boyce-Codd Definizione.: una relazione R(A) si decompone senza perdita su X e Y se il join delle proiezioni di R(A) su X e Y è uguale a R(A) stessa (cioè non contiene ennuple spurie). In termini pratici, la decomposizione senza perdita (cioè senza ennuple spurie). è garantita se gli attributi comuni contengono una chiave per almeno una delle relazioni decomposte La causa è l assenza di una chiave per l attributo comune in entrambe le relazioni. 16 8

Forma normale di Boyce-Codd Allora proviamo ad eseguire una decomposizione diversa della relazione di partenza. ATTIVITA :Osservando le dipendenze: {} {} {} {} decomporre la relazione PROGETTI in modo da ottenerla in BCNF. 17 Forma normale di Boyce-Codd Decomponendo PROGETTI senza perdita, abbiamo le due relazioni seguenti: Stavolta, il join tra le due tabelle ottenute ci fa tornare alla tabella iniziale. 18 9

Argomenti Dipendenza transitiva Esempi di dipendenza transitiva La terza forma normale Esempi di terza forma normale Forma normale di Boyce-Codd 19 Altre fonti di informazione A.Lorenzi-D.Rossi, Le basi di dati e il linguaggio SQL ed. ATLAS F.Cesarini-F.Pippolini-G.Soda, Informatica 3- ed. Cremonese A.Garavaglia-N.Mazzucchelli-F.Petracchi, Informatica-ed. Zanichelli 20 10