Why do we need to normalise a data model?
-
to make it look good
-
to increase performance
-
To comply with the multidimensional modelling rules
-
To avoid redundancy
Normalization's primary purpose is eliminating data redundancy and ensuring each data element is stored in only one place (D). While it can improve data integrity, normalization often DECREASES performance (B is wrong) by requiring more joins. It's not about aesthetics (A) or multidimensional modeling rules (C) - it's a relational database concept.
Normalization exists to avoid redundancy — by decomposing data into well-structured relations (per normal forms like 1NF/2NF/3NF), the same fact is stored in only one place, preventing update/insert/delete anomalies and inconsistent duplicate data. It is not primarily about aesthetics ("look good"), and it can actually reduce read performance for complex joins rather than increase it. "To comply with multidimensional modelling rules" describes denormalization/star-schema design (used in data warehouses), which is the opposite intent of normalization.