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
Scarica

DataBase relazionali