I have a database table in MySQL, according to a new feature, we can implement in two ways - 1. Either make a new column (nullable) in the same table itself, the con of this approach is - this column will have 95-98% of the times NULL entry. 2. Make a new table with the foreign key of the already existing table.
so the two architecture will look something like this -
1. table1 - <id, ..., new_column>
2. table1 - <id, ...>, table2 - <id, table1_id, ...>
The first approach follows a denormalized approach, while the second one follows a normalized one. But since this is a real-world problem, it is okay to follow the denormalized approach sometimes.
I might be wrong in some of my assumptions of DB design, what do you think is a better approach to solve such kind of problems?