分布式数据库系统复习题整理

分布式数据库提纲

论述

1. 分布式数据库设计时,为什么要对数据进行分片?什么是关系的片段?关系的片段有哪些主要类型?

分片: 1)应用的视图通常只是关系的一个子集 2) 当应用需要在多个站点上访问同一个关系的几个视图时,要么产生大量不必要的数据访问,要么产生不必要的数据复制 3) 将关系划分成片段,以片段为单位能够支持事务的并发执行

对数据分片的目的是产生一个对全局数据合适的划分方案,使用这种方案得到的片段作为分布式数据库中数据的分配和存储单位时,不但能够减少应用中的操作量,而且能够对于应用具有最大可能的本地性,即使得各片段位于其使用最多的站点。
关系的片段: 对数据库管理系统中的关系进行分割,将分割后得到的各部分元组,就称为该关系的逻辑片段。
关系的片段主要类型有:
(1)水平片段: 按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。也是通过对一全局对象的实例(或元组)进行选择得到的子集构。
(2)垂直片段: 把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。也是通过将全局对象在其属性子集上进行投影得到的。
(3)混合分片: 将水平分片与垂直分片方式综合使用则为混合分片。

2. 数据分片应遵守哪些基本原则?数据分片有哪些基本类型和方法?

  • 完整 如果一个关系R被分解成多个片段,则每个在R中的数据项也应能在一个或多个Ri中找到。
  • 重构 如果一个关系R被分解成了多个片段Fr = {R1,R2,···Rn},则应能定义一个关系操作使得R=▽Ri
  • 不相交 如果一个关系R被水平地分解成了多个片段Fr={R1,R2,···Rn},并且数据项di属于Rj,则di不属于任何其他的Rk

  • **水平分片 ** 使用水平分片方法得到水平片段,水平片段是通过对一全局对象的实例(或元组)进行选择得到的子集构成。
  • **垂直分片 ** 垂直片段是通过将全局对象在其属性子集上进行投影得到的
  • **混合分片 ** 通过交替水平分片与垂直分片,可以产生混合分片

3.概述基于关系代数等价变换的查询优化算法的基本原理和实现步骤。

基本原理:

  • 把查询问题转化为关系代数表达式;
  • 分析得到查询树
  • 进行全局到片段的变换得到基于片段的查询树
  • 利用关系代数等价变换的规则优化算法,尽可能先执行投影和选择操作,后执行连接和合并操作。
  • 这样,一方面可以减少其后操作的操作量,另一方面可以减少操作次数.对该查询树进行优化,从而达到查询优化的目的.

步骤:
(1) 将一个查询问题转换成关系代数表达式
(2)从关系代数表达式到查询树的变换:对一个关系代数表达式进行语法分析,可以得到一棵语法树 (或查询树),即查询树根节点是最终的查询结果,叶子节点是查询涉及的所有关系或片段,中间节点是按关系代数表达式中的操作顺序组成的一组关系操作符。
(3)从全局查询到片段查询的变换:把基于全局关系的查询树中的全局关系名,用其重构该全局关系的各个片段名替换,变换成相应片段上的查询树。
(4)利用关系代数等价变换规则优化算法,对片段的查询树进行优化处理,最后达到优化查询目的。

4.概述两阶段提交协议的执行过程。

第一阶段:表决阶段,目的是形成一个共同的决定。协调者向所有参与者发出“准备提交”信息。如果某个参与者准备提交,就回答“就绪” 信息,否则回答撤销信息。参与者在回答之前应把有关信息写入子自己的日志中。协调者在发出准备提交信息前也要把有关信息写入自己的日志中。如果在规定时间内协调者收到了所有参与者“就绪”的信息,则将做出提交的决定,否则撤销。
第二阶段:执行阶段,目的是实现这个决定,协调者将有关决定的信息先写入日志,然后把这个决定发送给所有参与者。参与者收到命令之后首先往日志中写入“收到提交或撤销”决定的信息,并向协调者发送“应答”消息,最后执行有关决定。协调者收到所有参与者的应答消息后,一个事务的执行到此结束,有关日志信息可以脱机保存。

5.采用 DATAID-D 方法的分布式数据库设计与传统的集中式数据库设计在步骤和内容上有什么不同?

DATAID—D是作为集中式数据库设计DATAID一1方法论的扩充而构造的,后者分成四个阶段:需求分析、概念设计、逻辑设计和物理设计。DATAID—D要求对其增加两个阶段:分布要求分析阶段和分布设计阶段:

  • 分布要求分析阶段: 需要这一阶段是为了收集关于分布的信息,如水平分片的划分谓词,每一应用在各站点激活的频率等。为了收集关于数据和应用分布的信息,必须从概念设计阶段的某些结果出发来收集关于分布要求。因此,分布要求分析阶段将位于概念设计阶段之后。
  • 分布设计阶段: 这一阶段始于全局数据库模式的规格说明和所收集的分布要求,然后产生全局数据的分片模式和片段的位置分配模式,分配模式描述了分配在各站点上的数据情况。

6.描述分布式事务的可串行化理论的一些定义:事务、冲突操作、并发调度、串行调度、一致性调度、两个调度等价、可串行化调度。

  • 事务 在分布式系统中,事务是一个分布式操作的序列,被操作的数据分布在不同的站点上。
  • 冲突操作 如果两个操作P和Q,对同一个数据X操作,其中至少有一个是写操作W(X)则P和Q称为冲突操作。
  • 并发调度 并发事务的一个调度简称并发调度。
  • 串行调度
    一个事务的第一个动作是在另一个事务的最后一个动作完成后开始
    即一个调度中不同事务的各个操作不会相互交叉,每个事务是相继执行的。
  • 一致性调度
    如果执行一个调度S,可以使得数据库从一个一致性状态转变成另一个一致性状态,则称调度S为一致性调度
    显然,串行调度是一致性调度
  • 调度等价
    调度S1与S2是等价的充分条件是:对于两个有冲突的操作Oi和Oj,若Oi,Oj∈S1Oi < Oj在S1中成立,则Oi,Oj∈S2,且也有Oi < Oj在S2中也成立。
    冲突等价以及视图等价。
  • 可串行化调度
    使用优先图判别可串行化调度,如果两个事务 TiTj发生冲突,且Ti的操作发生在前,则建立两个节点一条边Ti-->Tj,通过这种方法建立优先图,如果优先图中不出现环路,则代表调度S是可串行化的调度。
    如果一个调度等价于某个串行调度,则该调度称为可串行调度。

7.在分布式数据库系统中如何产生和调整全局时标?讨论基于时标的并发控制技术中的基本时标和保守时标法。

全局时标分配方法:

使用全局的单调递增的计数器,全局的计数器维护是个难题。全局唯一时间的形成与调整:每个站点设置一个计数器 , 每发生一个事务 , 计数器加一。发送报文时包含本地计数器值 , 近似同步各站点计数器。

基本时标法规则:

每个事务在本站点开始时赋予一个全局 唯一时标。在事务结束前,不对数据库进行物理更新。事务的每个读操作或写操作都具有该事务的时标。对每个数据项 x, 记下写和读操作的最大时标,记为 WTM(x) 和 RTM(x) 。如果事务被重新启动,则被赋予新的时标。

保守时标法规则:

每个事务只在一个站点执行 , 它不能激活远程的程序 , 但是可以向远程站点发读写请求。站点 i 接收到来自不同站点 j 的读写请求必须按时标顺序,即每个站点必须按时标顺序发送读写数据请求,在传输中也不会改变这个顺序。每个站点都为其它站点发来的读 写操作开辟一个缓冲区分别保存收到的读写申请 。

8.乐观并发控制技术和其他的并发控制技术的异同,为什么它们也被称为确认或者验证技术?讨论一个乐观并发控制方法的典型阶段。

  • 悲观并发控制 假设事务之间的冲突是比较频繁的,它们不允许两个事务同时对一个数据项进行冲突的访问。只有这个锁的所有者释放该锁,其他用户才能执行与该锁冲突的操作。
  • 乐观并发控制 用户读取数据时不锁定数据。当一个用户更新数据时,系统将进行检查,查看该用户读取数据后其他用户是否又更改了该数据。如果其他用户更新了数据,将产生一个错误。一般情况下,收到错误信息的用户将回滚事务并重新开始。

乐观并发控制读取阶段、校验阶段以及写入阶段
假设A和B需要在SCC上修改同一个文件,他们都将这个文件获取到自己的机器上,A修改完以后,就把文件上传到SCC上了,此时B也修改完了,当他也打算将文件上传时,系统会告知B,已经有人上传了,并出现一个错误。剩下的问题只能由B手动解决,例如B可以在SCC上将文件中更改的内容再次复制一遍。乐观并发控制使得系统效率损耗在事务的后期处理中,比如B必须手动的去修改他已经修改过的东西,然而这种控制方式在极少出现冲突的多事务处理中显得十分高效。

9.掌握三阶段提交协议中事务状态转换图,并结合图简述其原理。

10. 为什么说可串行化是个过于严格的正确性条件?请给出一个例子,能保证一致性,却不是可串行化的。

串行调度对不会引起冲突的操作要求过高,它们可以进行并行操作。如果两个操作之间存在冲突,这两个操作的执行顺序就很重要;而对于两个不会引起冲突的操作,它们的执行顺序则并不重要。可见事务的并发控制主要是正确处理并行执行的事务对数据库的冲突操作。

11.什么是三阶段提交协议?讨论三阶段提交协议的终结协议和三阶段提交协议的恢复协议。

三阶段提交协议:在2PC的等待状态和提交状态之间增加一个状态,作为一个缓冲,用于在准备提交但是还没有提交的时候。因为从初始状态到提交状态之间有三次状态转换,所以称为三阶段提交协议。
三阶段提交协议的
终结协议

1.协调者超时
在等待状态时超时,协调者让该事物全局回滚。
在准备提交状态超时,协调者给参与者发送“准备提交”消息,使他们进入准备提交状态并将提交记录记入日志。
在提交状态超时,此时,终结协议应该通过选举新的协议者来终结事务。
在回滚状态超时,此时,终结协议应该通过选举新的协议来终结事务。
2.参与者超时
在初始状态时,参与者单方面放弃。
在就绪状态超时,通过选举新的协议来终结事务。
在准备提交状态超时,通过选举新的协议来终结事务。
三阶段提交协议的恢复协议
1.协调者在等待状态失效
参与者已经终结的事物,隐藏,在恢复时,协议者必须向他们询问以确定如何终结事务。
2.协调者在预备提交状态失效
终结协议再一次知道可操作参与者的终结事务。由于在这个过程中可以从预备提交状态转换到撤销状态,协调者必须询问以确定如何终结事物。
3.一个参与者在预备提交状态失效
它必须询问以确定其他参与者如何终结事物。

12. 概述基于直接连接算法查询优化的基本原理和适用情形。

1.利用站点依赖信息的算法
2.分片和复制的算法
3.站点依赖和分片复制结合的算法
4.Hash划分算法
站点依赖的数据传输量最小,连接数据量最小且能利用索引,但是站点依赖算法只有给出适当的划分信息时才能使用;Hash划分算法在具有相对均匀的数据分布时才能得到良好的性能。

分析设计

1.为什么说在关系型分布式数据库中使用导出式水平分片,使关系之间的连接变得更加容易?试举一例。

全局关系的导出式水平分片不是以其自身的属性性质为基础,而是从另一个关系的属性性质或水平片段推导出来的。采用导出分片可以使片段与片段之间的“连接”(join)变得更容易。
全局关系SC(S#.C#,SCORE),S(S#,SNAME,AGE,SEX)
若要将SC划分为男生的各门课成绩和女生的各门课成绩。这就不可能从SC本身的属性性质来执行选择,必须从关系S的属性性质或水平片段来导出。

    select SC.S#,C#,SCORE from SC,S
    where SC.S#=S.S# and SEX=’M’
    define fragment SC2 as
    select SC.S#,C#,SCORE from SC,S
    where SC.S#=S.S# and  SEX=’F’

如果S已经进行水平分片,分为SF、和SM,分别为男生全体和女生全体,则上述的片段定义可以基于片段SF和SM导出:

    select*from SC where S# in(select SF.S# from SF)
    define fragment SC2 as
    Select * from SC where S# in(select SM.S# from SM)

由此可见,使用导出式水平分片,使关系之间的连接变得更加容易。这是因为可将连接条件代之以子查询,从而使它变为一般的判别条件。

2.讨论两阶段提交协议的终结协议和两阶段提交协议的恢复协议

两阶段提交协议的终结协议: 终结协议在协调者和参与者的定时器超时发挥作用,超时发生在目的站点在期望的时间内没有从发送站点得到所期望的消息时。处理超时的方法依赖于失效发生的时间和失效的类型。协调者可以再三种状态中发生超时:等待、提交和撤销。
两阶段提交协议的恢复协议:
1.协调者站点失效
(1)协调者在初始状态失效:它将在恢复时启动提交过程
(2)在等待状态失效:协调者从头开始启动提过程,再次发送“准备”
在提交状态或者撤销状态
在恢复时如果它已经收到所有的确认消息他就不需要做任何事情。否则,就要启动终结协议。
2.参与者站点失效
(1)在初始状态失效:在恢复时请参与者单方面撤销事务
(2)在就绪状态失效:失效站点的的参与者启动终结协议来处理
(3)提交或撤销状态失效:不需要爱去任何专门的措施

3.考虑下图公司数据库的分片和分布情况

假设该公司有 3 个计算机站点,站点2和3分别属于部门2和3。现在希望在站点2和3上分别频繁访问EMPLOYEE和 PROJECT 表中有关工作在该部门的雇员和该部门管辖的项目信息。雇员信息主要是指 EMP 表中的 NAME、SSN、SALARY 和 SUPERSSN 属性。站点 1 供公司总部(部门 1)使用,除了经常存取为社会保险目的而记录的 DEPENDENT 信息外,还定期地存取所有雇员和项目的信息。根据给出的这些要求,对COMPANY 关系数据库中的关系进行分片和分布设计。(注:主键用下标线标出)

4. 有如下两个事务:

在这里插入图片描述

请给出各种可能的调度,并指出各自属于哪些类型的调度(串行调度、一致性调度、可串行化调度等)。
$ S_1 = { R_1(x),x: = x+10, W_1(x), R_1(y),y: = y-15,W_1(y),C1,R_2(x),x: =x-20, W_2(x),R_2(y),y:=y2,W_2(y),C2 } $
$ S_2 = R_1(x),x:=x+10,W_1(x),R_2(x),x:=x-20, W_2(x),R_1(y),y:=y-15,W_1(y),C1,R_2(y),y:=y
2,W_2(y),C2$
$ S_3 = R_1(x),x:=x+10,W_1(x),R_2(x),x:=x-20,W_2(x),R_2(y),y:=y2, W_2(y),C2,R_1(y),y:=y-15,W_1(y),C1 $
$ S_4 = R_2(x),x:=x-20,W_2(x),R_2(y),y:=y
2,W_2(y),C2,R_1(x),X:=x+10,W_1(x),R_1(y),y:y-15,W_1(y),C1 $
S 5 = R 2 ( x ) , x : = x − 20 , W 2 ( x ) , R 1 ( x ) , x : = x + 10 , W 1 ( x ) , R 2 ( y ) , y : y = 2 , W 2 ( y ) , C 2 , R 1 ( y ) , y : = y − 15 , W 1 ( y ) , C 1 S_5 = R_2(x),x:=x-20,W_2(x),R_1(x),x:=x+10,W_1(x),R_2(y),y:y=2,W_2(y),C2,R_1(y),y:=y-15,W_1(y),C1 S5=R2(x),x:=x20,W2(x),R1(x),x:=x+10,W1(x),R2(y),y:y=2,W2(y),C2,R1(y),y:=y15,W1(y),C1

  • 调度S1和S4是串行调度,也是一致性调度
  • 调度S2和S1的冲突操作具有相同的序,因此是等价的调度,S2是可串行化调度,也是一致调度。
  • 调度S3虽然是一个一致调度,但不是一个可串行化调度
  • 调度S5和S4等价,所以S5是一致调度,也是可串行化调度、

5.设有关系 R、S、T,如下图所示。

在这里插入图片描述

(1) 计算连接 R∞S∞T。
(2) 计算半连接 R∝S, S∝R,S∝T,T∝R,T∝S,R∝T。
(3) 上述三个关系 R,S,T 分别位于三个不同的站点 X、Y、Z。若采用基于半连接算法计算连接 R∞S∞T,请选择是的传输代价最少的连接执行的站点和确定半连接序列。

6.设某公司的雇员关系 Employee(Name, Address, Salary, Plant-number),按照 Plant-number 水平分片这个关系,每个片段都有两个副本:一个副本存放在 New York 站点,另一个副本存放在工厂所在地站点。在 Toronto 站点提出的下列查询设计一个好的处理策略。

(1)找出 Boce 厂的所有雇员。
直接从Boce的employee分段中投影出employee的name属性,再将其发送到Toronto站点,呈现给所需用户。
(2)找出所有雇员的平均工资。
在New York站点将所有分段数据中的employee的salary相加,取平均值,计算完毕之后再将该值发送到Toronto站点。
(3)找出在如下每个站点工资最高的雇员姓名:Toronto,Edmonton,Vancouver,Montreal。
对各个站点的各自的工资进行降序排列(以salary的值为标准),选出salary的max值,对其name属性做投影,将数据发送到Toronto站点。
(4)找出该公司中工资最低的雇员姓名
各站点中降序排列(salary),选出各站点的min(salary)发送到Toronto站点,再将各自的salary作比较,对最小值的employee的name属性做投影。

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 九八年秋季试题 5 1.1. 概念题 5 1.1.1. 比较半连接方和枚举的优缺点。 5 1.1.2. 2PL协议的基本思想。 5 1.1.3. WAL协议的主要思想。 5 1.1.4. SSPARC三级模式体系结构。 5 1.1.5. 设计OID的数据结构时应考虑哪些问题。 6 1.2. 某个大学中有若干系,且每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授、副教授每个人带若干名研究生。每个班有若干名学生,每个学生可选修若干门课程,每门课程可由若干学生选修。完成下列各种要求: 6 1.3. 下面是某学院的一个学生档案数据库的全局模式: 7 1.3.1. 将全局模式进行分片,写出分片定义和分片条件。 7 1.3.2. 指出各分片的类型,并画出分片树。 8 1.3.3. 假设要求查询系号为1的所有学生的姓名和成绩,写出在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树,请依次进行全局优化和分片优化,画出优化后的查询树。要求给出优化变换过程。 8 1.4. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),并说明理由。 9 1.4.1. 局部分别是可串行化,而全局是不可串行化的 9 1.4.2. 局部和全局都是可串行化的。要求按照严格的2PL协议,加上适当的加锁和解锁命令,(注意,用rl(x)表示加读锁,wl(x)表示加对x加写锁,ul(x)表示解锁) 9 1.5. 试述面向对象的数据库系统中页面服务器和对象服务器两种Client/Server体系结构的主要特点, 10 2. 九九年春季试题 10 2.1. DBMS解决了信息处理技术中的哪些挑战? 10 2.2. 在关系数据库应用设计中,为什么要对数据库模式进行规范化? 10 2.3. 简述ACID特性。 11 2.4. 长事务处理有哪些特性,如何解决? 12 2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库是如何产生的,其基本原理是什么?有哪些创新特性? 13 2.8. r r 一定等于r r 吗?在什么条件下r r = r r 成立? 14 2.9. 为了设计一个健壮的分布式系统,你必须知道可能发生哪种类型的失败。 14 2.9.1. 请列出在分布式系统中可能的失败类型: 14 2.9.2. 在你列出的失败类型中,哪些也可能发生在集中式系统中? 14 2.9.3. 对于每一种失败类型,在失败发生情况下,两段提交机制如何保证事务的原子性? 14 3. 九九年秋季试题 14 3.1. 问答题 14 3.1.1. 分布式数据库系统在系统结构、模式结构、功能模块等方面有何特点? 14 3.1.2. 给出两种2PL协议,并比较它们的优点缺点? 14 3.1.3. 解释为什么对象类的多继承存在二义性,并通过例子加以说明。 15 3.1.4. 对于下述情况,哪种并行性(查询间并行性、操作间并行性、操作内并行性)有助于正加系统的吞吐量: 15 3.2. 下面是某个公司人事数据库的两个全局关系 15 3.2.1. 将全局模式进行分片,写出分片定义和分片条件。 15 3.2.2. 指出各分片的类型,并画出分片树 15 3.2.3. 进行全局优化,画出优化后的全局查询树。 16 3.2.4. 进行分片优化,画出优化后的分片查询树。 16 3.3. 对3个关系R,S和T的分布式连接,已知有如下的剖视图: 19 3.3.1. 按照SDD-1半连接优化算,逐步求出半连接优化集和最终执行场地; 19 3.3.2. 对以上结果做相应的优化处理。 23 3.4. 用下面的关键字值的集合构造一颗B+树:(2,3,5,7,11,17,19,23,29,31)。假定树开始是空的,且关键字的值是以升序插入到B+树中去的,B+树每个节点中含的指针数为4。 24 3.5. 考虑关系r (A,B,C),r (C,D,E),r (E,F),假设不存在主关键字。设V(C, r )=900, 24 3.6. 假设一个存储块中仅能存放一个记录且在内存中最多只有三个页框。请 出在排序合并算中每遍形成的Runs,排序属性为第一个属性:(kangaroo,17),(wallaby,21),(emu,1),(wombat,13),(platypus,3),(lion,8),(warthg,4),(zebra,11),(meerkat,6),(hornbill,2),(baboon,12)。 24 4. 二零年春季试题 24 4.1. 24 4.1.1. 分布库管理系统有哪些主要功能模块及其作用. 24 4.1.2. 半连接方和枚举各适用于何种查询优化情况. 25 4.1.3. 分布式事务有哪些基本性质. 25 4.1.4. 什么是2PL协议 25 4.2. 下面是某个公司的人事关系数据库的全局模式: 25 4.2.1. 将全局模式进行分片,写出分片定义和分片条件。 26 4.2.2. 指出分片的类型,并画出分片树。 26 4.3. 对题4.2所确定的分片模式,要求查询级别高于“6”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。 26 4.3.1. 进行全局优化,画出各步优化后的全局查询树。 26 4.3.2. 进行分片优化,画出各步优化后的分片查询树。 27 4.4. 下面是一个数据库系统出现故障是,日志文件中记录的信息; 27 4.4.1. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 27 4.4.2. 用C或其他语言定义出数据库记录(D记录)和检查点记录(K记录)的数据结构。 28 4.5. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),并说明理由 28 4.5.1. 局部分别是可串行化,而全局是不可串行化的 28 4.5.2. 局部和全局都是可串行化的。 28 4.5.3. 要求按照严格的2PL协议,加上适当的加锁和解锁命令,(注意,用rl(x)表示加读锁,wl(x)表示加对x加写锁,ul(x)表示解锁) 28 5. 二零年秋试题 29 5.1. 概念题 29 5.1.1. 解释对象数据库系统中面向对象的相关概念 29 5.1.2. 从概念上比较对象数据库模型与对象关系模型 29 5.1.3. 利用左深树、右深树、浓密树来进行查询优化的各自特点 29 5.1.4. 试解释影响并行数据库系统中并行算性能的三个因数 30 5.1.5. 简述用爬山算进行查询优化的基本思想 30 5.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的工资,*对应的属性表示主关键字。该公司分布在两个场地上,其中,在场地1经常处理所有职员数据,而场地2只处理工资低于1000的职员数据,为了节省磁盘空间和增大处理局部性: 30 5.2.1. 将以上全局关系进行分片设计,写出分片定义和分片条件。 30 5.2.2. 指出分片的类型,并画出分片树。 30 5.2.3. 给出分配设计。 31 5.3. 对题二所确定的分片模式,要求查询岗位为“salesman”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。假设“salesman”的工资为800元。要求给出中间转换过程。 31 5.3.1. 进行全局优化,画出优化后的全局查询树。 31 5.3.2. 进行分片优化,画出优化后的分片查询树。 31 5.4. 按如下给出的条件,求出半连接优化计划和执行场地,并作后优化处理 32 5.5. 下面是当一个数据库系统出现故障时,日志文件中的信息 36 5.5.1. 画出对应的事务并发执行图。 37 5.5.2. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 37 5.5.3. 指出需要undo的和redo的数据记录。 37 5.6. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2。T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),如果是可串行化的,指出事务的执行次序。对第3种情况,给出符合基本2PL协议的调度。(T1 加锁命令用L1(X)表示,开锁命令U1(X)表示。对任何数据的加锁可在事务开始后立即进行)。 38 5.6.1. 局部是不可串行化的。 38 5.6.2. 局部是可串行化的,而全局是不可串行化的。 38 5.6.3. 局部是可串行化的,全局也是可串行化的。 39 5.7. 设计一种满足下列要求的索引结构。 39 5.7.1. 被索引的数据集合为有序集 39 5.7.2. 在有序集上的查询操作都是基于位置来进行的 39 5.7.3. 当往有序集中插入或删除一个元素时,与该元素相关的后续元素的位置均要发生变化 39 5.7.4. 元素的类型可为任意类型(这一个小问题的解决需要考虑语言的特征) 39 6. 二零一春季试题 39 6.1. 39 6.1.1. 讨论集中式数据库分布式数据库各自的优缺点。 39 6.1.2. 讨论在局域网和广域网两种情况下分布库设计的区别。 39 6.1.3. 解释分片透明性、复制透明性和位置透明性等三级透明性的区别。 39 6.1.4. 解释2PC协议如何在故障情况下保证事务的原子性的 40 6.1.5. 解释严格2PL协议与基本2PL协议的区别 40 6.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的工资,*对应的属性表示主关键字。该公司分布在两个场地上,其中,在场地1经常处理所有职员数据,而场地2只处理工资低于1000的职员数据,为了节省磁盘空间和增大处理局部性: 41 6.2.1. 将以上全局关系进行分片设计,写出分片定义和分片条件。 41 6.2.2. 指出分片的类型,并画出分片树。 41 6.2.3. 给出分配设计。 41 6.3. 对题二所确定的分片模式,要求查询岗位为“salesman”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。假设“salesman”的工资为1500元。要求给出中间转换过程。 41 6.3.1. 进行全局优化,画出优化后的全局查询树 42 6.3.2. 进行分片优化,画出优化后的分片查询树。 42 6.4. 下面是当一个数据库系统出现故障时,日志文件中的信息 43 6.4.1. 画出对应的事务并发执行图。 44 6.4.2. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 44 6.4.3. 指出需要undo的和redo的数据记录。 44 6.5. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),如果是可串行化的,指出事务的执行次序。对第3种情况,给出符合基本2PL协议的调度。(T1 加锁命令用L1(X)表示,开锁命令U1(X)表示。对任何数据的加锁可在事务开始后立即进行)。 44 6.5.1. 局部是不可串行化的。 44 6.5.2. 局部是可串行化的,而全局是不可串行化的。 45 6.5.3. 局部是可串行化的,全局也是可串行化的。 45
1. 九八年秋季试题 5 1.1. 概念题 5 1.1.1. 比较半连接方和枚举的优缺点。 5 1.1.2. 2PL协议的基本思想。 5 1.1.3. WAL协议的主要思想。 5 1.1.4. SSPARC三级模式体系结构。 5 1.1.5. 设计OID的数据结构时应考虑哪些问题。 6 1.2. 某个大学中有若干系,且每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授、副教授每个人带若干名研究生。每个班有若干名学生,每个学生可选修若干门课程,每门课程可由若干学生选修。完成下列各种要求: 6 1.3. 下面是某学院的一个学生档案数据库的全局模式: 7 1.3.1. 将全局模式进行分片,写出分片定义和分片条件。 7 1.3.2. 指出各分片的类型,并画出分片树。 8 1.3.3. 假设要求查询系号为1的所有学生的姓名和成绩,写出在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树,请依次进行全局优化和分片优化,画出优化后的查询树。要求给出优化变换过程。 8 1.4. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),并说明理由。 9 1.4.1. 局部分别是可串行化,而全局是不可串行化的 9 1.4.2. 局部和全局都是可串行化的。要求按照严格的2PL协议,加上适当的加锁和解锁命令,(注意,用rl(x)表示加读锁,wl(x)表示加对x加写锁,ul(x)表示解锁) 9 1.5. 试述面向对象的数据库系统中页面服务器和对象服务器两种Client/Server体系结构的主要特点, 10 2. 九九年春季试题 10 2.1. DBMS解决了信息处理技术中的哪些挑战? 10 2.2. 在关系数据库应用设计中,为什么要对数据库模式进行规范化? 10 2.3. 简述ACID特性。 11 2.4. 长事务处理有哪些特性,如何解决? 12 2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库是如何产生的,其基本原理是什么?有哪些创新特性? 13 2.8. r r 一定等于r r 吗?在什么条件下r r = r r 成立? 14 2.9. 为了设计一个健壮的分布式系统,你必须知道可能发生哪种类型的失败。 14 2.9.1. 请列出在分布式系统中可能的失败类型: 14 2.9.2. 在你列出的失败类型中,哪些也可能发生在集中式系统中? 14 2.9.3. 对于每一种失败类型,在失败发生情况下,两段提交机制如何保证事务的原子性? 14 3. 九九年秋季试题 14 3.1. 问答题 14 3.1.1. 分布式数据库系统在系统结构、模式结构、功能模块等方面有何特点? 14 3.1.2. 给出两种2PL协议,并比较它们的优点缺点? 14 3.1.3. 解释为什么对象类的多继承存在二义性,并通过例子加以说明。 15 3.1.4. 对于下述情况,哪种并行性(查询间并行性、操作间并行性、操作内并行性)有助于正加系统的吞吐量: 15 3.2. 下面是某个公司人事数据库的两个全局关系 15 3.2.1. 将全局模式进行分片,写出分片定义和分片条件。 15 3.2.2. 指出各分片的类型,并画出分片树 15 3.2.3. 进行全局优化,画出优化后的全局查询树。 16 3.2.4. 进行分片优化,画出优化后的分片查询树。 16 3.3. 对3个关系R,S和T的分布式连接,已知有如下的剖视图: 19 3.3.1. 按照SDD-1半连接优化算,逐步求出半连接优化集和最终执行场地; 19 3.3.2. 对以上结果做相应的优化处理。 23 3.4. 用下面的关键字值的集合构造一颗B+树:(2,3,5,7,11,17,19,23,29,31)。假定树开始是空的,且关键字的值是以升序插入到B+树中去的,B+树每个节点中含的指针数为4。 24 3.5. 考虑关系r (A,B,C),r (C,D,E),r (E,F),假设不存在主关键字。设V(C, r )=900, 24 3.6. 假设一个存储块中仅能存放一个记录且在内存中最多只有三个页框。请 出在排序合并算中每遍形成的Runs,排序属性为第一个属性:(kangaroo,17),(wallaby,21),(emu,1),(wombat,13),(platypus,3),(lion,8),(warthg,4),(zebra,11),(meerkat,6),(hornbill,2),(baboon,12)。 24 4. 二零年春季试题 24 4.1. 24 4.1.1. 分布库管理系统有哪些主要功能模块及其作用. 24 4.1.2. 半连接方和枚举各适用于何种查询优化情况. 25 4.1.3. 分布式事务有哪些基本性质. 25 4.1.4. 什么是2PL协议 25 4.2. 下面是某个公司的人事关系数据库的全局模式: 25 4.2.1. 将全局模式进行分片,写出分片定义和分片条件。 26 4.2.2. 指出分片的类型,并画出分片树。 26 4.3. 对题4.2所确定的分片模式,要求查询级别高于“6”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。 26 4.3.1. 进行全局优化,画出各步优化后的全局查询树。 26 4.3.2. 进行分片优化,画出各步优化后的分片查询树。 27 4.4. 下面是一个数据库系统出现故障是,日志文件中记录的信息; 27 4.4.1. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 27 4.4.2. 用C或其他语言定义出数据库记录(D记录)和检查点记录(K记录)的数据结构。 28 4.5. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),并说明理由 28 4.5.1. 局部分别是可串行化,而全局是不可串行化的 28 4.5.2. 局部和全局都是可串行化的。 28 4.5.3. 要求按照严格的2PL协议,加上适当的加锁和解锁命令,(注意,用rl(x)表示加读锁,wl(x)表示加对x加写锁,ul(x)表示解锁) 28 5. 二零年秋试题 29 5.1. 概念题 29 5.1.1. 解释对象数据库系统中面向对象的相关概念 29 5.1.2. 从概念上比较对象数据库模型与对象关系模型 29 5.1.3. 利用左深树、右深树、浓密树来进行查询优化的各自特点 29 5.1.4. 试解释影响并行数据库系统中并行算性能的三个因数 30 5.1.5. 简述用爬山算进行查询优化的基本思想 30 5.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的工资,*对应的属性表示主关键字。该公司分布在两个场地上,其中,在场地1经常处理所有职员数据,而场地2只处理工资低于1000的职员数据,为了节省磁盘空间和增大处理局部性: 30 5.2.1. 将以上全局关系进行分片设计,写出分片定义和分片条件。 30 5.2.2. 指出分片的类型,并画出分片树。 30 5.2.3. 给出分配设计。 31 5.3. 对题二所确定的分片模式,要求查询岗位为“salesman”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。假设“salesman”的工资为800元。要求给出中间转换过程。 31 5.3.1. 进行全局优化,画出优化后的全局查询树。 31 5.3.2. 进行分片优化,画出优化后的分片查询树。 31 5.4. 按如下给出的条件,求出半连接优化计划和执行场地,并作后优化处理 32 5.5. 下面是当一个数据库系统出现故障时,日志文件中的信息 36 5.5.1. 画出对应的事务并发执行图。 37 5.5.2. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 37 5.5.3. 指出需要undo的和redo的数据记录。 37 5.6. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2。T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),如果是可串行化的,指出事务的执行次序。对第3种情况,给出符合基本2PL协议的调度。(T1 加锁命令用L1(X)表示,开锁命令U1(X)表示。对任何数据的加锁可在事务开始后立即进行)。 38 5.6.1. 局部是不可串行化的。 38 5.6.2. 局部是可串行化的,而全局是不可串行化的。 38 5.6.3. 局部是可串行化的,全局也是可串行化的。 39 5.7. 设计一种满足下列要求的索引结构。 39 5.7.1. 被索引的数据集合为有序集 39 5.7.2. 在有序集上的查询操作都是基于位置来进行的 39 5.7.3. 当往有序集中插入或删除一个元素时,与该元素相关的后续元素的位置均要发生变化 39 5.7.4. 元素的类型可为任意类型(这一个小问题的解决需要考虑语言的特征) 39 6. 二零一春季试题 39 6.1. 39 6.1.1. 讨论集中式数据库分布式数据库各自的优缺点。 39 6.1.2. 讨论在局域网和广域网两种情况下分布库设计的区别。 39 6.1.3. 解释分片透明性、复制透明性和位置透明性等三级透明性的区别。 39 6.1.4. 解释2PC协议如何在故障情况下保证事务的原子性的 40 6.1.5. 解释严格2PL协议与基本2PL协议的区别 40 6.2. 下面是某个公司一个人事关系数据库的全局模式: EMP={ENO*,ENAME,POSITION,PHONE} PAY={POSITION*,SALARY} ENO为职员号,POSITION为岗位。SALARY表示岗位对应的工资,*对应的属性表示主关键字。该公司分布在两个场地上,其中,在场地1经常处理所有职员数据,而场地2只处理工资低于1000的职员数据,为了节省磁盘空间和增大处理局部性: 41 6.2.1. 将以上全局关系进行分片设计,写出分片定义和分片条件。 41 6.2.2. 指出分片的类型,并画出分片树。 41 6.2.3. 给出分配设计。 41 6.3. 对题二所确定的分片模式,要求查询岗位为“salesman”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。假设“salesman”的工资为1500元。要求给出中间转换过程。 41 6.3.1. 进行全局优化,画出优化后的全局查询树 42 6.3.2. 进行分片优化,画出优化后的分片查询树。 42 6.4. 下面是当一个数据库系统出现故障时,日志文件中的信息 43 6.4.1. 画出对应的事务并发执行图。 44 6.4.2. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 44 6.4.3. 指出需要undo的和redo的数据记录。 44 6.5. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),如果是可串行化的,指出事务的执行次序。对第3种情况,给出符合基本2PL协议的调度。(T1 加锁命令用L1(X)表示,开锁命令U1(X)表示。对任何数据的加锁可在事务开始后立即进行)。 44 6.5.1. 局部是不可串行化的。 44 6.5.2. 局部是可串行化的,而全局是不可串行化的。 45 6.5.3. 局部是可串行化的,全局也是可串行化的。 45
4.1.1. 分布库管理系统有哪些主要功能模块及其作用. 24 4.1.2. 半连接方和枚举各适用于何种查询优化情况. 25 4.1.3. 分布式事务有哪些基本性质. 25 4.1.4. 什么是2PL协议 25 4.2. 下面是某个公司的人事关系数据库的全局模式: 25 4.2.1. 将全局模式进行分片,写出分片定义和分片条件。 26 4.2.2. 指出分片的类型,并画出分片树。 26 4.3. 对题4.2所确定的分片模式,要求查询级别高于“6”的所有职员的姓名和工资,写出的在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树。 26 4.3.1. 进行全局优化,画出各步优化后的全局查询树。 26 4.3.2. 进行分片优化,画出各步优化后的分片查询树。 27 4.4. 下面是一个数据库系统出现故障是,日志文件中记录的信息; 27 4.4.1. 找出发生故障时系统中的活动事务,确定出反做和重做事务集。 27 4.4.2. 用C或其他语言定义出数据库记录(D记录)和检查点记录(K记录)的数据结构。 28 4.5. 设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,T1在S1场地的操作为R1(x)W1(x)R1(y)W1(y),T2在S1场地的操作为R2(x)R2(y)W2(y);T1在S2场地上的操作作为R1(u)R1(v)W1(u),T2在S2场地上的操作作为W2(u)R2(v)W2(v)。对下述2种情况,各举一种可能的局部历程(H1和H2),并说明理由 28 4.5.1. 局部分别是可串行化,而全局是不可串行化的 28 4.5.2. 局部和全局都是可串行化的。 28

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值