In: Computer Science
Assume that you have a Saudi league player database. In this database, you have a table containing players’ attributes such as (Name, age, position, etc.) and you decided to add information about players’ agents. Would you represent the agent information as attributes in the player table or would you create an entity set for players’ agents? Justify your answer.
It's preferable to create an entity set for players' agents separately by considering the following issues:
1. There's a possibility of redundant data
a. An agent may associate with many players and for every player the agent’s information will be replicated, therefore redundancy exists in database.
2. Various anomalies may arise:
a. Insertion Anomaly: In absence of agent’s data for a player the record of player cannot be added or if Null is allowed then there will be so many null values in the record.
b. Deletion Anomaly: If record of all the players associated with an agent is deleted then that agent’s data also deleted unintentionally.
c. Updation Anomaly: if an agent’s data need to be updated then it is required to update in all the places where that data is associated to maintain the database consistency.
All the issues discussed above will be absent if the agents’ data is stored in a separate entity.