// Represents a played hand
GAME
=======
gameid (primary key)
placeid (foreign key)
date
// Identifies a poker site plus a particular table
Place
======
placeid (primary key)
sitename
tablename
// A unique player (may need more attributes)
PLAYER
=======
playerid (primary key)
name
// What cards come out during what stage in a hand
STAGECARDS
=======
gameid (primary key)
stage (primary key)
cards
// Meddling table
GAMEPLAYER
=======
gameplayerid (primary key)
gameid (foreign key)
playerid (foreign key)
// Players in a hand who have shown their cards, could be none
PLAYERCARDS
========
gameplayerid (primary key, foreign key)
cards
// Describes a player action in a hand
ACTION
========
gameplayerid (primary key)
stage (primary key) [preflop, flop, turn, river]
turn (primary key) [the number of people who have acted before this action]
action [post blind, fold, check, call, bet, raise, allin]
sum
// Tells who sits where in a particular hand and their stack
SEATED
========
gameplayerid (primary key)
seat (primary key)
stack
// who won a particular game (may be several players) and how much
WIN
========
gameplayerid (primary key)
sum