系:
? ① W(x,y)← Q(x,z)∧ R(z,y) ? ② W(x,y)← Q(x,z)∧ Q(z,y)
? ③ W(x,y)← Q(x,z)∧ R(z,y)∧ x ? ③π1,4(σ2=3∧ 1<4(Q×R)) ? 2.28 试用关系逻辑的规则来定义第2.17题的各个查询语句。 解: ① 检索LIU老师所授课程的课程号和课程名。 W(a,b)← C(a,b,'LIU') ② 检索年龄大于23岁的男学生的学号和姓名。 W(a,b)← S(a,b,h,'M')∧ h>23 ③ 检索学号为S3学生所学课程的课程名与任课教师名。 W(a,b)← SC('S3',e,f)∧ C(e,a,b) ④ 检索至少选修LIU老师所授课程中一门课的女学生姓名。 W(f)← S(e,f,g,'F')∧ SC(e,h,i)∧ C(h,j,'LIU') ⑤ 检索WANG同学不学的课程的课程号。 W(a)← C(a,b,d)∧ S(e,'WANG',f,g)∧ ┐SC(e,a,h) ⑥ 检索至少选修两门课的学生学号。 W(a)← SC(a,e,f)∧ SC(a,g,h)∧ e≠g ⑦ 检索全部学生都选修的课程的课程号与课程名。 W(a,b)← C(a,b,e)∧ ┐S(f,g,h,i)∧ ┐SC(f,a,j) ⑧ 检索选修课程包含LIU老师所授全部课程的学生学号。 W(a)← SC(a,b,e)∧ ┐C(f,g,'LIU')∧ ┐SC(a,f,h) ? ? ? ? ? ? 2.29 试撰写短文,对关系运算的三种形式作一评估。 答:短文应提到以下几点: (1)三种关系运算的理论基础。 (2)三种关系运算的等价性。 关系代数和关系演算在关系代数的五个基本操作的基础上是等价的。 关系代数和关系逻辑在表达功能方面不相适应,每个都能表达另一个不能表达的内容。在作了严格的限制后,才能等价。但关系逻辑比关系代数更富于表现力。 ? (3)三种关系运算非过程性的强弱不一样。 2.3 自测题 2.3.1 填空题 1.关系中没有行序的原因是___________。 2. 3.关系模型的基本数据结构是___________,其数据库存储时的基本组织方式是___________。 4.实体完整性规则是对___________的约束,参照完整性规则是对___________的约束。 5.关系代数的理论基础是___________,关系演算的理论基础是___________,关系逻辑的理 论基础是___________。 6.关系代数的基本操作是___________。 7.安全运算是指不产生___________和___________的运算。 8.等式R S = R×S成立的条件是___________。 9.关系的并、差、交操作,要求两个关系具有___________。 10.一般,在关系代数运算中,当查询涉及到“否定”时,就要用到___________操作;当查 询涉及到“全部值”时,就要用到___________操作。 11.如果关系R和S做自然联接时,只把R中原该舍去的元组放到新关系中,那么这种操作 称为___________操作。 12.等式πL(σF(E))=σF(πL(E))成立的条件是___________。 13.等式πL1(πL2(E))=πL1(E)成立的条件是___________。 14.等式σF(E1×E2)= E1×σF(E2)成立的条件是___________。 15.等式σF(E1?E2)= σF(E1)?σF(E2)成立的条件是___________。 16.关系逻辑中,外延谓词是指_______________,内涵谓词是指_______________。 17.关系逻辑中的“安全条件”是指____________________。 18.设有关系R(A,B,C),那么与规则W(c,a)← R(a,b,c) 等价的关系代数操作是____________。 19.设有关系R(A,B,C),那么与规则W(a,b)← R(a,b,'18')∧b≥'15' 等价的关系代数操作是____________。 20.设有关系R(A,B,C)和S(B,C,D),那么与规则 W(a,d)← R(a,b,c)∧ S(b,c,d) 等价的关系代数操作是____________。 2.3.2 单项选择题(在备选答案中选出一个正确答案) 1.在关系中,“元数”(arity)是指 [ ] A.行数 B.元组个数 C.关系个数 D.列数 2.在关系中,“基数”(cardinality)是指 [ ] A.行数 B.属性个数 C.关系个数 D.列数 3.由系统进行数据导航的语言称为 [ ] A.第三代语言 B.高级程序设计语言 C.过程性语言 D.非过程性语言 4.设关系R、S、W各有10个元组,那么这三个关系的自然联接的元组个数为 [ ] A.10 B.30 C.1000 D.不确定(与计算结果有关) 5.设W = R S,且W、R、S的元组个数分别为p、m、n,那么三者之间满足 [ ] iθj A.p<(m+n) B.p≤(m+n) C.p<(m×n) D.p≤(m×n) 6.设关系R和S的结构相同,且各有10个元组,那么这两个关系的并操作结果的元组个数 为 [ ] A.10 B.小于等于10 C.20 D.小于等于20 7.设关系R和S的属性个数分别为2和3,那么 R S等价于 [ ] 1<2 A.σ1<2(R×S) B.σ1<4(R×S) C.σ1<2(R S) D.σ1<4(R S) [ ] 8.如果两个关系没有公共属性,那么其自然联接操作 A.转化为笛卡尔积操作 B.转化为联接操作 C.转化为外部并操作 D.结果为空关系 9.下列式子中,不正确的是 [ A.R-S=R-(R∩S) B.R=(R-S)∪(R∩S) C.R∩S=S-(S-R) D.R∩S=S-(R-S) 10.设关系R和S都是二元关系,那么与元组表达式 { t | (?u) (?v) (R(u) ∧ S(v) ∧ u[1]=v[1] ∧ t[1]=v[1] ∧ t[2]=v[2])} 等价的关系代数表达式是 [ A.π3,4(R?S) C.π3,4(R?S) 1=1 ] ] B.π2,3(R?S) 1=3 D.π3,4(σ1=1(R×S)) [ ] 11.在元组关系演算中,与公式P1∧P2等价的公式是 A.┐(P1∨P2) B.┐P1∨┐P2 C.┐(┐P1∧┐P2) D.┐(┐P1∨┐P2) 12.在元组关系演算中,与公式(?s)(P1(s))等价的公式是 A.┐(?s)(P1(s)) B.(?s)(┐P1(s)) C.┐(?s)(┐P1(s)) D.┐(?s)(┐P1(s)) 13.在元组关系演算中,与公式P1=>P2等价的公式是 A.┐P1∨P2 B.┐P2∨P1 C.┐P1∧P2 D.┐P2∧P2 14.与域演算表达式{ab | R(ab)∧ R(ba)}不等价的关系代数表达式是 A.π1,2(σ1=4∧2=3(R×R)) B.π1,2(R ? R) 1=2∧2=1 [ ] [ ] [ ] C.R∩π2,1(R) D.σ1=2(R) 15.设R和S都是二元关系,那么与元组演算表达式 { t | (?u) (?v) (R(u)∧S(v)∧u[2]=v[2]∧t[1]=u[1]∧t[2]=v[1])} 等价的关系代数表达式是 A.π1,3(σ2=4(R?S)) C.π1,3(R 2=4 [ ] B.π1,3(σ2=2(R×S)) D.π1,3(R 2=2 ?S) ?S) 16.设有关系R(A,B,C)和S(B,C,D),那么与R?S等价的关系代数表达式是 2=1 2=1 [ ] A.σ3=5(R?S) B.π1,2,3,6(σ3=5(R ? S)) C.σ3=5∧2=4(R×S)) D.π1,2,3,6(σ3=2∧2=1(R×S)) 17.设R和S都是二元关系,那么与元组演算表达式 { t | R(t)∧ (?u) (S(u) ∧ u[1]≠ t[2])} 不等价的关系代数表达式是 [ ] A.π1,2(σ2≠3(R×S)) B.π1,2(σ2≠1(R×S)) C.π1,2(R 2≠1 ?S) D.π3,4(σ1≠4(S×R)) [ ] 18.在关系代数表达式的查询优化中,不正确的叙述是 A.尽可能早地执行联接 B.尽可能早地执行选择 C.尽可能早地执行投影 D.把笛卡尔积和随后的选择合并成联接运算 2.3.3 计算题 1.设有关系R和S: R A B C S B C D 6 4 2 4 4 9 6 5 3 4 2 5 5 6 8 5 2 6 5 3 8 6 8 4 试计算:R?S,R?S,R?S,R?S。 2=1 3=2 1>3 2.设有关系R和S: R A B C S D E F 2 4 6 3 6 9 3 2 1 3 4 5 7 4 4 4 4 7 试计算下面四个元组表达式的值: R1={ t | R(t)∧ t[2]<3 } R2={ t | (?u) (R(t) ∧ S(u) ∧ t[1] R4={ t | (?u)(?v)(R(u) ∧ S(v) ∧ u[2]=v[2] ∧ t[1]=u[1] ∧ t[2]=v[3])} 3.在第2题的关系R和S中,试计算下面四个域表达式的值: R1={ xyz | (?u)(?v)(R(xyz)∧ S(uzv)) } R2={ xy | (?u) (?v)(?w) (R(uxv) ∧ S(uwy) ∧ v>w )} R3={ xyz | (?u)(?v) (R(xyz) ∧ S(uyv) ∧ x R4={ xyz | (?u)(?v)(?w)(R(xyu) ∧ S(vwz) ∧ u=w)} 4. 在第2题的关系R和S中,试计算下面四个规则的值: 规则1:W1(b)← R(a,b,c)∧ a>c 规则2:W2(a,b,c,d,f)← R(a,b,c)∧ S(d,b,f) 规则3:W3(a,b,c)← R(a,b,c)∧ S(d,e,f)∧ b>d 规则4:W4(a,b,c)← R(a,b,c)∧ ┐S(c,e,f) 2.4 自测题答案 2.4.1 填空题答案 1.关系被定义为一个集合 2.关系中主键值不允许重复 3.关系(或二维表) 文件 4.主键 外键 5.集合论(或集合代数) 谓词演算 6.∪、-、×、π和σ 7.无限关系 无穷验证 8.R和S没有公共属性 9.相同的关系模式(或相同的结构) 10.差 除法 11.左外联接 12.条 件F只涉及到L中的属性 13.L1?L2 14.F只涉及到E2中的属性 15.F只涉及E1和E2中的公共属性 16.其关系存储在数据库中的谓词 由逻辑规则定义的谓词 17.出现在规则中任何地方的变量必须出现在某个非求反的关系子目标中 18.W=πC,A(R) 19.W=πA,B(σB≥'15'∧C='18'(R)) 20.W=π1,4(R?S) 或 W=π1,6(σ2=4∧3=5(R×S)) 2.4.2 单项选择题答案 1.D 2.A 6.D 7.B 11.D 12.D 16.B 17.B 2.4.3 计算题答案 1.答: 3.D 8.A 13.A 18.A 4.D 9.D 14.D 5.D 10.C 15.D R?S A B C D 3=2 R?S A R.B R.C S.B S.C D 2=1 6 6 5 4 5 6 2 3 8 5 8 4 6 6 6 6 5 4 4 5 5 6 2 2 3 3 8 4 4 5 5 6 4 2 2 3 8 9 5 6 8 4 R?S A R.B R.C S.B S.C D 6 4 6 4 6 5 5 6 1>3 2 2 3 8 4 5 5 6 2 2 3 8 5 6 8 4 R?S A R.B R.C S.B S.C D 6 4 6 4 6 5 6 5 5 6 2 2 3 3 8 4 6 4 6 6 2 8 2 8 8 5 4 5 4 4 2.答: R1 A B C 3 2 1 R2 A B C 2 4 6 R3 A B C 3 2 1 R4 A F 2 5