Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Diseño de base de datos ¿Con una o con varias tablas?

Estas en el tema de Diseño de base de datos ¿Con una o con varias tablas? en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/10/2014, 12:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 25
Antigüedad: 14 años, 2 meses
Puntos: 0
Diseño de base de datos ¿Con una o con varias tablas?

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.
  #2 (permalink)  
Antiguo 12/10/2014, 14:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Diseño de base de datos ¿Con una o con varias tablas?

No necesitas una tabla por cada opción. Necesitas sólo tres tablas:
1) Elementos (id_elemento, nombre_elemento)
2) Opciones(id_opcion, desc_opcion)
3) Elementos_Opciones(id_elemento, id_opcion)

La tercera es la que determina qué opciones posee un elmento dado.

Este sería el esquema básico. Pueden agrgarse atributos en base a las condiciones.

En cualquier forma, la duda que tienes se responde estudiando el modelo relacional (modelo Entidad-Relación).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/10/2014, 14:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 25
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Diseño de base de datos ¿Con una o con varias tablas?

Muchas gracias, ahora que lo veo así ya me cuadra todo y voy recordando lo que comentas de la relación de uno a muchos, etc...

Etiquetas: diseño, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.