Which approach best describes the core technique used to normalize a flat table that mixes customers, products, and orders together?
- ACompress the existing single table so that repeated text values are stored only once on disk by the storage layer.
- BSeparate each entity into its own table and use foreign key columns to link related entities back to their primary keys. Correct
- CCombine every related attribute into one wide table so all of an order's details can be read without any joins.
- DMove historical rows into an archive table on a schedule so the active table holds only recent orders.
Why A is wrong: Storage compression is a physical optimization handled by the engine; normalization is a logical design that splits entities into separate tables, not a compression setting.
Why B is correct: Correct. The practical normalization steps are to separate each entity into its own table, uniquely identify rows with a primary key, and use foreign key columns to link related entities.
Why C is wrong: This describes the un-normalized flat table that normalization is meant to fix; widening into one table increases duplication rather than removing it.
Why D is wrong: Archiving by age is a data-lifecycle practice, not normalization. Normalization restructures by entity using keys regardless of how recent a row is.