Ver Mensaje Individual
  #13 (permalink)  
Antiguo 30/11/2012, 07:48
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: como hacer la estructura de la base de datos para un contador general de v

Vamos a hacer una descripción más ajustada a tu caso:
Una visita tiene:
- Un usuario
- Un inicio (día y hora de entrada).
- Una IP de origen.
- Un ID de sesión (único por visita).

Cada visita además tiene varias páginas recorridas, y en cada caso hay:
- Sesión a la que pertenece
- Pagina a la que entró.
- Fecha y hora de acceso a la pagina.

en ese contexto, hay dos tablas:
Cita:
VISITA(user_id, fecha_hora, ip_origen, sesion_id)
NAVEGACION_VISITA(sesion_id, fecha_ingreso, pagina_id)
En el caso de la primera tabla, la PK quedaría definida por (user_id, fecha_hora), teniendo una clave alternativa en sesion_id.
La segunda tabla tiene por PK (sesion_id, fecha_ingreso), siendo sesion_id la FK (MySQL admite usar un campo UNIQUE de una tabla como FK).
Para cumplir esto, cada vez que en la sesión de usuario navega a otra parte, debe enviar a insertar la página en la que entra en esa navegación. Puede parecer excesivo, pero si las conexiones son por sesión, esto no debería tener un mayor impacto en la performance.

¿Se entiende mejor la idea?

Ese tipo de estructura permitiría incluso el seguimiento específico de lo que hizo un usuario, y también cuáles son las páginas más visitadas en un site, o en que hora de qué dias hay mayor uso ed unas u otras, etc., todo con muy poco costo adicional.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)