sistemi di elaborazione delle informazioni mod.i

23
Sistemi di Elaborazione delle Informazioni Mod.I

Upload: giacobbe-perego

Post on 02-May-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sistemi di Elaborazione delle Informazioni Mod.I

Sistemi di Elaborazione delle Informazioni Mod.I

Page 2: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

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

Page 3: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 4: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 5: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 6: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 7: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Dallo schema concettuale allo schema logico

• Entità -> tabelle

• Relazioni -> chiavi esterne

Page 8: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Page 9: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Page 10: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Page 11: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Esempio schema logico

Page 12: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Page 13: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Page 14: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 15: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 16: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Una relazione con anomalie

Impiegato Stipendio Progetto Bilancio Funzione

Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista

Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore

Page 17: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 18: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 19: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 20: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 21: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Seconda FN

Page 22: Sistemi di Elaborazione delle Informazioni Mod.I

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

Page 23: Sistemi di Elaborazione delle Informazioni Mod.I

Corso di Sistemi di Elaborazione delle Informazioni '05 Mod.I Ing. L.Testa

Terza FN