设有关系S、SC和C,试用关系代数表达式完成下列操作。 S(snum,sname,age,sex) 例:(1,“李强”,23,‘男’) SC (snum,cnum,score) 例:(1,“C1”,83) C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,“王华”) 列出关系代数表达式,并且使用全局优化、局部查询优化、片段查询优化、半联接优化: (1) 检索“何伟”同学不学课程的课程号。 (2) 检索有一门课程成绩在90分以上的男同学的姓名。 (3) 列出没有选修“人工智能”的学生名单。 (4) 找出选修了袁老师教的所有课程的学生名单。 (5) 查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。
时间: 2024-02-26 08:52:03 浏览: 108
关系数据库、关系演算、关系代数
(1) 全局优化:πcnum(SC) - πcnum(σsname='何伟'(S) ⋈ SC)
局部查询优化:πcnum(SC) - πcnum(σsname='何伟'(S)) ⋉ SC
片段查询优化:πcnum(SC) - πcnum((σsname='何伟'(S) ⋈ SC) - (σsname='何伟'(S) ⋈ πcnum(SC)))
半联接优化:SC ⋉ (S - σsname='何伟'(S)) ÷ πsnum(SC ⋉ σsname='何伟'(S))
(2) 全局优化:πsname(σsex='男' ^ ∃score>90(SC ⋈ S)))
局部查询优化:πsname(σsex='男' ^ SC ⋈ σscore>90(S))
片段查询优化:πsname(σsex='男' ^ (SC - πcnum(SC ⋉ σsex='男'(S))) ⋈ σscore>90(S))
半联接优化:S ⋉ (SC ⋈ σscore>90(SC)) ÷ πcnum(SC)
(3) 全局优化:πsname(S) - πsname(σcnum='人工智能'(C) ⋈ SC ⋈ S)
局部查询优化:πsname(S) - πsname(SC ⋈ S ⋉ σcnum='人工智能'(C))
片段查询优化:πsname(S) - πsname((SC ⋈ S) - ((σcnum='人工智能'(C) ⋈ SC) ⋈ S))
半联接优化:S - (SC ⋈ πsnum(σcnum='人工智能'(C) ⋈ SC)) ⋈ S
(4) 全局优化:πsname(S) ÷ πsnum(σteacher='袁'(C) ⋈ SC ⋈ S)
局部查询优化:πsname(S) ÷ πsnum(SC ⋈ σteacher='袁'(C) ⋈ S)
片段查询优化:πsname(S) ÷ πsnum((SC ⋈ S) - ((σteacher<>'袁'(C) ⋈ SC) ⋈ S))
半联接优化:πsnum(SC ⋈ σteacher='袁'(C)) ÷ πsnum(SC) ÷ (SC ⋈ S)
(5) 全局优化:πsname(σscore>70(SC) ⋈ S) ÷ πsnum(πsnum(SC) ÷ πcnum(SC))
局部查询优化:πsname(SC ⋈ S ⋈ σscore>70(πscore(SC))) ÷ πsnum(SC ⋈ πcnum(SC))
片段查询优化:πsname((SC ⋈ S) - ((πcnum(SC) ÷ πcnum(σscore>70(SC))) ⋈ S)) ÷ πsnum(πcnum(SC) ÷ πcnum(σscore>70(SC)))
半联接优化:S ⋉ (SC - (πcnum(SC) - (πcnum(SC) ÷ πcnum(σscore>70(SC))) ⋈ SC)) ÷ πsnum(πcnum(SC))
阅读全文