Hola a todos,
estoy aprendiendo a manejarme con bases de datos y no se cual sería la forma correcta o mas eficiente de crear una base para almacenar lo siguiente:
- Se trata de almacenar un elemento que puede tener o no tener activas una o varias opciones (10 - 20 opciones que podrían aumentar).
- Cada opción se representa con un valor booleano dependiendo de si está disponible o no para cada elemento.
- En principio, la mayoría de las opciones estarían almacenadas como false o no disponibles y posiblemente solo llegarían a estar como true o disponibles entre una y cinco de las 10 - 20 o mas opciones de cada elemento.
- Un diseño básico para esto sería este:
ID. Nombre. Opción1. Opción2. Opción3. Opción4. ................
1 Asdfg. 0 1 0 0
2 Hdubf. 1 0 0 0
3 Juhjb. 0 0 0 0
- La aplicación recorrería la tabla completa comprobando las opciones activadas de cada entrada para utilizarlas.
- Como la mayoría de las opciones estarían a cero, he pensado que quizás sería mas eficiente y escalable crear una tabla diferente por cada opción en la que se añadirían los ID de los elementos con dicha opción activada.
- Aunque por otro lado, ahora la aplicación tendría que recorrer todas las tablas para comprobar en cuales está la ID del elemento para saber si tiene esa opción activada.
- En definitiva, creo que algo se me escapa y aunque la segunda opción me parece mas lógica, no lo acabo de ver.