2012-10-18 94 views
2

我有在確定我有以下情形的關係的問題數據庫關係問題

  • 教師可以查看許多文件
  • 紙可以通過4位老師
  • 教師可以創建可審查紙
  • 紙張可以有狀態(審覈中,已批准)
  • 同時也是教師的主題負責人將選擇教師審閱紙張。
  • 老師可以有很多類型(即可以是紙張,審稿,主題頭部作者等)

我已經確定了以下表格:

  • 教師
  • TeacherType

現在,由於教師可以​​是多種類型,許多教師可以有相同的類型,關係是多對多的,這將被分解成一對多,所以會有一個表TEACHE_TYPE(結表)。我必須以不同的方式識別教師的每一卷,我將如何使用它,例如一位教師編寫一篇論文,同時也由其他教師審閱論文。那麼,我將使用TEACHER_TYPE中的主鍵以不同的方式記錄審閱和創作過程嗎?或在教師表中使用一些不同的方法相同的ID?

+0

您的規格信息不清楚:一張紙每次有一個狀態,或一次有幾個狀態;是對所需紙張狀態的歷史追蹤;並且都是主題負責人也是教師。 –

回答

0

我會做一個四表PAPER_TEACHER,這將使你的問題要容易得多。

TABLE教師T_ID TABLE PAPER P_ID TABLE TEACHER_TYPE T_ID和TT_Type TABLE PAPER_TEACHER T_ID,P_ID,AND PT_Status

SELECT * FROM PAPER T1 INNER JOIN PAPER_TEACHER T2上t1.P_ID = t2.P_ID AND t2.PT_status = 「審覈中」 INNER JOIN上t2.T_ID = t3.T_ID教師T3 INNER JOIN TEACHRE_TYPE T4上t3.T_ID = = t4.T_ID AND t4.TT_Type = 「評者」

在哪裏你問對於PP_status,您可以使用所有類型的東西。

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