Progettazione logica

Qualità dello schema logico


Ci proponiamo di verificare la qualità dello schema logico utilizzando gli strumenti della teoria della normalizzazione.

Prima forma normale

Gli schemi in 1NF sono caratterizzati dalle seguenti proprietà: Se la progettazione dello schema della base di dati viene effettuata con opportuni criteri, ponendo particolare cura nella progettazione concettuale, tutti gli schemi di relazione ottenuti dovrebbero sempre essere in 1NF. Nel nostro caso, tutti gli schemi sono in prima forma normale.

Seconda forma normale

Uno schema di relazione R è in 2NF se è in 1NF e se non esiste un attributo A non primo che dipende funzionalmente in modo parziale da una chiave candidata di R. Nel nostro schema di base di dati, la maggior parte degli schemi di relazione ha una sola chiave candidata, che quindi è anche chiave primaria. Fanno eccezione i seguenti schemi di relazione: Nel caso di questi tre schemi di relazione, entrambe le chiavi candidate sono composte da un singolo attributo: per questo motivo, eventuali dipendenze funzionali verso attributi non primi sono necessariamente complete. Tutti gli altri schemi di relazione hanno un'unica chiave candidata. Ad eccezione dello schema Assegnazione, tutti hanno chiave primaria formata da un'unico attributo e sono quindi in 2NF. Per quanto riguarda invece lo schema di relazione Assegnazione, nessuno degli attributi non primi (cioè OreInterneOrdinaria, OreEsterneOrdinarie, OreInterneStraordinarie, OreEsterneStraordinarie) dipende funzionalmente da uno solo degli attributi di chiave primaria Operatore e Lavoro.

Terza forma normale

Uno schema di relazione R è in 3NF se per ogni dipendenza funzionale X -> A non banale vale almeno una delle seguenti condizioni: L'unico caso in cui la proprietà di 3NF può essere discussa riguarda lo schema di relazione Cliente. In questo schema potrebbero sembrare sussistere le seguenti dipendenze funzionali: In realtà, i clienti possono risiedere in diversi stati. Possono esistere nomi di città uguali tra stati diversi, con provincie/regioni diverse e codici di avviamento postale diversi. Per questi motivi, le dipendenze funzionali suddette non esistono. Va detto che la grande maggioranza dei clienti è italiana, ma va anche aggiunto che questo gruppo di attributi non è di interesse per alcuna operazione. Il committente, infatti, desidera mantenere questi dati solo per completezza.