Understanding Database Normalization: From 1NF to 5NF