icon Bienvenido a nuestros foros de poker, regístrate para acceder a todas las funciones.

» FOROS POQUER RED | Foros de poker » Sección recursos » Software » Cómo realizar consultas SQL en la BD de Poker Tracker. Parte I.

Software Foro de software y programas de poker. Consulta tus dudas sobre los mejores softwares de ayuda al jugador de poker.

Respuesta
 
LinkBack Herramientas Desplegado
Antiguo 28-01-2007, 20:27:01   #1
Moderador honorario
 
Avatar de spainfull
 
Fecha de Ingreso: Dec 2005
Mensajes: 2.141
Reputación: 1810
spainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputación
Predeterminado Cómo realizar consultas SQL en la BD de Poker Tracker. Parte I.

Este artículo tiene dos objetivos principales: explicar la manera de obtener más información de nuestra base de datos Access de Poker Tracker (en adelante, PT) a través de consultas SQL y detallar la estructura de las tablas de esta base de datos para saber dónde hacer las consultas. Está orientado hacia los usuarios del PT que tienen un nivel básico de manejo de la informática (o sea, ni puta idea) y quieren obtener datos que actualmente no muestra el programa. Bueno, si no quieres más información, quizás tengas la curiosidad de saber cómo funciona por dentro PT y le pierdas el miedo a esto de los ordenadores. En los foros de PT hay un hilo en inglés que me ha servido de base para este artículo y en estos foros, además, puedes encontrar consultas SQL hechas por usuarios de PT.

Por defecto, el programa PT almacena los datos que captura de las diferentes salas de póquer en un archivo de base de datos Access. Éste archivo tiene la extensión .mdb y no es más que una manera de guardar la información. Esta información la obtiene PT de los historiales de las manos que se almacenan en nuestro disco duro en los directorios de las aplicaciones de las salas de póquer creados a tal efecto (la ruta que tenemos que poner en las ventanas de auto-import del PT para que pueda leer las manos). Lo que hace PT es leer esos ficheros de texto que contienen las manos jugadas, interpretar la información que de ellos se puede sacar (jugadores, stacks, nuestras cartas de mano, cartas comunitarias, apuestas, ganador de la mano, etc.) y escribirla en la base de datos de manera apropiada para que después pueda ser procesada.

PT da la opción de guardar la información en otro tipo de base de datos llamada PostgreSQL. Es totalmente gratuita y su código está disponible para todo el mundo. Tiene algunas ventajas sobre Access como son no tener limitación de espacio, ser algo más rápida, más estable y más robusta. El inconveniente es que hay que instalarla y configurar algunos parámetros en el PT para que funcione, pero tampoco nada demasiado complicado. Ahora bien, si no jugamos un número excesivo de manos, se puede usar Access tranquilamente. El problema de las bases de datos de Access es que tienen una limitación de tamaño de 2GB y hay que compactarlas de vez en cuando para que no se haga muy lento el acceso a los datos que contienen. Una solución es crear varias bases de datos de Access en PT, aunque es un poco latoso tener que estar cambiando de una a otra según donde quieras guardar los datos de juego.

El método que voy a explicar a continuación solo es válido para aquellos que guardan los datos del PT en una base de datos Access. Para realizar consultas SQL sobre ella, se necesita algún programa que tenga esta función incluida. En principio, se pueden utilizar tanto Microsoft Access como Microsoft Excel, aunque si no se dispone de estos programas, es posible bajarse algún programa gratuito que nos permita hacer consultas Access como por ejemplo SQueAl. En primer lugar mostraré siplemente cómo hacer la consulta sin entrar a analizar en detalle otros aspectos un poco más complejos que dejo para más adelante.

Ejecutar una consulta con Microsoft Access

Antes de comenzar una advertencia: Microsoft Access es la aplicación nativa para las bases de datos Access de PT, con lo que cualquier cambio que se haga sobre la tablas o borrado de elementos por error pueden provocar daños irreparables que implicarían la inutilización de la base de datos; así que cuida donde metes las zarpas y no pulses aceptar sin leer el mensaje. En principio, si sigues los pasos indicados no hay ningún problema, pero por si acaso, ten siempre una copia de seguridad de tu base de datos (basta con hacer una copia del archivo .mdb donde tengas la base de datos).

La consulta que se va a hacer es la de parejas que han mejorado a trío en el flop. El código SQL para esta consulta es el siguiente (ten en cuenta que esto no es un tutotial ni de SQL ni de Access aunque posteriormente explicaré algunos conceptos, pero si quieres más información la red está llena de tutoriales sencillos):

SELECT gp.hole_cards AS Par, count(*) AS Veces, SUM(
IIF(left(g.flop_1,1)=left(gp.hole_card_1,1),1,
IIF(left(g.flop_2,1)=left(gp.hole_card_1,1),1,
IIF(left(g.flop_3,1)=left(gp.hole_card_1,1),1,
0)))) AS [Trío en flop]
FROM game_players AS gp INNER JOIN game AS g ON gp.game_id = g.game_id
WHERE gp.player_id = (select pref_value from prefs where pref_key = 'RP')
AND gp.pair_hand = 1
AND gp.saw_flop_n = 1
GROUP BY gp.hole_cards, gp.card_order1
ORDER BY gp.card_order1 DESC;


Para empezar, arranca la aplicación Microsoft Access. En el menú "Archivo" escoge la opción "Abrir..." y en la ventana que se presenta, navega hasta seleccionar la base de datos sobre la que quieras hacer la consulta. Por defecto, la base de datos de PT es "ptrack.mdb" (puede que no aparezca la extensión .mdb) y se encuentra en la ruta: "C:\Archivos de programa\Poker Tracker V2" (también se puede abrir pulsando dos veces sobre el archivo "ptrack.mdb" en el explorador de Windows.

Aparecerá la siguiente pantalla. Debes pulsar en "Consultas" ("Queries" si tienes el programa en inglés) y a continuación en el menú de la ventana mostrada seleccionar "Nuevo" y en la nueva ventana "Vista Diseño" (o directamente "Crear una consulta en vista Diseño").



Aparecerá una ventana de "Consulta de selección" y sobre ella una ventana de "Mostrar Tabla".



Cierra esta última ventana y nos quedamos con la ventana de consulta. Ahora debes pulsar el icono "SQL" que se encuentrá debajo de "Archivo" o seleccionar "Ver->Vista SQL".



Ahora ya solo nos queda copiar (o escribir) la consulta a realizar en la ventana y pulsar el icono "!" o seleccionar "Consulta->Ejecutar" para que obtengamos los resultados.





Se puede guardar la consulta para no tener que copiarla cada vez que queremos obtener la información; para ello basta pulsar el icono del disquete o seleccionar "Archivo->Guardar" y darle un nombre a la consulta, almacenándose junto con el resto de consultas previas en el apartado de "Consultas" de la base de datos visto en la primera imagen. Lo que se guarda es el texto de la consulta, no el resultado; si se quiere guardar el resultado habrá que copiarlo y pegarlo en otra aplicación (Excel, Word, Block de notas, etc.).

Una última consideración, de las instruciones SQL que se pueden ejecutar, solo "SELECT" no tiene como resultado modificar las tablas de las bases de datos (simplemente muestra información), así que no copiéis y ejecutéis consultas que incluyan palabras como "INSERT", "UPDATE" o "DELETE" y, en general, consultas sospechosas no verificadas por otros usuarios más duchos en la materia. En el siguiente apartado explicaré en detalle las tablas de la base de datos y un poco de SQL (no demasiado, necesitarás un tutorial más completo) para que puedas hacer tus propias consultas.
__________________
¿Póquer? Póquer yo lo valgo.
Estrategia NL NO LIMITs LOSER.
Listado de mis artículos semanales en póquer red.

Última edición por spainfull fecha: 28-01-2007 a las 20:30:09.
spainfull is offline  
Compartir
Responder Con Cita
Antiguo 29-01-2007, 00:50:24   #2
Administrador
 
Avatar de nepundo
 
Fecha de Ingreso: Nov 2005
Mensajes: 10.200
Reputación: 3524
nepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputaciónnepundo rompe la escala de la reputación
Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte I.

Se sale. Gracias y ya estoy esperando el siguiente apartado ;-)

Precisamente estos días que me he pillado el PT + PAHUD estoy viendo que mogollón de estadísticas del PAHUD no las da el PT (es lo que tiene la ignorancia, que pensaba que el PAHUD se limitaba a sacar datos precalculados por el PT).

Estaba pensando en sacar esos datos para análisis en frío a base de consultas, así que a ver si lo consigo... o lo encuentro por los foros de PT que todavía no he mirado.

También había pensado cacharrear un poco con el Postgres y ver si se pueden sacar las consultas en curso mientras se ejecuta el PAHUD, en plan Oracle o SQLServer. Fijo que con esto se puede también.
__________________
bolutron: quitate eso de la firma capullo cabezon!
Mister Jose: eropdna peroa y ajno acierto ovcn las tacleas.
nepundo is offline  
Compartir
Responder Con Cita
Antiguo 29-01-2007, 00:56:32   #3
Moderador honorario
 
Avatar de spainfull
 
Fecha de Ingreso: Dec 2005
Mensajes: 2.141
Reputación: 1810
spainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputaciónspainfull rompe la escala de la reputación
Predeterminado Re: Cómo realizar consultas SQL en la BD de Poker Tracker. Parte I.

en cuanto acabe con las cosas que tengo pendientes (espero que antes de fin de Febrero) tengo un proyecto bastante chulo que si sale bien creo que puede ser bastante interesante relacionado con lo que comentas de sacar datos mientras se juega...

A ver si mañana puedo acabar la segunda parte.

Saludos.
__________________
¿Póquer? Póquer yo lo valgo.
Estrategia NL NO LIMITs LOSER.
Listado de mis artículos semanales en póquer red.
spainfull is offline  
Compartir
Responder Con Cita
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are deshabilitado
Pingbacks are habilitado
Refbacks are habilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo iniciarse en el póquer online. My way. Parte I. spainfull Póquer general 4 13-01-2007 12:42:37
Poker Tracker Con Poker Stars RADIKAL87 Software 7 29-11-2006 21:01:55
Como "mezclar" 2 bases de datos en Poker Tracker? unlimited Póquer general 8 15-08-2006 22:49:43
Problemon Poker Office y Poker Tracker tokinn Póquer general 4 08-07-2006 20:22:04
poker tracker con poker party RADIKAL87 Póquer general 10 03-07-2006 22:18:36