Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Project Description: A local baseball little league (basketball youth league) do

ID: 3666421 • Letter: P

Question

Project Description: A local baseball little league (basketball youth league) does not have a database to track data about teams, players, managers, the schedule of games and baseball stadiums (basketball arenas/stadiums/courts). The president of the baseball little league (basketball youth league) hopes to hire someone to build a database for the league to better manage activities during the baseball (basketball) season. This database should help the league to track teams, players, players’ records, managers, the schedule of games, and stadiums (arenas/courts) for baseball (basketball) seasons. You are hired to design a database for the baseball (basketball) league.

Explanation / Answer

Team Table - TeamID, TeamName...

Player Table - TeamID, PlayerName, PlayerPreferredPosition...

Position Table - PositionID, PositionName, PositionType (backs/mid/forward/Goalkeep etc)

Game Table - GameID, GameLocation, HomeTeam (FK Team), AwayTeam (FK Team), MatchStartTime...

GamePlayPosition - GameID (FK Game), PlayerID (FK Player), PositionID (FK Position), TimeStart, TimeEnd

That way you can figure out what players are playing at what position in what match at any time.

EDIT: If you want to use a grid and indicate exactly the time that player is spending there, I would suggest the following change, but what is above is still correct.

To the GamePlayPosition table add a surrogate key - GamePlayPositionID, use as your primary key. Then add another table:

ExactPlayPosition - GamePlayPositionID (FK), XPosition (small int), YPosition (small int), GameTime (datetime? Possibly an integer representing the seconds elapsed in the game time, easier to compare relative position game to game without doing datetime calculations if done with gametime).