sql >> Base de Datos >  >> RDS >> Mysql

Diseñando una base de datos:¿Cuál es el mejor enfoque?

Esta es una discusión típica de mesa estrecha (basada en atributos) versus mesa ancha. El problema con el enfoque n. ° 2 es que probablemente tendrá que girar los datos para que tengan una forma en la que el usuario pueda trabajar (de nuevo en un formato de vista amplia). Esto puede consumir muchos recursos a medida que crece el número de filas y el número de atributos. También es difícil mirar la tabla, en la vista de tabla sin formato, y ver qué está pasando.

Hemos tenido esta discusión muchas veces en nuestra empresa. Tenemos algunas tablas que se prestan muy bien a un esquema de tipo de atributo. Siempre hemos decidido no hacerlo debido a la necesidad de pivotar los datos y la incapacidad de verlos y que tengan sentido (pero este es el menor de los dos problemas para nosotros, simplemente no queremos pivotar millones de filas de datos).

Por cierto, no almacenaría la edad como un número. Guardaría la fecha de nacimiento, si la tienes. Además, no sé a qué se refiere 'Lengua materna', pero, si es el idioma que habla la madre, lo almacenaría como FK en una tabla de idioma principal. Es más eficiente y reduce el problema de datos erróneos debido a un idioma mal escrito.