230 likes | 406 Views
Sistemi di Elaborazione delle Informazioni Mod.I. DB relazionali. Basati su un modello fondato sulla teoria matematica delle relazioni tra insiemi Si usa un modello matematico dei dati -> si possono usare linguaggi e metodologie formali per l’accesso ai dati
E N D
DB relazionali • Basati su un modello fondato sulla teoria matematica delle relazioni tra insiemi • Si usa un modello matematico dei dati -> si possono usare linguaggi e metodologie formali per l’accesso ai dati • Es. metodologie, su cui si basano i linguaggi, per l’accesso ad un DB relazionale: algebra relazionale,calcolo relazionale Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Modello relazionale • Nel modello logico relazionale i dati vengono rappresentati basandosi sul concetto di relazione. • Relazione algebrica, no mod concettuale Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Relazione algebrica • Dati n insiemi di valori finiti D1..Dn, una relazione R tra questi insiemi è un insieme di n-uple <d1,d2..dn> : (d1 appartiene D1 etc.) Dove: D1..Dn = domini nomi D1..Dn = attributi n = grado della relazione Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
tabelle Per comodità di rappresentazione -> relazione in forma tabellare I concetti precedenti si traducono in: Tabelle, righe, colonne Quindi: • In una tabella non possono esistere 2 righe uguali • L’ordine tra righe non è significativo Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
tabelle • ->servono un insieme di attributi in base ai quali identificare le singole righe :chiave primaria Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Dallo schema concettuale allo schema logico • Entità -> tabelle • Relazioni -> chiavi esterne Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Esempio schema logico Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Normalizzazione • Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la “qualità”, cioè l'assenza di determinati difetti • Quando una relazione non è normalizzata: • presenta ridondanze, • si presta a comportamenti poco desiderabili durante gli aggiornamenti • Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Normalizzazione • Procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale • La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati • Non costituisce una metodologia di progettazione Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Una relazione con anomalie Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Anomalie • Lo stipendio di ciascun impiegato è ripetuto in tutte le ennuple relative • ridondanza • Se lo stipendio di un impiegato varia, è necessario andarne a modificare il valore in diverse ennuple • anomalia di aggiornamento • 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 Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
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 Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Prima FN • Una colonna non può contenere una struttura vettoriale ->vanno create tante righe quanti sono i valori della struttura vettoriale Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Seconda FN • Per chiavi primarie con più attributi, tutte le colonne relative agli altri attributi devono dipendere dall’intera chiave primaria ->si introducono nuove tabelle che soddisfino la condizione sopra indicata Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Seconda FN Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Terza FN • Non devono esistere dipendenze tra le colonne di una tabella se non basate sulla chiave primaria ->si introducono nuove tabelle che soddisfino la condizione sopra indicata Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa
Terza FN Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa