Procesamos una fuente de datos de rutina de un cliente que acaba de refactorizar su base de datos de un formulario que parece familiar (una fila por entidad, una columna por atributo) a uno que no me resulta familiar (una fila por entidad por atributo):
Antes: una columna por atributo
ID Ht_cm wt_kg Age_yr ...
1 190 82 43 ...
2 170 60 22 ...
3 205 90 51 ...
Después: una columna para todos los 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 ...
¿Hay un nombre para esta estructura de base de datos? ¿Cuáles son las ventajas relativas? La forma antigua parece más fácil de imponer restricciones de validez a atributos específicos (no nulos, no negativos, etc.) y más fácil de calcular promedios. Pero puedo ver cómo podría ser más fácil agregar nuevos atributos sin refactorizar la base de datos. ¿Es esta una forma estándar / preferida de estructurar datos?