Trying to design database for eSports Teams - Issue with dependencies
IMHO This is not good design.
You have teamname in league table and teams table.  
What also is not good to have mixed conventions (plural and singular for table names)

I would note that you should also put unique index on this fields:
toplane, jungler, midlane, adc, support.

create unique index teamroster_unique_idx on (toplane, jungler, midlane, adc, support);


This is valid for PostgreSQL, check your RDBMS documentation.

And also CHECK constraint that every value is different, you don't want to have all positions with same players. ;)

Unique index is to have unique combinations (no duplicates),
and check constraint to have all different values.

PS. You created logical design well, but you need to translate it to physical design 
(create that in your RDBMS)