I have a database in Mysql where, as the project is being developed, the number of fields in some tables has grown exponentially.
The People table, for example, has fields related to personal documents, home address, work address, personal data, academic data, etc.
'empresa' =>
array (size=6)
'nome' => string 'Empresa Legal' (length=13)
'funcao' => string '' (length=0)
'rendimento' => string '' (length=0)
'endereco' =>
array (size=7)
'cep' => string '' (length=0)
'logradouro' => string '' (length=0)
'numero' => string '' (length=0)
'complemento' => string '' (length=0)
'bairro' => string '' (length=0)
'cidade' => string '' (length=0)
'estado' => string '' (length=0)
'telefone' =>
array (size=2)
'fixo' => string '' (length=0)
'movel' => string '' (length=0)
'email' => string '' (length=0)
I had thought about grouping the data in Json and storing each group in a specific field but I'm not sure if this is a good practice or if it affects database performance.
My question is essentially about good practices regarding data storage, as I can handle JSON if it gets into trouble.
If this is not the best way, I accept suggestions for structuring this data.