// 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