Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/04/2013, 08:31
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Optimizar busqueda

Hola de nuevo phyronx:

Creo que no estás empapado de muchos conceptos de BD y por eso te estás complicando la existencia.

Cita:
peor al final queda igual una ultima tabla donde no solo hay la ultima marca conseguida en cada juego sino todas las anteriores. Así si haciendo updates deberia recorrer 1000 filas de 1000 usuarios, de esta manera deberia recorrer mil usuarios x todas su partidas...
Olvidate de eso de los updates, eso es completamente ineficiente... en mi post ponía, por si pones un poco de atención:

Cita:
cada vez que un jugador termina una partida, simplemente se agrega un registro a la tabla... para obtener los puntajes por jugador/juego simplemente utilizas las funciones de agrupación SUM y la cláusula GROUP BY, y para obtener el ranking del jugador tienes muchas formas
Es decir, para obtener la puntuación de un jugador en cierto juego NO NECESITAS HACER UN UPDATE, NI MIL UPDATES NI NADA POR EL ESTILO, simplemente tienes que hacer uso de las funciones de agrupación, creo que te conviene leer cualquier libro de SQL para principiantes para que te comiences a involucrar con estos conceptos.

Como te dije, conviene también que de des un vistazo a algún libro o manual de Diseño de Base de Datos, para que te ayude a modelar tus tablas.

con respecto a las preguntas:

Código:
1. Todos los jugadores pueden jugar a todos los juegos, aunque alguien de media jugaria a lamitad de ellos.
Tal como te comenté, si un atributo es opcional, debe ponerse en una tabla distinta (Conceptos de normalización y diseño de Base de Datos)

Código:
2.Solo necesito guardar nombre, password, y puntuaciones de cada juego, quizas email.
Estás confundiendo los datos del juego y los datos del jugador... son dos entidades completamente distintas y no tienen en realidad nada que ver con las puntuaciones del juego.

Código:
3.Puede jugar las veces que quiera a cada juego para mejorar su marca.
Lo que te comenté también, cada que un jugador termine un juego simplemente se agrega un registro a la tabla, no se realiza un update.

Insisto en que esto es un tema que nos puede llevar muchísimo tiempo para continuar discutiendo y no terminaríamos de ponernos de acuerdo.

Saludos
Leo.