Not sure what efficiency has to do with the structure of your data table unless I misunderstand the use of the word here, but the one suggestion I’d make is that if a player isn’t banned then you don’t actually store any ban information with their player data. If a player isn’t banned it doesn’t quite make sense for them to have a ban status table either. Assume no status table means they aren’t banned.
I’m also personally a fan of PascalCase for keys in data structures. Just looks cleaner that way.