Is this SQL schema normalized according to 3NF? This schema is for a sports statistics/data app

Note:


Pink background = string/char/varchar
Yellow background = int/tinyint
Green background = dateTime
bold column = PRIMARY key
id_* = FOREIGN key


Edit: round two.
Assuming a yellow background means that column is part of the primary key, I think Game could use some more attention.  First up, homeScore and awayScore shouldn't be part of any key.  It is acceptable (though unlikely) that every singe row have the same values for these two columns.  Second, id_WinningTeam is can be calculated from the home and away teams and their scores.  It could be handy to retain it for performance but I'd suggest it be taken out of any key.

I can see some candidate keys which could provide uniqueness, depending on some other rules.  If you limit Venue to single-concurrent-use places, like a football field where only one game can take place at a time, id_Venue and datetime becomes a candidate key.  If you are including places like squash clubs where many games can be running simultaneously then this won't work.  Similarly id_HomeTeam and datetime will be unique and could be a key.

PlayerTeams may be redundant to PlayerGames, depending on what questions you will be asking of this system.  If you keep it adding joining and leaving dates could prove useful.

On a point of style - you use both singular (Game) and plural (PlayerGames) names.  This is the stuff of religions wars but I'd suggest you pick one and stick with it.