5COSC020W
Database Systems Coursework
Student ID:
Student Name:
Table of Contents
Question 1: Critical Evaluation & Reflective Commentary 2
3. Justification of Choices: 3
Question 4: Relationships & Multiplicities 6
Question 5: Attributes & Primary Keys 9
Question 6: Conceptual EERD Quality & Notation 14
Question 7: Logical EERD Quality and Notations 15
Part A: Conceptual EERD
Question 1: Critical Evaluation & Reflective Commentary
Critical Evaluation
It assumes that the EERD generated by AI based on Document A.2 has several problems regarding the representation of the entities’ semantics of the relationship. The potential key issues are
Inconsistent Relationships:
The connections between courts, parks and equipment may not be well understood or even non-existent. For example, a diagram generated by AI might not necessarily depict that parks have more than one count and how each court is linked to different equipment.
Missing or Incorrect Entities
Players, courts, or sessions might not have been presented well as the little entities of analysis. For example, the diagram does not consider the kind of session which includes Supervised and unsupervised sessions or it can be difficult to portray the relations between the players and the recommendations.
Amnon claims that there might be a situation when the wrong multiplicities could be stated or even when nothing at all about multiplicities could be said.
The qualifiers used to define the cardinalities that define the couple of entities (e.g., 1..n and m..n) Can be distorted. For example, we have a many-to-many relationship between the court and the Equipment; or one Equipment has many courts and one court has many pieces of Equipment.
Specialisation Not Properly Addressed
The EERD may not categorize the sessions into supervised and unsupervised sessions or interpret them distorted, which can hamper the fulfilment of the project needs.
Lack of Attributes and Primary Keys: One main disadvantage of the E ER model presented in the EERD is that it lacks the attribute and primary key of the entities. Each entity requires attributes that can give information about each of them, and at the same time, primary keys are always crucial in maintaining data integrity. Without these, the model fails to provide the level of detail required for decisions about database implementation or data management.
Reflective Commentary
1. Approach to Design:
Identify Key Entities: Accordingly, based on the concepts informed by the project brief and subsequent class diagram creation, They will make sure that all the required entities of `Park`, `Court`, `Player`, `Session`, `Equipment` and `Caretaker` have been properly identified and incorporated in the conceptual model.
Relationships: They shall pay a lot of attention to how the different entities are related for instance; `Park`, which owns `Court`, `Caretaker` who maintains `Court` and the way `Player` books `Session`. They will each be modeled with well-defined multiplicities appropriately.
Specialisations: The `Session` entity will be specialized into `SupervisedSession` and `UnsupervisedSession`. Additionally, the supervised sessions will have other categories like `FitnessPlay`, `GroupCoaching`, and `SocialFun` sessions.
Multiplicities: They will maintain accuracies of multiplicities. For example, a park can have multiple courts, and a player can participate in many sessions, which will be reflected through suitable one-to-many associations.
Incorporating Attributes and Primary Keys: It had related components for each entity and then made certain that these components included the right information. For instance, each entity now has ParkID, CourtID, and EquipmentID as a key, together with several other characteristic fields. Such detail is very important to good data management as the data will be easier to manage in the right format.
2. UML Notations:
It will use only UML notations for entities, their relationships as well as attributes to come up with a neat and easily understandable diagram. This will of course include primary keys (PK) where necessary, as well as foreign keys (FK). For instance, in `Player`, there will be the `playerId` as the PK, and in `Session`, `sessionId` will act as the PK (Inria.fr, 2024).
3. Justification of Choices:
They decided to incorporate such things as `Caretaker` and `Equipment’ so that every piece of information related to matters concerning court maintenance or tracking of equipment is captured. Moreover, `Session` and `Player` are going to be the many: many relationships, which means that while a session can be booked by many players, each of the bookings has to be linked to one player only.
Question 2: Entities
Entity Name |
Brief Explanation |
w1888626_Park |
Represents a park where racket sports take place |
w1888626_Court |
A specific court used for either tennis or pickleball |
w1888626_Player |
Represent a person who books and participates in the session. |
w1888626_Equipment |
Represents equipment assigned to courts |
w1888626_Session |
A scheduled session for players, supervised or unsupervised |
w1888626_SupervisedSession |
Specialized session with an instructor present. |
w1888626_UnSupervisession |
Specialized sessions without an instructor, may include block bookings. |
w1888626_Caretaker |
A caretaker responsible for the upkeep of parks and courts |
w1888626_SessionEquipment |
Represents the association of equipment used during sessions. |
Question 3: Specialisations
General Entity |
Specialised Entity |
Brief Explanation |
Sessions |
SupervisedSessions |
Session supervised by an instructor |
Sessions |
UnsupervisedSessions |
The session was not supervised and booked by the players themselves |
Equipment |
TennisEquipment |
Equipment specific to tennis such as tennis rackets and nets |
Equipment |
PickleballEquipment |
Equipment specific to pickleball courts |
|
|
|
Question 4: Relationships & Multiplicities
Entity Name 1 |
Multiplicity 1 |
Relationship |
Multiplicity 2 |
Entity Name 2 |
Brief Justifications for the Multiplicity |
Park |
1 |
contains |
0..* |
Court |
1. A park must contain at least one court. |
|
2. A park can have multiple courts. |
||||
3. A court must be located in exactly one park. |
|||||
4. It is possible for a court to be added later, which is why it's optional (0) for a court to exist in the beginning. |
|||||
Court |
1 |
has |
0..* |
Equipment |
1. A court can have multiple pieces of equipment. |
|
2. Equipment is optional for each court (some courts may not need equipment). |
||||
3. A piece of equipment is associated with exactly one court. |
|||||
4. This ensures equipment is specific to a court and cannot exist independently without one. |
|||||
Court |
1 |
maintained by |
1 |
Caretaker |
1. A court is maintained by exactly one caretaker. |
|
2. Each caretaker is responsible for maintaining only one court. |
||||
3. This relationship ensures that every court has someone accountable for its upkeep. |
|||||
4. A caretaker cannot be responsible for multiple courts in this model, to ensure accountability and a clear chain of tasks. |
|||||
Player |
0..* |
participates |
1..* |
Session |
1. A player can participate in many sessions. |
|
2. Every session must have at least one player. |
||||
3. This relationship models the idea that sessions are attended by multiple players. |
|||||
4. A player’s participation in sessions is optional, as they may not always book sessions. |
|||||
Session |
1 |
specializes into |
0..1 |
SupervisedSession |
1. A session may specialize into a supervised session (optional). |
|
2. A supervised session cannot exist without a general session. |
||||
3. Each supervised session is a more specific type of session, inheriting attributes from the general session. |
|||||
4. This relationship captures the idea of a supervised session as an extension of the general session entity. |
|||||
Session |
1 |
specializes into |
0..1 |
UnsupervisedSession |
1. A session may specialize into an unsupervised session. |
|
2. An unsupervised session cannot exist without a general session. |
||||
3. Each unsupervised session inherits from the general session entity. |
|||||
4. This ensures an unsupervised session is a more specific type of session. |
|||||
Question 5: Attributes & Primary Keys
Entity Name |
Attributes for Each Entity (Include PK) |
Brief Explanation |
w1888626_Park |
{w1888626_ParkID} {PK}: Unique Identifier for the Part |
This serves as the primary key to uniquely identifying each park in the database. |
w1888626_Name: Name of the park. |
The name attribute provides a way to reference and identify the park in a human-readable format. |
|
w1888626_Location: Physical location of the park. |
This attribute describes where the park is situated, allowing for geographical identification. |
|
w1888626_Size: Size of the park (in acres or square feet). |
Indicates the total area of the park, useful for management and planning purposes. |
|
w1888626_EstablishedDate: Date the park was established. |
Helps track the history and age of the park. |
|
w1888626_Court |
{w1888626_CourtID} {PK}: Unique identifier for the court. |
This is the primary key that distinguishes each court in the database. |
w1888626_CourtType: Type of court (e.g., tennis, squash). |
Specifies the kind of sport that can be played on the court, aiding in facility management. |
|
w1888626_SurfaceType: Surface material of the court. |
Describes the material of the court surface (e.g., clay, grass), relevant for maintenance decisions. |
|
w1888626_Equipment |
{w1888626_EquipmentID} {PK}: Unique identifier for the equipment. |
This primary key uniquely identifies each piece of equipment in the database. |
w1888626_Type: Type of equipment (e.g., racquets, balls). |
Describes what type of equipment it is, assisting in inventory management. |
|
w1888626_Condition: Current condition of the equipment. |
Indicates whether the equipment is new, used, or requires repair, which is crucial for maintenance. |
|
w1888626_Caretaker |
{w1888626_CaretakerID} {PK}: Unique identifier for the caretaker. |
Serves as the primary key to uniquely identifying each caretaker in the system. |
w1888626_Name: Name of the caretaker. |
Provides the caretaker’s name for identification purposes. |
|
w1888626_ContactNumber: Phone number of the caretaker. |
Allows for communication regarding maintenance tasks. |
|
w1888626_Email: Email address of the caretaker. |
Useful for formal communication and notifications regarding the courts they manage. |
|
w1888626_Player |
{w1888626_PlayerID} {PK}: Unique identifier for the player. |
This primary key uniquely identifies each player in the system. |
w1888626_Name: Name of the player. |
The player’s name is important for identification and records. |
|
w1888626_MembershipID: Identifier for the player's membership status. |
Indicates whether the player has an active membership and may include various membership details. |
|
w1888626_ContactNumber: Phone number of the player. |
Essential for communication and appointment confirmations. |
|
w1888626_Session |
{w1888626_SessionID} {PK}: Unique identifier for the session. |
Serves as the primary key to uniquely identify each session scheduled. |
w1888626_DateTime: Date and time when the session is scheduled. |
Indicates when the session will take place, crucial for scheduling. |
|
w1888626_Duration: Length of the session (in minutes). |
Specifies how long the session will last, helping with scheduling and resource allocation. |
|
w1888626_SupervisedSession |
{w1888626_SupervisedSessionID} {PK}: Unique identifier for supervised sessions. |
This primary key uniquely identifies each supervised session. |
w1888626_SupervisorID: ID of the supervisor conducting the session. |
Links to the caretaker overseeing the session, providing accountability and oversight. |
|
w1888626_UnsupervisedSession |
{w1888626_UnsupervisedSessionID} {PK}: Unique identifier for unsupervised sessions. |
This primary key uniquely identifies each unsupervised session. |
w1888626_SelfCheckIn: Indicates if players can check in themselves. |
Specifies whether players have self-service check-in options for the session. |
Question 6: Conceptual EERD Quality & Notation
To create a Conceptual EERD of Racket Minster all the entities and specializations, relationships, multiplicities, attributes, and the primary keys of Racket Minster are represented in compliance with UML notations (mariadb.com, 2024). The following is a text description of how to create this diagram and they shall create the diagram from this description.
Steps to Create the EERD
A Park can have 0..N Courts.
A Court can contain 0..N Equipment.
A Court can be operational without Sessions or it has an arbitrary number of Sessions defined as 0..N.
One Session can be taken by 1 Player.
A Caretaker can organize 0..N Supervised Sessions.
A Player can be involved in 0..N Sessions.
A Session can be Supervised or Unsupervised.
Figure 1: Conceptual EERD
Question 7: Logical EERD Quality and Notations
Figure 2: Logical Diagram Screenshot
PART B: Logical ERD
Figure 3: PART B logical EERD
References
?Inria.fr (2024). UML Notation. [online] Inria.fr. Available at: https://www-sop.inria.fr/axis/cbrtools/usermanual-eng/Print/UMLNotationPrint.html [Accessed 11 Oct. 2024].
mariadb.com (2024). Database Design Phase 2: Conceptual Design. [online] MariaDB KnowledgeBase. Available at: https://mariadb.com/kb/en/database-design-phase-2-conceptual-design/ [Accessed 11 Oct. 2024].
?
?
?
?


