Processamos um feed de dados de rotina de um cliente que apenas refatorou seu banco de dados de um formulário que parece familiar (uma linha por entidade, uma coluna por atributo) para um que me parece desconhecido (uma linha por entidade por atributo):
Antes: uma coluna por atributo
ID Ht_cm wt_kg Age_yr ...
1 190 82 43 ...
2 170 60 22 ...
3 205 90 51 ...
Depois: uma coluna para todos os atributos
ID Metric Value
1 Ht_cm 190
1 Wt_kg 82
1 Age_yr 43
1 ...
2 Ht_cm 170
2 Wt_kg 60
2 Age_yr 22
2 ...
3 Ht_cm 205
3 Wt_kg 90
3 Age_yr 51
3 ...
Existe um nome para essa estrutura de banco de dados? Quais são as vantagens relativas? A maneira antiga parece mais fácil de colocar restrições de validade em atributos específicos (não nulos, não negativos, etc.) e mais fácil de calcular médias. Mas posso ver como pode ser mais fácil adicionar novos atributos sem refatorar o banco de dados. Essa é uma maneira padrão / preferida de estruturar dados?