第九章 关系系统及其查询优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一单项选择题
1 设E是关系代数表达式,F1,F2是选取条件表达式,则有______。
A σF1(σF2(E))≡σF1∨F2(E)
B σF1(σF2(E))≡σF1∧F2(E)
C σF1(σF2(E))≡σF1(E)
D σF1(σF2(E))≡σF2(E)
2 设E是关系代数表达式,F是选取条件表达式,并且只涉及A1,…,An属性,则有____。
A σF(πA1,…,An(E))≡πA1,…,An(σF(E))
B σF(πA1,…,An(E))≡πA1,…,An(E)
C σF(πA1,…,An(E))≡πA1(σF(E))
D πA1,…,An(σF(E))≡πA1,…,An(σF(πA1,…,An,B1,…Bm(E)))
3 如果条件F形为F1∧F2,F1仅涉及到E1中的属性,F2仅涉及到E2中的属性,则有_____。
A σF(E1×E2)≡σF1(E1)×σF2(E2)
B σF(E1×E2)≡σF1(σF1(E1)×σF2(E2))
C σF(E1×E2)≡σF2(σF1(E1)×σF2(E2))
D σF(E1×E2)≡σF1(E2)×σF2(E1)
4 如果一个系统定义为关系系统,则它必须___________。
A 支持关系数据库
B 支持选择、投影和连接运算
C A和B均成立
D A和B都不需要
5 如果一个系统为表式系统,则它支持__________。
A 关系数据结构
B A与选择、投影和连接运算
C A与所有的关系代数操作
D C与实体完整性、参照完整性
6 如果一个系统为关系完备系统,那么它支持___________。
A 关系数据结构
B A与选择、投影和连接运算
C A与所有的关系代数操作
D C与实体完整性、参照完整性
7 如果一个系统为全关系系统,那么它支持___________。
A 关系数据结构
B A与选择、投影和连接运算
C A与所有的关系代数操作
D C与实体完整性、参照完整性
8 关系代数表达式的优化策略中,首先要做的是__________。
A 对文件进行预运算
B 尽早执行选择运算
C 执行笛卡尔积运算
D 投影运算
9 在关系代数运算中,最费时间和空间的是_________________。
A 选择和投影运算
B 除法运算
C 笛卡尔积和连接运算
D 差运算
10 在关系代数表达式的等价优化中,不正确的叙述是____________。
A 尽可能早的执行连接运算
B 尽可能早的执行选择运算
C 尽可能早的执行投影运算
D 把笛卡尔积和随后的选择合并成连接运算
11 根据系统所提供的存取路径,选择合理的存取策略,这种优化方式称为__________。
A 物理优化
B 代数优化
C 规则优化
D 代价估算优化
二填空题
1 关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。因为用户只要提出_____________,不必指出______________。
2 在关系代数运算中,___________和__________________运算最费时间和空间。究竟应采用什么样的策略才能节省时间和空间,这就是优化的准则。
3 在优化算法中,首先应将形如σF1∧F2∧…∧Fn(E)变换为___________________________。
4 在RDBMS中,通过某种代价模型计算各种查询的执行代价。在集中式数据库中,查询的执行开销主要包括________________和_________________代价。在多用户数据库中,还应考虑查询的内存代价开销。
三问答题
1 为什么要对关系代数表达式进行优化?
答:
2 代数查询优化的总目标是什么?
答:代数查询优化的总目标是:选取有效地存取路径,求得给定关系代数表达式的值。
3 有哪3条启发式优化规则?对优化起什么作用?
答:3条启发式优化规则是:尽可能早的执行选择运算;尽可能早的执行投影运算;把笛卡尔积与附近的一连串选择和投影合并起来做。
使用这3条启发式优化规则可以使计算时尽可能减少中间关系的数据量。
4 查询优化有哪些途径?
答:查询优化有多种途径。一种途径是对查询优化语句进行变换,例如改变基本运算的次序,使查询语句执行起来更有效。这种查询优化方法仅涉及查询语句本身,而不涉及存取路径,称为独立于存取路径的优化,或代数优化。查询优化的另一种途径是根据系统所提供的存取路径,选择合理的存取策略,这称为依赖于存取路径的优化,或物理优化。
四应用题
1 设教学数据库有3个关系:
S(S#,SNAME,AGE,SEX)
C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
用户有一查询语句:检索不学“数据库”课程的学生姓名与年龄。
(1)试写出该查询的关系代数表达式;
(2)试写出查询优化的关系代数表达式;
(3)画出该查询初始的关系代数表达式的语法树;
(4)使用优化算法,对语法树进行优化,并画出优化后的语法树。
2 在上题的教学数据库S,C和SC中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。
(1)试写出该查询的关系代数表达式;
(2)试写出经查询优化的关系代数表达式。
(3)画出该查询初始的关系代数表达式的语法树;
(4)使用优化算法,对语法树进行优化,并画出优化后的语法树。
3已知一个关系数据库的模式如下:
S(SNO,SNAME,SCITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,JCITY)
SPJ(SNO,PNO,JNO,QTY)
其中,S表示供应商,它的各属性依次为:供应商号、供应商名和供应商所在城市;P 表示零件,它的各属性依次为:零件号、零件名、零件颜色和零件重量;J表示工程,它的各属性依次为:工程号、工程名和工程所在城市;SPJ表示供货关系,它的各属性依次为: