2011-01-29 68 views
1

你能幫我解決關係代數中的這個問題嗎?我有這個DB(Thesis Defense);關係代數

  • 教師(Teacher_ID,姓名,專業)
  • 項目(PROJECT_ID,標題,專業)
  • 論文(Thesis_ID,PROJECT_ID,Jury_ID,決策)
  • 陪審團(Jury_ID,Supervisor_ID,First_Member_ID,Second_Member_ID )

我想找到代數查詢來獲得監督他們專業論文的教師(ID,姓名);

我這樣做是在SQL已經,這是應該的樣子:

​​

感謝您的幫助!

+1

嘗試一些連接;)http://www.w3schools.com/sql/sql_join.asp而不是嵌套選擇 – 2011-01-29 06:46:22

+0

謝謝Caspar Kleijne我會盡力做到這一點,但我是新來的數據庫,sql和其他一切。 – mraskalot 2011-01-29 07:02:20

回答

2

你想要做這個嗎?

select Te.Teacher_ID,Te.Name from thesis t 
join project P on (T.Speciality =P.Speciality) 
join Juries J on (J.jury_ID = T.Jury_id) 
join Teacher Te on (Te.Teacher_ID = J.Supervisor_ID) 
1

我想我已經找到了答案,我的問題,這要歸功於穆爾基的幫助:

R1 <- Thesis ⋈ (Project_ID) Projects 
R2 <- Teachers ⋈ (Teacher_ID=Supervisor_ID) Juries 
R3 <- π Teacher_ID, Name (R2 ⋈ (Specialty^Jury_ID) R1) 

所以R1首先我們得到了什麼專業的論文是在(這是穆爾基的回答幫助)
然後在R2中我們得到的是監事教師
最後,我們加入R2和R1上,他們具有相同的Jury_ID和專業
和項目及其ID &名稱的條件只有