I have a soccer team with 14 players (11 active + 3 substitutes). The team is going on a tour participating in different matches across the world. I have two very different design ideas of how for the classes for such match, and I am wondering if there is a better approach here. The language is Python and the database is Mongo.
At any time during a match, I want to know the current status of a player. (substitutes, active, injured) as well as their penalty cards if they got any. If they are actively playing, I want to know when they started. If they got back to sitting or got injured, I want to know their most recent start time and end time.
I want to be able to retrieve the information about a past match. For any player in a past match, I only need to know their latest status (as described above)
Here is my idea about db collections:
Players collection: - Player ID - Player Name - Player Tshirt Size Teams collection: - Team ID - Team Player IDs  - Team Name - Team logo Matches collection: - Match ID - Team ID - Match Location - Match Time Match Participants collection: - Player ID - Match ID - Latest Status - Latest Start Time - Latest End Time - Latest Penalty Card - Latest Injury Note
As you see, I tried to separate the static information about a player (Players collection) from their dynamic information in a match (Players History collection) but I not sure how to define classes?
Class Player: - Player ID - Player Name - Player Tshirt Size - Latest Status - Latest Start time - Latest End time - Latest Penalty Card - Latest Injury Note Class Match: - Match ID - Player IDs  - Match Location - Match Start time - Match Tshirt color
The second option would be creating another class for the dynamic part to match to my db collection:
Class Player: - Player ID - Player Name - Player Tshirt Size Class Match: - Match ID - Player IDs  - Match Location - Match Start time - Match Tshirt color Class Match Participant: - Player ID - Match ID - Latest Status - Latest Start time - Latest End time - Latest Penalty Card - Latest Injury Note
I do not know how I should decide which approach is better. I would appreciate if you help me figure out the approaches pros and cons or even just what criteria I need to think about when deciding between the two.
Is there any design patterns that would describe any of these approaches?