Caveat
Normalization is not the be-all and end-all of DB design
Example: suppose attributes A and B are always used together, but normalization theory says they should be in different tables.
- Decomposition might produce unacceptable performance loss (extra disk reads)
Plus -- there are constraints other than FDs and MVDs