分布式数据库试题及答案.docx
- 文档编号:797117
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:73
- 大小:210.49KB
分布式数据库试题及答案.docx
《分布式数据库试题及答案.docx》由会员分享,可在线阅读,更多相关《分布式数据库试题及答案.docx(73页珍藏版)》请在冰豆网上搜索。
分布式数据库试题及答案
数据库试题
1.九八年秋季试题
1.1.概念题
1.1.1.比较半联接方法和枚举法的优缺点。
半联接技术缩减了连接操作的操作数,以降低通信费用。
枚举法适用于缩减局部代价的情况。
评估查询操作的代价需要综合考虑局部代价和传输代价。
侧重哪一个方面,需根据系统组成环境确定。
如侧重传输代价,局部代价可以忽略不计时,采用半联接技术较好;相反,如果侧重局部代价时,采用直接连接比采用半连接技术优越。
因为直接连接技术实现简单,枚举法是基于直接连接的实现方法,此时应采用枚举法。
半连接优点:
传输代价低。
半连接缺点:
没有考虑局部代价;当“选择度”交低时,半连接技术才可行。
1.1.2.2PL协议的基本思想。
2PL协议的基本思想。
并发控制是分布式事务管理的基本任务之一。
其目的是保证分布式数据库系统中多个事务的高效正确的执行。
有两种模型来实现:
其中之一是以“锁”方式为基础的形式模型,一种是以时间印方式为基础的时间模型。
锁方式的基本思想是:
事务对任何数据的操作必须先申请数据项的锁,只有申请到了锁之后,即加锁成功以后,才可以对数据项进行操作。
操作完成了以后,要释放已经申请的锁。
通过锁的共享和排斥的特性,实现事务的可串行化调度。
“锁”又可分为“读锁”和“写锁”:
“读锁”是对数据项进行读操作时要加的锁。
由于读操作是可共享操作,所以“读锁”也称为共享锁。
“写锁”是对数据进行写入操作时要加入的锁。
写操作是不可共享的锁,因此也叫“排它锁”。
2PL(两阶段锁)协议是并发控制算法中的重要算法。
其主要内容是并发执行的多个事务,在对数据进行操作以前要进行加锁,并且每个事务中的所有加锁操作都得在第一个解锁操作以前执行。
因此,每个事务中的加锁操作和解锁操作分布在两个部分中,所以此协议称为2PL协议。
在分布式数据库系统中,如果全部的分布式事务均以2PL协议加锁,则系统中各个场地上的局部调度是可串行化的。
因为对每个局部场地而言,其上执行的操作只是全局操作的一部分,而全局操作采用2PL协议加锁,显然局部操作也遵循2PL协议。
1.1.3.WAL协议的主要思想。
系统的故障恢复是以日志文件为基础完成的,因此,要求事务在执行过程中满足先写日志协议(WAL)(Write_aheadlogging)。
当系统发生故障时,可有效地采用重做(redo)和反做(undo)两个基本恢复操作进行恢复。
先写日志协议(WAL)含义:
(1)在外存数据库被更新之前,应将日志文件中的反做信息写入外存文件;
(2)事务提交之前,日志文件中的有关重做信息应在外存数据库更新之前写入外存文件。
1.1.4.SSPARC三级模式体系结构。
ANSI/SPARC提出将数据库系统分为三种层次
一、从数据库管理系统的角度看,可分为三层,从外到内依次为外模式、模式和内模式。
1、外模式:
外模式又称为用户模式:
是数据库用户和数据库系统的接口,是数据库用户的数据视图(View),是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。
2、模式:
模式是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。
3、内模式:
内模式又称为存储模式(StorageSchema),是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
二、为了实现三个抽象级别的联系和转换,数据库管理系统在三层结构之间提供了“两层映像”:
外模式/模式映像和模式/内模式映像。
1、外模式/模式映像
通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。
2、模式/内模式映像
通过模式与内模式之间的映像把描述全局逻辑结构的模式与描述物理结构的内模式联系起来。
1.1.5.设计OID的数据结构时应考虑哪些问题。
OID对象标识
对象标识在编程语言中已经存在很长时间了,在数据库概念中还是刚刚被提及(1989)。
他的概念如下:
在一个拥有对象标识的模型中,一个对象的存在并不依赖于他的值。
对象标识不应该依赖于它所代表的对象的值。
而“对象相等”的概念反映了对象标识与对象的值之间的关系。
有两种对象相等的意见存在,一种是两个对象是同一个,即是一个对象那么它的对象标识就是同一个对象标识。
还有一种是指两个对象相等,指他们的值相等而对象标识不等。
这有两个含义,一个是对象共享,还有一个是对象更新。
对象共享:
在一个基于标识的模型中,两个对象可以共享一个部件。
这样,复杂对象的图形化表示是一个图,而在一个没有标识的模型中,限制成一个树。
考虑下面的例子:
一个人有姓名、一个年龄、一个孩子的集合。
假设Peter和Susan都有一个15岁的孩子,叫john。
在实际生活中,会有两种情况,一是Peter和Susan是同一个孩子的父母,或者是有二个孩子,在没有标识的模型中,Peter表示成:
(Peter,40,{(John,15,{})})
Susan表示成
(Susan,41,{(John,15,{})})
这样,没有方法表示是否Peter和Susan是同一个孩子的父母。
在一个基于标识的模型,那两个结构是否共享同一个部分(John,15,{})。
对象更新:
假设Peter和Susan确实是John的父母,在这种情况下,所有对于Susan孩子的更新操作也会影响到Peter的孩子。
在一个基于值的系统,这两个子对象必须都要更新。
对象标识同时也是强大的数据操纵的基本要素,可以时集合、元组的基础和递归的复杂对象操纵。
支持对象标识意味着提供对象赋值功能、对象拷贝(深拷贝和浅拷贝)、对象标识检测和对象比较等(深相等和浅相等)。
当然,用户可以在基于值的系统上,显式给定对象标识来模拟。
然而,这种方式会给用户确保对象标识的唯一性和参照完整性上增加负担,特别是类似于垃圾回收的操作。
要注意的是对象标识在编程语言中是必须的,程序中操纵的每个对象都有一个标识可以被更新。
这个标识有时是一个变量名,有时也是物理内存中的一个地址。
但是在纯关系型模型中,是没有这一概念的,因为它是一个基于值的模型。
1.2.某个大学中有若干系,且每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授、副教授,每个人带领若干名研究生。
每个班有若干名学生,每个学生可选修若干门课程,每门课程可由若干学生选修。
完成下列各种要求:
(1)设计一个概念模式以描述上述情况,画出E-R图。
要求补充每个实体的适当属性
(2)将“E-R图”转换为关系模式
答:
系(系号,系名)=Dept(Dno,Dname)
班级(班级号,班级名)=Class(Cno,Cname)
教研室(教研室号,教研室名,系号)=StaffRoom(SRno,SRname,Dno)
学生(学生号,学生名,班级号)=Student(Sno,Sname,Cno)
课程(课程号,课程名)=Course(Cono,Coname)
教员(教员号,教员名,职位,工资号,系号)=Teacher(Tno,Tname,Position,WageNo,Dname)
选课(课程号,学号)=SelectCouse(Cono,Sno)//多对多的关系必须建立一个表。
班系(班级号,系号)=ClassDept(Cono,Dno)//一对多的关系可建立也可不建立看情况。
选导师(学号,教员号)=SelectTeacher(Sno,Tno)//一对多的关系可建立也可不建立看情况。
在本题需要建立。
(3)使用SQL语言来完成下列查询
(a)查找计算机系的,“学号”为981001的学生选修的课程名称和课程号。
SELECTCono,Coname
FROMCourse
WHEREEXIST
(SELECT*
FROMSelectCouse
WHERESno=“981001”
)
(b)求没有带研究生的所有教授或副教授的名称、工资号及所在的系名。
SELECTTname,WageNo,Dname
FROMTeacher
WHERETeacher.Position:
professororvice-professorANDNOTEXIST
(SELECT*
FROMSelectTeacher
)
(c)至少有一个班级的系的名称。
SELECTDname
FROMDept
WHEREEXSIT
(SELECT*
FROMClassDept
)
1.3.下面是某学院的一个学生档案数据库的全局模式:
Student={sno,sname,sex,birth,major,class,dno}
Grade={sno,cno,grade}
其中sno,sname,sex,birth为学生的“学号”,姓名,性别和出生日期,major,class,dno为专业,班级和所属的“系号”。
全学院共有8个系,dno分别为1,2,…8。
其中cno为课程号,grade为考试成绩。
根据需要,要求将学生关系Student中的{sno,class}保存在场地0,其他属性和成绩Grade按“系号”1-4,5-6分别保存在场地1和场地2上。
根据上述要求,
1.3.1.将全局模式进行分片,写出分片定义和分片条件。
分片定义和分片条件
Stu=StudentGrade
sno=sno
Student1=ПStu
Temp=ПStu
Student2=Temp
Student3=Temp
SiteStudent1(0),Student2
(1),Student3
(2);
1.3.2.指出各分片的类型,并画出“分片树”。
Student1=ПStudent是垂直分片
Student2=Temp是水平分片
Student3=Temp是水平分片
Stu(sno,sname,sex,birth,major,class,dno,cno,grade)(V)
Student1(sno,class,sname)(0)temp(sname,sex,birth,major,dno,cno,grade)(H)
Student2(sname,sex,birth,major,dno,cno,grade)
(1)Student3(sname,sex,birth,major,dno,cno,grade)
(2)
1<=dno<=45<=dno<=6
1.3.3.假设要求查询“系号”是1的所有学生的姓名和成绩,写出在全局模式上的SQL查询语句,并要求转换成相应的关系代数表示,画出全局查询树,请依次进行全局优化和分片优化,画出优化后的查询树。
要求给出优化变换过程。
SELECT*
FROMStu
WHEREdno=“1”
Stu
Student1Temp
Student2Student3
去掉Student3如图
П
|
δ
|
Student1(sno,class,sname)Student2(sname,sex,birth,major,dno,cno,grade)
按C1、C2准则转换将一元操作下移。
П
|
Student1(sno,class,sname)δ
|
Student2(sname,sex,birth,major,dno,cno,grade)
1.4.设数据项x,y存放在S1场地,u,v存放在S2场地,有分布式事务T1和T2,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)