Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2016, 09:23
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Duda sobre diseño de base de datos

Muy buenas a todos!

Tengo dudas sobre el diseño de una base de datos.
Les cuento:

Estoy diseñando un sistema de rifas/sorteos. En los sorteos, los usuarios han de reservar un número de una lista, y una vez todos los numeros han sido reservados se elegira un ganador al azar.

Por un lado, tengo la tabla "RIFAS" con los campos:
Código:
id_rifa
nombre
imagen
numeros
...etc
La tabal "RIFAS" no me presenta problemas.... ya que no aumentara mucho su tamaño. Un ejemplo de datos reales de esta tabla seria:
Código:
id_rifa -> 123
nombre -> Juego Call Of Duti III
imagen -> sorteo_call_of_duti.png
numeros -> 100
....
Una vez tengo la rifa, genero por codigo los 100 numeros para el sorteo, de tal forma que quedará un panel como el siguiente:



En este panel, cada usuario podra seleccionar un numero para el sorteo... y cuando todos los numeros hayan sido reservados se elegira aleatoriamente un numero/usuario ganador.

El problema que tengo es en el diseño de esta tabla. La que almacena que usuario ha reservado cada numero.

He pensado hacerlo de la siguiente forma:
Tabla "RIFAS_USUARIOS":
Código:
id
id_rifa
id_usuario
numero_reservado
Con esta tabla, el sistema me funciona y puedo trabajar con el... pero el miedo que tengo es que la tabla crezca tanto que las consultas se vuelvan lentas.

Tenez en cuenta, que si los sorteos son de aproximadamente 100-200 numeros, por cada sorteo qe haga esta tabla sumara 100-200 registros. De modo que cuando lleve ya 50 sorteos registrados, la tabla de "RIFAS_USUARIOS" tendra unos 7500 registros... y quizas las consultas a base de datos se vuelvan lentas.

¿Que opinan?
¿Alguna sugerencia de como implementar el sistema?

He pensado en crear una tabla por cada sorteo, pero me parece excesivio.... y la base de datos tendria muchas tablas.

Tambien habia pensado en crear categorias para las rifas, y crear tablas de "RIFAS_USUARIOS_CATEGORIA" para que los registros esten un poco mas repartidos...

Aunque tengo algo de experiencia con bases de datos... nunca he trabajado con tablas muy pesadas y con muchos registros, asi que por esta razon pido vuestra ayuda y consejo.

Gracias como siempre!
Un saludo.
__________________
Follow me on twitter @franbedia