2

我在识别关系时遇到问题 我有以下情况

  • 一个老师可以复习很多篇论文
  • 一篇论文可以由4位老师审阅
  • 老师可以写一篇论文
  • 论文可以有状态(审查中,已批准)
  • 一位同时也是老师的学科负责人将选择老师来审查论文。
  • 教师可以有多种类型(即可以是论文的作者、审稿人、学科负责人等)

我已经确定了以下表格:

  • 老师
  • 教师类型

现在由于教师可以​​是多种类型,并且许多教师可以具有相同的类型,所以关系是多对多的,这将分解为一对多,因此会有一个表 TEACHER_TYPE(联结表)。我必须以不同的方式识别老师的每一卷我将如何使用它,例如,一位老师撰写论文,同时审查其他老师的论文。那么我会不会使用 TEACHER_TYPE 中的主键来以不同的方式记录审阅和创作过程呢?或者教师表中的相同ID有一些不同的方法?

4

2 回答 2

0

乍一看,似乎缺少一个链接或关联表来表示教师和论文之间的多对多关系。这张桌子可能看起来像......

review         <-- this name can be descriptive of the purpose (review)
----------         but is also often just the name of the association
fk_paper_id    <-- foreign key to paper
fk_teacher_id  <-- foreign key to teacher performing review
review_status  <-- one or more columns indicating the status of this review

教师类型可能只是教师和/或论文的属性。

由于教师(学科负责人等)之间存在层次结构,也可以表示为教师的属性,而不是单独的类型。该表可以是自引用的......例如,员工表......

employee
--------------
pk_employee_id
name, etc
fk_manager_id     <-- foreign key referencing back to the managing employee
于 2012-10-18T19:21:25.713 回答
0

我会制作第四张桌子 PAPER_TEACHER,这会让你更容易提问。

TABLE TEACHER T_ID TABLE PAPER P_ID TABLE TEACHER_TYPE T_ID 和 TT_Type TABLE PAPER_TEACHER T_ID、P_ID 和 PT_Status

SELECT * FROM PAPER t1 INNER JOIN PAPER_TEACHER t2 on t1.P_ID = t2.P_ID AND t2.PT_status = "under review" INNER JOIN TEACHER t3 on t2.T_ID = t3.T_ID INNER JOIN TEACHRE_TYPE t4 on t3.T_ID = = t4。 T_ID AND t4.TT_Type = "审阅者"

在您要求 PP_status 的地方,您可以使用各种东西。

于 2012-10-18T19:44:14.683 回答