if you make your league structure recursive that should get rid most of the problems
eg
table League
ID
Description
ParentLeagueID 'fk that references ID in league table
organising structure likewise
eg
Football
Code:
FIFA
|--AFC
|--CAF
|--CONCACAF
|--CONMEBOL
|--UEFA
|--ENGLAND
|--GERMANY
|--NORTHERN IRELAND
|--SCOTLAND
|--WALES
ID ORGANISATION PARENT ORGANISATION
10 FIFA
21 CONCACAF 10
937 CANADA 21
36 UEFA 10
44 The Football Association 36
..of course you could be 'cute' and use the country ISO prefix as the ID....
whether you need a separate organisation structutre AND league configuration is I suppose moot
eg
Code:
ID ORGANISATION PARENT ORGANISATION
44 The Football Association 36
666 The English Premier League 44
45 Championship 44
46 League 1 45
47 League 2 47
32 conference national 44
33 conference north 32
34 conference SOUTH 32
1 Northern Premier League 32
99 Southern Premier LEAGUE 32
you coudl then flesh out the next layer within the same table
eg
Code:
ID ORGANISATION PARENT ORGANISATION
44 The Football Association 36
666 The English Premier League 44
6161 Manchester City 666
1616 Trafford Town 6161
2 Bolton Wanderers 666
howeever you could come unstuck if your model supports organisations with multiple sports. ferisntance some clubs may have a football and ***** team so you would perhaps have to abstract the organsiation by usiung a foreing key to a club and identify what type of sport the organsiation signed up for
eg
sport types
1 Football
2 ***** League
3 ***** Union
4 Cricket
your organsiation table
SPORTTYPE
ID
ORGANISATION
PARENT ORGANISATION
eg
1 10 FIFA
1 36 UEFA 10
1 44 The Football Association 36
2 132 ICC
2 444 ENGLAND & WALES
2 555 DIVISION 1 444
2 557 LANCASHIRE 555
2 556 DIVISION 2 555
2 32 AUSTRALIA
..