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 • 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 nuple <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: 1. In una tabella non possono esistere 2 righe uguali 2. L’ordine tra righe non è significativo Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa tabelle 1. -> 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 Impiegato Stipendio Progetto Rossi 20 Marte Verdi 35 Giove Verdi 35 Venere Neri 55 Venere Neri 55 Giove Neri 55 Marte Mori 48 Marte Mori 48 Venere Bianchi 48 Venere Bianchi 48 Giove Bilancio 2 15 15 15 15 2 2 15 15 15 Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Funzione tecnico progettista progettista direttore consulente consulente direttore progettista progettista direttore 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 Corso di Sistemidi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa – anomalia inserimento 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