数据库设计问题 - 向用户添加任务

时间:2013-10-13 14:51:59

标签: sql sql-server database database-design relational-database

我有一张桌子:

USER {UserId, Email ...}

此表与:1:1的关系为:

PROFILES {UserId, FirstName, LastName ...}

我有一个角色表,用户可以在其中要求角色 PROFESSOR 。 一位教授可以给一些学生提供不同的任务。 所以我试过了:

UserProfessors {ProfessorId, StudentId} // both related to profiles table

这就是我与教授和学生联系的方式,但我补充道:

Tasks{TaskId, Title, Description ...}

但是现在不知道如何加入这张表? 关于这种设计的任何建议?

2 个答案:

答案 0 :(得分:1)

要将任务加入用户,您需要一个包含

字段的ProfessorStudentTask
 ProfessorID -- links to Users
 StudentID -- links to Users
 TaskID

或者您可以将任务链接到UserProfessors

 UserProfessorID -- links to UserProfessors via the primary key of UserProfessors
 TaskID 

答案 1 :(得分:1)

我会做类似

的事情

1)表一用户列(UserID,userNames,dob,.....)

2)表2具有UserID,ProfID,Dept,bla bla的 PROFESSOR 教授

3)表3 学生的UserID,StudentID,bla bla

4)表四任务,其中包含(StudentID,ProfID,TaskID,bla bla bla)等列