首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关系代数

关系代数
EN

Stack Overflow用户
提问于 2011-01-29 06:41:06
回答 2查看 593关注 0票数 1

你能帮我解决这个关系代数吗?我得到了这个DB (论文答辩);

  • Teachers(Teacher_ID,名称,Specialty)
  • Projects(Project_ID,标题,Specialty)
  • Thesis(Thesis_ID,Project_ID,Jury_ID,Decision)
  • Juries(Jury_ID,Supervisor_ID,First_Member_ID,Second_Member_ID)

我想要找到代数查询,以获得教师(ID,名字)监督论文在他们的专业;

我已经在SQL中这样做了,它应该是这样的:

代码语言:javascript
复制
Select Teacher_ID, Name  
From Teachers T  
Where Teacher_ID IN
      (Select Supervisor_ID  
       From Juries  
       Where Jury_ID IN
             (Select Jury_ID  
              From Thesis  
              Where Project_ID IN 
                    (Select Project_ID  
                     From Projects P  
                     Where T.Specialty = P.Specialty)))  

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2011-01-29 09:57:01

你想这么做吗?

代码语言:javascript
复制
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)
票数 2
EN

Stack Overflow用户

发布于 2011-01-30 13:20:58

我想我已经找到了答案,多亏了Mulki的帮助:

代码语言:javascript
复制
R1 <- Thesis ⋈ (Project_ID) Projects
R2 <- Teachers ⋈ (Teacher_ID=Supervisor_ID) Juries
R3 <- π Teacher_ID, Name (R2 ⋈ (Specialty ^ Jury_ID) R1)

因此,首先在R1中,我们得到了论文的具体内容(这是Mulki的回答有帮助的地方)

然后,在R2中,我们得到了作为监督员的教师

最后,我们加入了R2和R1,条件是它们具有相同的Jury_ID和特性

并只显示它们的ID和名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4835555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档