Closed KevinKelly25 closed 6 years ago
Fixed two syntax errors in ERD.
Good start @KevinKelly25
In addition to the issue @srrollo mentions:
UserType
is extra. It should be removedSchemaName
is missing in User
IsInstructor
is misspelled: missing r
I also have the following suggestions:
User
and Team
to UserName
and TeamName
respectively.Is a
to Represents
to avoid triggering the thought of inheritance. (The "Extended ER Model" does support inheritance, but I think we should keep the schema simple for now.)Made corrections for ERD. I made a "Notes" box like the attribution box. However, I am not sure the placement is the best area for it. The reasoning for the current placement is so that the notes box is inherently read first since it explains the format of the ERD.
Nice changes @KevinKelly25. Like @baconbm, I agree the notes box is situated perfectly.
A few things to consider (I know, obsession about details 💯):
ConnectionCount
the last but one attribute in User
Creates
to Causes
Creates
appear wider apart than the lines of relationship Performs
The last note in the box raises an interesting question about the cardinality constraint across from Role
in each Represents
relationship: Should that constraint should be 0..1
instead of 1..1
, as in "a role represents 0 or 1 team" and "a role represents 0 or 1 user"?
What do you all think?
@smurthys That does make sense to make it so a role is 0..1 for both since you can be one and not the other. However, it does bring up two questions that we might have to consider in the future.
1) Can a role be both a team and a user? I imagine that a role should be one or the other but not both.
2) Should user and team be connected as well? Since user(s) make up a team.
@KevinKelly25 Perhaps I misunderstand your question, but I believe the last note says the role can only represent a user or a team, but not both.
We should relate team and user when we support team functionality. No need to depict the details of something as yet unsupported.
@smurthys I worded it wrong and meant it towards how we have ClassDB programmed currently but I looked more closely and found out the answer. Thank you for the response.
I agree with @smurthys's suggestion that a cardinality constraint of 0..1
from Role
makes more sense. Adding the additional notes about the syntax we're using sounds good as well.
One tiny fix: The line between the Role and Team boxes is not fully connected on both ends to the edge of the boxes. Same with the line from Role to User on the Role side.
ctrl
key and scrolling with the mousewheel
while your cursor is within the diagram.alt
key after "grabbing" the point to move.Apart from that and the other suggestions that have been made, the diagram looks good.
@afig Thank you for the tips on Draw.IO. They definitely will help as the grid snapping was making things harder.
Made corrections for issues brought up by @smurthys and @afig
The last note should read "Entities in double-lined rectangles are weak entities; double-lined relationships are identifying relationships"
Thinking further about how best to avoid confusion for the reader, and being precise, I feel the Role
entity should have only the RoleName
attribute.
Made corrections for comment by @smurthys
Added new entities and attributes to match the desired M2 goal as described in the M2 wiki