The following entities are used to manage user and the related functionality:
The following diagram represents the entity relationship model for the user entities through UML.
The following sections describe the low level details of these entities – e.g. the set of attributes, the code table associations, and the primary and foreign key details.
The User entity represents the user whose personal information is being managed by the application. The following table provides further details about this entity:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
userID |
Y |
||
username |
|||
displayName |
|||
statusCode |
RecordStatus |
The ToDo entity represents the information that forms a to-do. For simplicity, this entity contains the following information:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
toDoID |
Y |
||
description |
|||
startDate |
|||
endDate |
|||
categoryId |
Category. categoryID |
||
percentageComplete |
|||
statusCode |
RecordStatus |
||
groupName |
GroupName |
Note that the attribute categoryID has a foreign key relationship with the entity Category. Also, note that the columns statusCode and groupName have associations with the RecordStatus and GroupName code tables respectively.
This link entity provides association between User and ToDo entities. Since there exists a one-to-many relationship between a user and to-do items, the association between them is captured in this entity:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
userToDoLinkID |
Y |
||
userID |
User.userID |
||
toDoID |
ToDo.toDoID |
The Note entity represents the standard note that contains information such as subject, description, etc. The table below provides more information about this entity:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
noteID |
Y |
||
subject |
|||
description |
|||
folderID |
Folder.folderID |
||
statusCode |
RecordStatus |
Also, it is possible to associate a note with a folder. This is implemented via a foreign key relationship with the Folder entity, using the folderID attribute.
Since it is possible for a user to have many linked note items, the UserNoteLink entity is introduced in order to maintain an association between the User and Note entities:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
userNoteLinkID |
Y |
||
userID |
User.userID |
||
noteID |
Note.noteID |
The ToDo, entity has a foreign key relationship with the Category entity through the attribute categoryID. The following table lists the information available on the Category entity:
Column Name |
Primary Key Column |
Foreign Key Details |
Code Table Association |
---|---|---|---|
categoryID |
Y |
||
name |
CategoryName |
||
displayName |
|||
description |