Archery League Database design I'm fairly new with database desings (only worked on a couple of projects) and i kinda need some info on how to contruct the following.

I need to keep stats for an archery league and the players.
Players info i had no trouble figuring it out. But the match and the stats confuses me.

League consists of matches.
Each match consists of 2 rounds
Each round consists of 10 shots.
Each shot consists of 3 arrows (where we get a score).

How can i sort the stats for each player?
I was hoping you could help me. Number of tables i'll need at least.

Thank you in advance
You can create the following tables:


  Player, League, Match(with FK to league), Round(with FK to Match), Shot(with FK to round &amp; Player)


And the following N:N table


  PlayerLeague(a player subscribed to the league)


if the situation exists that a player  can subscribe to a league but doesn't participate in some matches, then another N:N table will be needed so you know to what matches the player has subscribed to

you can then sort the results by a query like

select 
 P.PlayerName,
 sum(S.Score),
 avg(S.Score)
from Shot S
inner join Player on P on S.PlayerID=P.PlayerID
group by P.PlayerName
order by sum(S.Score) desc


you can add extra joins/groupby's if you want to have a more detailed result grouped on league/match