Added by Ted Husted, last edited by Jeff Wellings on Jul 29, 2006
( view change)
"Data modeling you identify entity types whereas with class modeling you identify classes. Data attributes are assigned to entity types just as you would assign attributes and operations to classes. There are associations between entities, similar to the associations between classes - relationships, inheritance, composition, and aggregation are all applicable concepts in data modeling."
For more see Data Modeling 101
Iterative Steps
- Identify entity types
- Identify attributes
- Apply naming conventions
- Identify relationships
- Apply data model patterns
- Assign keys
- Normalize to reduce data redundancy
- Denormalize to improve performance
Identify Entity Types
Identify the Entity Types used by the system.
Sport
| Description |
An activity engaged by players within a league or section. |
| Attributes |
name, team, logo, address, division, class, photo, state_rank, win_percent, section, record, league, alt_name |
| Relationships |
A Team PLAYS a Sport |
Sports Type
| Description |
A specific type of Sport, such as Basketball or Bowling. |
| Attributes |
name, season, alt_name |
| Relationships |
A Sport IS A Sports Type |
School
| Description |
A specific community in a [section], [league], or [community league], such as Hickory Huskers |
| Attributes |
name, logo, nickname, address |
| Relationships |
A School IS A Community |
School Team
| Description |
A specific team of a School, such as Hickory Boys Basketball |
| Attributes |
schoolID, sportID, division, class, teamphoto, staterank, xpoints |
| Relationships |
A School Team plays a specific Sport and a is associate with a specific school |
| Entity Type |
Description |
Relationships |
| Players |
a person that plays sports |
Each School Team has Players |
| Coach |
a person that enters scores/stats for a School Team |
Each School Team has a Coach |
| Schedule |
an event between 2 School Teams at a particular time and location |
Each Schedule has a Home Team, Away Team, Location, DateTime |
| ScheduleSchool |
Multiple School Teams participate in a Scheduled Event, such as a Swimming and Cross Country meet. It is possible to have 3-10 School Teams in 1 Scheduled event |
| Points |
unique point numbering system solely used by Section 10 |
| Results |
final score of the game and score by quarter or period or inning, etc... |
| Report |
A news story with a heading, body, author, status |
A Report can be a stand alone entity or it can be related to a Game (Schedule) |
| ReportPlayer |
A relationship between (mention of) a Player in a Report (news story) |
Reports can be grouped by Player |
| ReportSchool |
A relationship between a School and Report |
Reports can be grouped by School |
| Photo |
A picture of a player or team |
A photo can be related to a player or players from the same or different School Teams |
| PlayerPhoto |
A relationship between a Player and a Photo |
| PlayerSport |
A relationship between a Player and a Sport |
| Class |
Each School Team has a Classification (size of school), such as AA, A, B, C, D |
| Division |
Each School Team is in a Division, such as East, West, Central |
| TPOW |
Top Performer of the Week (player of the week) |
| UserPref |
Registered User can specify if they would like to get score and stats updates emailed to them when the site is updated. For example they can specify that they would like to be notified when there are any updated to the Hickory Huskers Boys Basketball Team. |
| User |
A Visitor to the site that registers for update notifications and the ability to submit news stories |
| Author |
A User that writes News Stories (Reports) for the site, must be a registered User |
Statistics
A core use case is tracking Statistics perculiar to various sports. Accordingly, there are several flavors of statistics. Each statistic is relevant to a specific Game and Player.
| Sub Type |
Remark |
| Baseball |
AB, Hits, 2B, 3B, HR, RBI, Runs, BB, SB, SO |
| BaseballPitcher |
IP, W, L, H, R, ER, SV, K, BB |
| Basketball |
FGA, FGM, 3FGA, 3FGM, FTA, FTM, Rebound, Assist, Block, Steal, Turnover |
| Bowling |
|
new! |
| CrossCountry |
Place, Minutes, Seconds |
| Football |
Pass Att, Pass Comp, Rush Att, Rush Yds, Receptions, Rec Yds, etc... |
| Golf |
Score |
| Hockey |
Goal, Assist, Save, Goal Allowed |
| Lacrosse |
Goal, Assist, Save, Goal Allowed |
| Soccer |
Goal, Assist, Save, Goal Allowed |
| Softball |
AB, Hits, 2B, 3B, HR, RBI, Runs, BB, SB, SO |
| Softball Pitcher |
IP, W, L, H, R, ER, SV, K, BB |
| Swimming |
Event, Minutes, Seconds, MSeconds |
| Swimming Events |
name |
| Tennis |
|
new! |
Identify Attributes
| Entity Type |
Description |
| Sports |
|
| School |
|
| Players |
|
| Coach |
|
| Schedule |
|
| ScheduleSchool |
|
| Points |
Unique point numbering system solely used by Section 10 |
| Results |
|
| Report |
|
| ReportPlayer |
|
| ReportSchool |
|
| Photo |
|
| PlayerPhoto |
|
| PlayerReport |
|
| PlayerSport |
|
| Class |
|
| Division |
|
| TPOW |
Top Performer of the Week (player of the week) |
| UserPref |
|
| Users |
|
Statistics
A core use case is tracking Statistics perculiar to various sports. Accordingly, there are several flavors of statistics. Each statistic is relevant to a specific Game and Player.
| Sub Type |
Attributes |
| Baseball |
|
| BaseballPitcher |
|
| Basketball |
|
| Bowling |
|
new! |
| CrossCountry |
|
| FootBall |
|
| Golf |
|
| Hockey |
|
| Lacrosse |
|
| Soccer |
|
| Softball |
|
| Softball Pitcher |
|
| Swimming |
|
| Swimming Events |
|
| Tennis |
|
|