hmm maybe it would be possible, that the game used a set DB to create games.
with a new game, a copy of the DB is created and then played with. this way every game could have its own DB.
selecting a DB or to create a new game(DB copy) at the beginning should be possible without too much work.
the DB seems to get big here, with several games running, it could use alot of space then.
but the different game DBs should be relativly clean then, without redundant data for the specific game.
in additon, you can only break a single game if something should go very wrong, because new games are created from a clean DB.