Sunteți pe pagina 1din 6

MIS 331 Project: Part I 1

Chad Stanger
MIS 331
Prof. Fan Dong
Course Project: Part I

Introduction

I chose business case option 2, Sports, as my basis for the MIS 331 course project. I created the
entity relationship diagram to visualize what the database might look like for this scenario. I
focused on the relationships between team, manager, player, and game. I also elaborated upon
the descriptions of each entity, relationship, and attribute. I added several surrogate keys to the
diagrams entities because the mini-world did not provide many unique identifiers. The team
name can uniquely identify the team because no teams share the same name. Players and
managers can share the same name, so I added two surrogate keys, Player ID and Manager ID, to
distinguish these instances from one another. Games needed a surrogate key, Game ID, because
many games are played on the same date. These keys, along with attributes, helped map out each
of these entities and the relationships they share.

I wrote a data dictionary to further describe these entities, relationships, and attributes. The
dictionary defines any parameters needed for each schema construct. Furthermore, I translated
the Entity-Relationship Diagram into a Relational model. The model is structured in a format
that links relationships between entities based on primary and foreign keys. This relational model
was translated into (3NF) Third Normal Form for normalization purposes. Lastly, I created
another data dictionary to further demonstrate the relationships between these entities and their
primary keys and attributes.
MIS 331 Project: Part I 2

ER Diagram

ER Model Data Dictionary

Schema construct Construct description Notes

TEAM Entity class, models team


information
MIS 331 Project: Part I 3

Team Name Official name of team Identifying attribute; cannot be


NULL
Team City City the team plays in Cannot be NULL

Team Mascot Official name of team mascot Cannot be NULL

Team Owner Full name of team owner Cannot be NULL

Number of Years in Numerical data of teams Cannot be NULL; first year = 1


NFL recognition in NFL (in years)
Partition Demonstrates partition of 32
NFL teams into two
conferences, NFC and AFC
National Football Subclass of Team entity, Inherits all attributes from
Conference consists of 16 NFL teams superclass, Team entity
Quarterback Full Full name of team quarterback, Cannot be NULL; only applies
Name comprised of first and last name to NFC subclass of Team entity
American Football Subclass of Team entity, Inherits all attributes from
Conference consists of 16 NFL teams superclass, Team entity
Quarterback Last Only last name of team Cannot be NULL; only applies
Name quarterback to AFC subclass of Team entity
PLAYER Entity class, models player
information

Player ID ID number assigned to player Identifying attribute; cannot be


NULL
Player Name Full name of player Cannot be NULL

Player Age Numeric data on age of player Cannot be NULL

Player Phone Numeric data on phone number Cannot be NULL


Number of player
Player Address Full address of player, Composite attribute; cannot be
comprised of street, city, and NULL; must have three
state components
MIS 331 Project: Part I 4

Plays for Relationship linking player and One to many relationship


team

MANAGER Entity class, models manager


information

Manager ID ID number assigned to manager Identifying attribute; cannot be


NULL

Manager Name Full name of manager, Composite attribute; cannot be


comprised of first and last name NULL; must have two
components
Manager Pay Alphanumeric data based on Cannot be NULL
Contract manager salary and no. of years

Previous Employer Indicates NFL team, if any, the Can be NULL


Flag manager previously worked with

Manages Relationship linking manager One to one relationship


and team

GAME Entity class, models game


information

Game ID ID number assigned to game Identifying attribute; cannot be


NULL

Weather Condition Alphanumeric data based on the Cannot be NULL


weather conditions on game date

Number of Injuries Numeric data based on number Can be NULL


of illnesses/injuries that players
suffer in a game
Host City City of the home team hosting Cannot be NULL
the football game

Game Date Date that the game took place on Cannot be NULL

Position Change Includes all, if any, position Multi-valued attribute; can be


changes that occur for each NULL; does not change once
game game has started
Participates in Relationship linking player and One to many relationship
game
MIS 331 Project: Part I 5

ILLNESS/ Weak entity class, models This entity class can affect
INJURIES illness/injury information player relationships with games

Normalized Relations Model (in 3NF)

1. TEAM(TeamName, TeamCity, TeamMascot, TeamOwner, Number_of_Years_in_NFL)


2. NATIONAL_FOOTBALL_CONFERENCE(TeamName,
QuarterbackFullNameFirstName, QuarterbackFullNameLastName)
FK (TeamName) ref TEAMS
3. AMERICAN_FOOTBALL_CONFERENCE(TeamName, QuarterbackLastName)
FK (TeamName) ref TEAMS
4. MANAGER(ManagerID, ManagerName, PayContract, PreviousEmployerFlag,
TeamName)
FK (TeamName) ref TEAMS
5. PLAYER(PlayerID, PlayerName, PlayerAge, PlayerPhoneNumber, PlayerAddressStreet,
PlayerAddressCity, PlayerAddressState, TeamName)
FK (TeamName) ref TEAMS
6. GAME(GameID, WeatherCondition, Number_of_Injuries, HostCity, GameDate,
PlayerID)
FK (PlayerID) ref PLAYER
7. POSITION_CHANGE_OF_GAME(PositionChange, GameID)
FK (GameID) ref GAME
8. ILLNESS/INJURIES(PlayerID, GameID, Number_of_Missed_Games)
FK (PlayerID) ref PLAYER, (GameID) ref GAME

Normalized Relations Model Data Dictionary

Schema Construct Attributes and Constraints


TEAMS
TeamName Composite Primary key.
TeamCity
TeamMascot
TeamOwner
Number_of_Years_in_NFL
NATIONAL_FOOTBALL_CONFERENCE
Team Name Composite Primary key. Foreign key references TEAM.
QuarterbackFullNameFirstName
QuarterbackFullNameLastName
AMERICAN_FOOTBALL_CONFERENCE
Team Name Composite Primary key. Foreign key references TEAM.
QuarterbackLastName
MANAGER
ManagerID Auto-generating primary key. Surrogate key.
MIS 331 Project: Part I 6

ManagerName
PayContract
PreviousEmployerFlag
Team Name Foreign key references TEAM.
PLAYER
PlayerID Auto-generating primary key. Surrogate key.
PlayerName
PlayerAge
PlayerPhoneNumber
PlayerAddressStreet
PlayerAddressCity
PlayerAddressState
TeamName Foreign key references TEAM.
GAME
GameID Auto-generating primary key. Surrogate key.
WeatherCondition
Number_of_Injuries
HostCity
GameDate
PlayerID Foreign key references PLAYER.
POSITION_CHANGE_OF_GAME
PositionChange Primary key.
GameID Foreign key references GAME.
ILLNESS/INJURIES
PlayerID Foreign key references PLAYER.
Game ID Foreign key references GAME.
Number_of_Missed_Games

S-ar putea să vă placă și