Qualcuno potrebbe spiegarmi a grandi linee in cosa consistono la seconda e la terza forma normale quando si progetta un DB?? Non sono mai riuscito a capirle e giovedì ho l'esame di maturità
Qualcuno potrebbe spiegarmi a grandi linee in cosa consistono la seconda e la terza forma normale quando si progetta un DB?? Non sono mai riuscito a capirle e giovedì ho l'esame di maturità
http://web.tiscali.it/natura_e_sile
Do per scontato che tu sappia cos'è una dipendenza funzionale...
Uno schema è in seconda forma normale se non esistono dipendenze parziali (cioè nessun attributo deve dipendere da un sottoinsieme degli attributi che compongono la chiave primaria). Ad esempio, considera lo schema
(articolo, magazzino, quantità, indirizzo)
In questo caso, l'attributo indirizzo non dipende dall'intera chiave (articolo,magazzino) ma dal solo magazzino. Si hanno quindi una serie di problemi:
- Ridondanza - Per ogni tupla è necessario replicare l'indirizzo del magazzino
- Aggiornamento - In caso di aggiornamento dell'indirizzo è necessario modificarlo per ogni tupla
- Inserimento - Non si può inserire l'indirizzo di un magazzino se non è presente almeno un articolo
- Cancellazione - Se un magazzino è vuoto, si perdono le informazioni sul suo indirizzo
Uno schema è invece in terza forma normale se non esistono dipendenze transitive. Per esempio nello schema
(codImp, nome, reparto, capoReparto)
l'impiegato determina il reparto, e quest'ultimo a sua volta determina il nome del capo reparto. Si verificano anche in questo caso i problemi di prima
Spero di essere stato chiaro!
Grazie mille, sei stato chiarissimo!
http://web.tiscali.it/natura_e_sile