There is a table named is A with 40+ columns, among which around 10 are columns of hierarchical levels, in a data analysis platform maintenance and development ( legacy ) project. Due to development of a new feature, the hierarchical structure would need ten more extra levels, e.g. level11, level12, ..., project manager decided to add 20 new columns to that existing table A.
The hierarchial level data is sth like a revenue description by country and department: For instance,
-- value of level1: USA 100 | JAPAN 200 | UK 300
---- value of level2: USA SOFTWARE 50 | USA HARDWARE 50 | OTHERS JAPAN 50 | ...
------ value of level3: SOFTWARE A 10 | SOFTWARE B 10 ... | HARDWARE A 100 | HARDWARE B 200 ...
Each level's value is the breakdown of its parent level' value and there is no redundancy. So it is normalized, isn't it?
As a developer, I intuitively feel uncomfortable to add 20 more new columns to an existing table with already 40+ columns. But when considering the current table with 40+ columns works pretty fine, I am not able to argue with a sufficient reason against the idea of adding 20 more new columns to the existing table A.
Question: is adding that many columns to an existing table with already 40+ columns a very normal practice? What is the pros and cons in this approach?