I am designing the database table structure for the task monitoring system. I have a situation where each user can assign tasks to each other. For example, user A assigns a task to user B. User B can assign tasks to user C and so on.
I have designed the following tables and their columns
- users table - stores all users of the system
UserId - int - Primary key- auto increment
Full Name - varchar
Email - varchar
username - varchar
password - varchar
- tasks table - stores the tasks for each user
TaskId - int - primary key -auto increment
CreatedBy - int - foreign key - (UserId of users table)
AssignedTo - int - foreign key (UserId of users table)
TaskName - varchar
TaskDescrition - varchar
StartDate - date
EndDate - date
Status - varchar
Is this table design correct for storing the task details created by one user to another?