Progettazione di una base di dati relazionale Terza forma normale.

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
Creazione di archivi tramite Data Base
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
Normalizzazione Forme Normali.
Progettazione concettuale
DOCUMENTAZIONE DI SCHEMI E/R
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Progettazione Concettuale: Il modello Entità-Relazioni
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
1 Microsoft Access 1. 2 Contenuto Dovete progettare e realizzare, usando Access, una base di dati che riguarda gli esami sostenuti dagli studenti iscritti.
PROGETTO LOGICO. Progetto logico Lo schema E/R descrive un dominio applicativo ad un dato livello di astrazione Lo schema E/R è molto utile per: –fornire.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
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
Il Modello Relazionale
Forme normali.
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
Progettare un database
Sistemi di Elaborazione delle Informazioni Mod.I.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DATABASE Introduzione
MODELLO E/R.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
SECONDO COMPITO:. ANALISI DEI REQUISITI Si vuole automatizzare la gestione dei prestiti di una biblioteca di un determinato soggetto (biblioteca personale).
Microsoft Access Query (II), filtri.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione di una base di dati relazionale Problemi.
Database Progettazione Concettuale
Progettazione di Database
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.
Progettazione di una base di dati relazionale Vincoli.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
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.
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
Cloud informatica V anno.
PROGETTAZIONE DI UN DATABASE SARA A. L. DI GAETANO.
MODELLO E/R.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini VIII. Insiemi e Strutture 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.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Esempi di interrogazioni in SQL DB di partenza Base di dati di partenza –STUDENTI (Matricola, Nome, cognome, , PIN) –CORSI (Codice, Nome) –CARRIERE.
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.
Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>
LA NORMALIZZAZIONE. ESEMPIO DI NORMALIZZAZIONE(1FN) IDAziendaRagioneSocialePIVANomeSocioQuotaSocio 1F.lli Damatino spa Roberto Damatino 20%
OSSERVAZIONE: Ci sono schemi di relazione che non sono “buoni” (quelli in cui sono rappresentati più concetti come lo schema Curriculum) in quanto presentano.
Progettazione di una base di dati relazionale
Progettazione di una base di dati relazionale
Progettazione di una base di dati relazionale
Progettazione di una base di dati relazionale
Dipendenze funzionali
Transcript della presentazione:

Progettazione di una base di dati relazionale Terza forma normale

Ipotesi 3 La base di dati consiste di quattro schemi di relazione: Studente (Matr, CF, Cogn, Nome, Data, Com) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto) Comune (Com, Prov)

Ipotesi 3 (considerazioni) Studente (Matr, CF, Cogn, Nome, Data, Com) Poiché il numero di matricola identifica univocamente uno studente, ad ogni numero di matricola corrisponde: -un solo codice fiscale ( Matr  CF ) -un solo cognome ( Matr  Cogn ) -un solo nome ( Matr  Nome ) -una sola data di nascita ( Matr  Data ) -un solo comune di nascita ( Matr  Com ) Quindi un’istanza di Studente per essere legale deve soddisfare la dipendenza funzionale Matr  Matr CF Cogn Nome Data Com

Ipotesi 3 (considerazioni) Con considerazioni analoghe abbiamo che un’istanza di Studente per essere legale deve soddisfare la dipendenza funzionale CF  Matr CF Cogn Nome Data Com Pertanto sia Matr che CF sono chiavi di Studente. Scegliamo Matr come chiave primaria.

Ipotesi 3 (considerazioni) D’altra parte possiamo osservare che ci possono essere due studenti con lo stesso cognome e nomi differenti quindi possiamo avere istanze di Studente che non soddisfano la dipendenza funzionale Cogn  Nome

Ipotesi 3 (considerazioni) Con considerazioni analoghe possiamo concludere che le uniche dipendenze funzionali non banali che devono essere soddisfatte da un’istanza legale di Studente sono del tipo K  X dove K contiene una chiave (Matr o CF)

Ipotesi 3 (considerazioni) Esame (Matr, C#, Data, Voto) Uno studente può sostenere l’esame relativo ad un corso una sola volta; pertanto per ogni esame esiste -una sola data (in cui è stato sostenuto) -un solo voto Quindi ogni istanza legale di Esame deve soddisfare la dipendenza funzionale Matr C#  Data Voto

Ipotesi 3 (considerazioni) Esame (Matr, C#, Data, Voto) D’altra parte uno studente può sostenere esami in date differenti e riportare voti diversi nei vari esami. Pertanto esistono istanze di Esame che non soddisfano una o entrambe le dipendenze funzionali Matr  Data Matr  Voto

Ipotesi 3 (considerazioni) Esame (Matr, C#, Data, Voto) Inoltre l’esame relativo ad un certo corso può essere superato da diversi studenti in date diverse e con diversi voti. Pertanto esistono istanze di Esame che non soddisfano una o entrambe le dipendenze funzionali C#  Data C#  Voto Pertanto Matr C# è una chiave per Esame (si vede facilmente che è anche l’unica chiave)

Ipotesi 3 (conclusioni) Per ciascun schema di relazione Studente (Matr, CF, Cogn, Nome, Data, Com) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto) Comune (Com, Prov) le uniche dipendenze funzionali non banali che devono essere soddisfatte da ogni istanza legale sono del tipo K  X dove K contiene una chiave

Terza forma normale Uno schema di relazione è in 3NF se le uniche dipendenze funzionali non banali che devono essere soddisfatte da ogni istanza legale sono del tipo K  X dove -K contiene una chiave oppure -X è contenuto in una chiave

Terza forma normale (esempio: Ipotesi 3) Ciascuno schema di relazione Studente (Matr, CF, Cogn, Nome, Data, Com) Matr  Matr CF Cogn Nome Data Com Corso (C#, Tit, Doc) C#  C# Tit Doc Esame (Matr, C#, Data, Voto) Matr C#  Matr C# Data Voto Comune (Com, Prov) Com  Com Prov è in 3NF

Ipotesi 2 La base di dati consiste di tre schemi di relazione: Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) Corso (C#, Tit, Doc) Esame (Matr, C#, Data, Voto)

Ipotesi 2 (considerazioni) Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) Un’istanza di Studente per essere legale deve soddisfare le dipendenze funzionali: Matr  Matr CF Cogn Nome Data Com Prov CF  Matr CF Cogn Nome Data Com Prov Inoltre poiché ogni comune si trova in una sola provincia deve soddisfare la dipendenza funzionale Com  Prov

Ipotesi 2 (considerazioni) Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) Consideriamo la dipendenza funzionale Com  Prov è facile vedere che: -Com non è una chiave per Studente (ci possono essere più studenti che sono nati nello stesso comune -Prov non appartiene ad alcuna chiave di Studente (le uniche chiavi sono Matr e CF)

Ipotesi 2 (conclusioni) Lo schema Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) non è in 3NF

Ipotesi 1 La base di dati consiste di un solo schema di relazione: Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto)

Ipotesi 1 (considerazioni) Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto) Un’istanza di Curriculum per essere legale deve soddisfare le dipendenze funzionali: Matr  Matr CF Cogn Nome DataN Com Prov CF  Matr CF Cogn Nome DataN Com Prov Com  Prov C#  C# Tit Doc Matr C#  DataE Voto CF C#  DataE Voto

Ipotesi 1 (considerazioni) Pertanto le (uniche) chiavi di Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto) sono: Matr C# CF C# Infatti ogni istanza legale di Curriculum soddisfa le dipendenze funzionali: Matr C#  Matr CF Cogn Nome Data Com Prov C# Tit Doc DataE Voto CF C#  Matr CF Cogn Nome Data Com Prov C# Tit Doc DataE Voto

Ipotesi 1 (conclusioni) Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto) Consideriamo la dipendenza funzionale Matr  Cogn poichè: -Matr non è una chiave per Curriculum (uno studente può aver sostenuto più esami) -Cogn non appartiene ad alcuna chiave di Curriculum (le uniche chiavi sono Matr C# e CF C#) Curriculum non è in 3NF

Considerazioni finali: dipendenze transitive Studente (Matr, CF, Cogn, Nome, Data, Com, Prov) -Ad un numero di matricola corrisponde un solo comune di nascita (quello dello studente con quel numero di matricola): Matr  Com -Un comune si trova in una sola provincia: Com  Prov Conclusione: -ad un numero di matricola corrisponde una sola provincia: Matr  Prov L’attributo Prov dipendende transitivamente dalla chiave Matr (Matr  Prov è una conseguenza di Matr  Com e Com  Prov)

Considerazioni finali: dipendenze parziali Curriculum (Matr, CF, Cogn, Nome, DataN, Com, Prov, C#, Tit, Doc, DataE, Voto) Ad un numero di matricola corrisponde un solo cognome (il cognome dello studente con quel numero di matricola): Matr  Cogn Quindi: ad una coppia costituita da un numero di matricola e da un codice di corso corrisponde un solo cognome: Matr C#  Cogn L’attributo Cogn dipende parzialmente dalla chiave Matr C# (Matr C#  Cogn è una conseguenza di Matr  Cogn)

Definizione alternativa Dato uno schema R e un insieme di dipendenze funzionali F, R è in 3NF se e solo se non ci sono attributi che dipendono parzialmente o transitivamente da una chiave.