版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库系统概论》复习题作业答案
第一章概述
1.层次模型的数据结构是树形结构:网状模型的数据结构是网状
结构;关系模型的数据结构是二维表结构。
2.数据库系统具有“数据独立性”特点的原因是因为在数据库系统中(B)
(A)、采用磁盘作为外存(B)、采用三级模式结构
(C)、使用OS来访问数据(D)、用宿主语言编写应用程序
3.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是
(A)o
(A)、DBS包括DB和DBMS
(B)、DBMS包括DB和DBS
(C)、DB包括DBS和DBMS
(D)、DBS就是DB,也就是DBMS
4.数据库系统的数据独立性体现在(B)
(A)、不会因为数据的变化而影响到应用程序
(B)、不会因为系统数据存储结构和数据逻辑结构的变化而影响应用程序
(C)、不会因为存储策略的变化而影响存储结构
(D)、不会因为某些存储结构的变化而影响其他的存储结构
5.要保证数据库的数据独立性,需要修改的是(A)
(A)、模式与外模式
(B)、模式与内模式
(C)、三层之间的两种映射
(D)、三层模式
6.下述(D)不是DBA(数据库管理员)的职责。
(A)、完整性约束说明(B)、定义数据库模式
(C),数据库安全(D)、数据库管理系统设计
7.(B)是按照一定的数据模型组织的,长期储存在计算机内,可为多
个用户共享的数据的集合。
(A)、数据库系统(B)、数据库
(C)、关系数据库(D)、数据库管理系统
8.数据模型的三要素是(D)0
(A)、外模式、模式、内模式
(B)、关系模型、层次模型、网状模型
(C)、实体、联系、属性
(D)、数据结构、数据操作、完整性约束
9.简述数据库系统的主要特点。
(1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,
也是数据库系统与文件系统的本质区别。(2)数据的共享性高,冗余度低,易扩充数
据库的数据不再面向某个应用而是面向整个系统,
(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时
存取数据库中的数据甚至可以同时存取数据库中同一个数据。
10.简述数据库系统的三级模式和两级映像。
答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级
构成。(2分)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描
述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图,
一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考
虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。(1分)外模
式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看
见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与
某一应用有关的数据购逻辑表示。外模式通常是模式的子集。一个数据库可以有
多个外模式。(1分)内模式也称存储模式,一个数据库只有一个内模式,它是
数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
第二章关系数据库
1.设有如下图所示的关系R,W和D:
关系R关系W关系D
pQTYTYBTY
2bcdcdmcd
9aefcdnef
2befdfn
9ade
7gef
7gcd
计算下列代数表达式的结果:
(1)R1—7TY,T(R)
⑵Rz=6p>5A
(3)R3=(RXW)
(4)R4—RD
R1R2
YT
dc
fe
ed
R3R4
pQTYB
2bcdm
2bcdn
7gcdm
7gcdn
2、设有如下图所示的关系S,SC,C:
关系S
s#SNAMEAGESEX
1李强23男
2刘丽22女
3张友22男
关系C
C#CNAMETEACHER
KIC语言王华
K5数据库原理程军
K8编译原理程军
关系SC
S#C#GRADE
1K183
2K185
3K192
2K590
3K584
3K880
请用关系代数表达式表示下列查询语句:
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索“李强”同学不学课程的课程号。
(3)检索既选修了K1课程,也选修了K5课程的学生学号(S#)o
(4)检索选修了课程表中的全部课程的学生姓名(SNAME)o
(5)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)o
口如程军,
⑵,门c*(C)-口小。率卿(S)AVSC),
O口S#,C#(SC)一口C*(CM-'kl'ventity©)~
4
<)(st><i(n^c#(sc)-ncw(c))>
(5)rSH.SNAME^>V口5"(SC>V(b,诵含©)))"
3.在关系中,“元数”(ahty)是指(列数)
(A).行数(B).元组个数(C).关系个数(D).属性
个数
4.在关系中,“基数”(cardinality)是指(行数)
(A).列数(B).元组个数(C).关系个数(D).属性
个数
5.设W=RXS,且W、R、S的元组个数分别为p、m、n,那么三者之间
iflj
满足(D)
(A).p<(m+n)(B).p<(m+n)
(C).p<(mxn)(D).p<(mxn)
6.下列式子中,不正确的是(D)
(A).R-S=R-(RAS)(B).R=(R-S)U(RClS)
(C).Rns=s-(S-R)(D).Rns=s-(R-S)
7.如果两个关系没有公共属性,那么其自然联接操作(A
(A).转化为笛卡尔积操作(B).转化为联接操作
(C).转化为外部并操作(D).结果为空关系
8.一个关系只有一个(D)
(A)、候选码(B)、外码
(C)、超码(D)、主码
9.下面的选项不是关系的基本特征(A)
(A)、不同的列有不同的数据类型(B)、不同的列有不同的列
名
(C)、与行的次序无关(D)、与列的次序无关
第三章SQL语言
有两个基本表:
表EMP(ENO,ENAME,SALARY,DNO)
其属性分别表示职工的工号、姓名、工资和所在部门的编号
表DEPT(DNO,DNAME)
其属性分别表示部门的编号和部门名
1.有一SQL语句:
SELECTDNO,COUNT(DISTINCTENO)
FROMEMP
GROUPBYDNO;
该SQL语句实现了以下哪个功能?(C)
(A).统计职工的总人数
(B).统计每一部门的职工人数
(C).统计职工服务的部门数目
(D).统计每一职工服务的部门数目
2.有一个SQL语句:
SELECTENO,ENAME
FROMEMP
WHEREDNONOTIN
(SELECTDNO
FROMDEPT
WHEREDNAME+金工车间,;
其等价的关系代数表达式是:(C)
(A)・7TENO.ENAME(6DNAME大金工车同(EMPXIDEPT))
(B).兀ENO.ENAME(EMPXDEPT)
DNAMEW,金工车间,
(C).7CENO,ENAME(EMP)—7TENO.ENAME(UDNAME='金工车间'(EMPXDEPT))
(D).兀ENO.ENAME(EMP)—7TENO,ENAME(6DNAME#金工车间'(EMPXDEPT))
3.有一个SQL语句:
UPDATEEMP
SETSALARY=SALARY*1.05
WHEREDNO='D6'
ANDSALARY<(SELECTAVG(SALARY)
FROMEMP);
其等价的修改语句为(C)
(A).为工资低于D6部门平均工资的所有职工加薪5%
(B).为工资低于整个企业平均工资的职工加薪5%
(C).为在D6部门工作、工资低于整个企业平均工资的职工加薪5%
(D).为在D6部门工作、工资低于本部门平均工资的职工加薪5%
4.SQL中,谓词EXISTS可用来测试一个集合是否(C)
(A).有重复元组(B).有重复的列名
(C).为非空集合(D).有空值
5.SQL中,与“NOTIN”等价的操作符是(B)
(A).=SOME(B).<>SOME
(C).=ALL(D).<>ALL
6.下列关于索引的叙述,正确的是(A)。
(A)、可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询
效率。
(B)、一个基本表最多只能有一个索引。
(C)、建立索引的目的是为了给数据表中的元素指定别名,从而使别的表也
可以引用这个元素。
(D)、一个基本表至少要存在一个索引。
7.下面列出的关于视图的条目中,不正确的是(C)0
(A)、视图是外模式
(B)、视图是虚表
(C)、使用视图可以加快查询语句的执行速度
(D)、使用视图可以简化查询语句的编写
8.设数据库中有三个关系:
职工表EMP(E#,ENAME,AGE,SEX,ECITY),
其属性分别表示职工工号、姓名、年龄、性别和籍贯。
工作表WORKS(E#,C#,SALARY),
其属性分别表示职工工号、工作的公司编号和工资。
公司表COMP(C#,CNAME,CITY),
其属性分别表示公司编号、公司名称和公司所在城市。
请写出完成下列操作的SQL语句:
①用CREATETABLE语句创建上述三个表,需定义出各表的主键和外键。
②检索超过50岁的男职工的工号和姓名。
③假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工
号和姓名。
④假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职
工工号和姓名。
⑤检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。
⑥假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总
数,查询结果显示为(E#,NUM,SUM_SALARY),分别表示工号、兼职
的公司数目和工资总数。
⑦工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公
司工作的职工工号。
⑧检索联华公司中低于本公司平均工资的职工工号和姓名。
⑨在每一公司中为50岁以上职工加薪100元(若职工为多个公司工作,可
重复加)。
⑩在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。
解:@CREATETABLEEMP
(E#CHAR(4)NOTNULL,ENAMECHAR(8)NOTNULL,AGES
MALLINT,SEXCHAR(l),ECITYCHAR(20),PRIMARYKEY(E#))
;CREATETABLECOMP
(C#CHAR(4)NOTNULL,
CNAMECHAR(20)NOTNULL,CITYCHAR(20),PRIMARYKEY(
C#));
CREATETABLEWORKS
(E#CHAR(4)NOTNULL,C#CHAR(4)NOTNULL,SALARYS
MALLINT,PRIMARYKEY(E#,C#),
FOREIGNKEY(E#)REFERENCESEMP(E#),FOREIGNKEY(C#)RE
FERENCESCOMP(C#));
②SELECTE#,ENAME
FROMEMP
WHEREAGE>50ANDSEX='M';
③SELECTEMP.E#,ENAME
FROMEMP,WORKS
WHEREEMP.E#=WORKS.E#ANDSALARY>1000;
④SELECTA.E#,A.ENAME
FROMEMPA,WORKSB,WORKSCWHEREA.E#=B.E#ANDB.E#
=C.E#ANDB.C#='C4'ANDC.C#='C8';
⑤SELECTA.E#,A.ENAME
FROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#=
C.C#
ANDCNAME='联华公司'ANDSALARY>1000ANDSEX='M';
⑥SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUM_SAL
ARY
FROMWORKS
GROUPBYE#;
⑦
SELECTX.E#FROMWORKSX
WHERENOTEXISTS
(SELECT*
FROMWORKSYWHEREE#='E6'ANDNOTEXISTS
(SELECT*
FROMWORKSZWHEREZ.E#=X.E#
ANDZ.C#=Y.C#));
⑧
SELECTA.E#,A.ENAME
FROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#=
C.C#ANDCNAME+联华公司’
ANDSALARY<(SELECTAVG(SALARY)
FROMWORKS,COMP
WHEREWORKS.C#=COMP.C#ANDCNAME=,联华公司,);
⑨
UPDATEWORKS
SETSALARY=SALARY+100
WHEREE#IN(SELECTE#FROMEMPWHEREAGE>50);
⑩
DELETEFROMWORKS
WHEREE#IN(SELECTE#FROMEMPWHEREAGE>60);DEL
ETEFROMEMP
WHEREAGE>60;
第四章数据库安全性
1.以下(D)不属于实现数据库安全性的主要技术和方法。
(A)、存取控制技术(B)、视图技术
(C)、审计技术(D)、出入机房登记和加锁
2.把对关系SC的GRADE属性的修改权授予用户ZHAO的SQL语句是
(C)0
(A)、GRANTGRADEONSCTOZHAO
(B)、GRANTUPDATEONSCTOZHAO
(C)、GRANTUPDATE(GRADE)ONSCTOZHAO
(D)、GRANTUPDATEONSC(GRADE)TOZHAO
3.保护数据库、防止未经授权的或不合法的使用造成的数据泄露、更改破坏。
这是数据库的(A)。
(A)、安全性(B)、完整性
(C)、并发控制(D)、恢复
4.今有两个关系模式:
(1)职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为
主码;部门号为外码;
(2)部门(部门号,名称,经理名,地址,电话),其中部门号是主码;
请用SQL语言的GRANT语句(加上视图机制)完成以下授权定义:
用户杨兰具有SELECT每个部门的职工最高工资,最低工资,平均工资的
权力,但他不能查看每个人的工资。
CREATEVIEW部门工资AS
SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)
FROM职工,部门
WHERE职工.部门号=部门.部门号
GROUPBY职工.部门号
GRANTSELECTON部门工资
TO杨兰;
第五章数据库完整性
1.关于主码约束以下说法错误的是(C)
A.一个表中只能设置一个主码约束
B.允许空值的字段上不能定义主码约束
C.允许空值的字段上可以定义主码约束
D.可以将包含多个字段的字段组合设置为主码
2.在SQLServer中,可以使用(C)语句创建存储过程。
A.CreateTriggerB.InstallProcedure
C.CreateProcedureD.CreateView
3.SQLServer为每个触发器创建了两个临时表,它们是(B)。
A.Updated和DeletedB.Inserted和Deleted
C.Inserted和UpdatedD.Seleted和Inserted
4.设有供应商关系S和零件关系P,如下图所示,S和P的主码分别是“供
应商号”和“零件号”,P的外码是“供应商号”。
SP
供应商号供应商名所在城市
零件号颜色供应商号
A1红星北京
P1红A1
A2宇宙上海
P2蓝A3
A3黎明天津
P3白A4
A4立新重庆
分析下列4个操作能否被正确执行,并说明理由。
(1)在P中插入元组('P2','白','A2')
(2)在P中插入元组(NULL/绿','Al,)
(3)在P中插入元组「P4,,'白','AS)
(4)在P中插入元组('P4','绿','A2')
(1)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件
号”属性值“P2”,在P表中已经存在。“零件号”作为主键,其值不能重复,
必须唯一。
(2)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件
号”属性值为空,“零件号”作为主属性,其值不能为空。
(3)不能正确执行,插入操作破坏参照完整性约束,待插入的元组的“供应商
号”属性值“A5”,在S中找不到没有相应的主键值。
(4)能正确执行,因为满足数据库的实体完整性和参照完整性。
5.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门号为外码。
部门(部门号,名称,经理名,电话),其中部门号为主码,经理名为外码
请用SQL语言定义这两个关系模式,要求在关系模式中完成以下完整性约
束条件的定义:
(1)定义每个模式的主码;
(2)定义参照完整性;职工关系模式中的部门号属性参照部门关系模式中的
主码部门号;部门关系模式中的经理名属性参照职工关系模式中的姓名属性。
(3)定义职工年龄不超过60岁。
CREATETABLEDEPT
(DeptnoNUMBER(2),
DeptnameVARCHAR(10),
ManagerVARCHAR(10),
PhoneNumberChar(12),
CONSTRAINTPK_SCRIMARYKEY(Deptno)
);
CREATETABLEEMP
(EmpnoNUMBER(4),
EnameVARCHAR(10),
AgeNUMBER(2)
CONSTRAINTC1CHECK(Age<=60),
JobVARCHAR(9),SalNUMBER(7,2),
DeptnoNUMBER(2),
CONSTRAINTPK_EMPRIMARYKEY(Empno),
CONSTRAINTFK_DEPTNO
FOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno)
);
第六章关系数据理论
1.为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据
是(A)
(A)、关系规范化理论(B)、关系代数理论
(C)、数理逻辑(D)、关系运算理论
2.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数
据库中的关系必须满足:每一个属性都是(B)
(A)、长度不变的(B)、不可分解的
(C)、互相关联的(D)、互不相关的
3.已知关系模式R(A,B,C,D,E),及其上的函数相关性集合F={A-D,B-C,
E-A},该关系模式的候选码是(B)
(A)、AB(B)、BE(C)、CD(D)、DE
4.关系数据库规范化是为了解决关系数据库中的(A)问题而引入的。
(A)、插入、删除、更新异常和数据冗余
(B)、提高查询速度
(C)、减少数据操作的复杂性
(D)、保证数据的安全性和完整性
5.数据库中的冗余数据是指(D)的数据。
(A)、容易产生错误
(B)、容易产生冲突
(C)、无关紧要
(D)、由基本数据导出
6.在关系规范化过程中,分解关系的基本原则是(B)
I.实现无损失连接
II.分解后的关系相互独立
川.保持原有的函数依赖关系
(A)、I和II(B)、I和III(C)、I(D),II
7.设关系模式R(A,B,C),F是R上成立的函数依赖集合,F={B-C},则分解
P={AB,BC}相对于F(A)o
(A)、是无损失联接,也是保持函数依赖的分解
(B)、是无损失联接,但不保持函数依赖的分解
(C)、不是无损失联接,但保持函数依赖的分解
(D)、既不是无损失联接,也不保持函数依赖的分解
第8到第9题基于以下的叙述:有关系模式A(C,T,H,R,S),其中各属性
的含义是:属性C代表课程名,属性T代表教师姓名,属性H代表上课时间,
属性R代表上课教室,属性S代表学生姓名。
根据语义有如下函数依赖集:F={C-T,(H,R)-C,(H,T)-R,
(H,S)一R}。
8.请问该关系模式A的候选码是(D)
(A)、C(B)、(H,R)
(C)、(H,T)(D)、(H,S)
9.关系模式A的规范化程度最高达到(B)
(A)、1NF(B)、2NF(C)、3NF(D)、BCNF
10.设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模
式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。
如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每
个部门只有一个经理。
试回答下列问题:
(1)根据上述规定,写出模式R的基本函数依赖和候选码;
(2)说明R不是2NF的理由,并把R分解成2NF模式集;
(3)进而分解成3NF模式集。
⑴基本的FD有三个:
(职工编号,H期)->日营业额职工编号。部门编号部门名->部门经理
R的关键码为(职工编号,日期)
(2)R中有两个这样的FD:
(职工编号,日期)->(部门名,部门经理)
职工编号->(部门名,部门经理)
可见前一个FD是部分依赖,关系模式中存在非主属性对码的部分函数依赖,所以
R不是2NF模式。
R应分解成R1(职工编号,部门名,部门经理)
R2(职工编号,日期,日营业额)此处,R1和R2都是2NF。
(3)R2已是3NF模式。
在R1中,存在两个FD:职工编号->部门名部门名。部门经理
因此,“职工编号->部门经理”是一个传递依赖,R1不是3NF模式。
R1应分解成R11(职工编号,部门名)R12(部门名,部门经理)这样,P=(R11,R12.R2)
是一个3NF模式集
第七章数据库设计
1.数据库设计中,将E-R图转换成关系数据模型的过程属于(B)
(A)、需求分析阶段(B)、逻辑设计阶段
(C)、概念设计阶段(D)、物理设计阶段
2.数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是
(C)O
(A)、层次分析法和层次结构图
(B)、数据流程分析法和数据流程图
(C)、实体联系法和实体联系图
(D)、结构分析法和模块结构图
3.在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其关键字是
(C)O
(A)、M端实体的关键字(B)、N端实体的关键字
(C)、M,N端实体的关键字组合(D)、重新选取其他属性
4.在E-R模型中,如果有3个不同的实体集,3个M:N联系,根据E-R模型
转换为关系模型的规则,转换为关系的数目是(C)。
(A)、4(B)、5(C)、6(D)、7
5.进行数据库系统需求分析时,数据字典的内容和作用是什么?
答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1)数据项;
(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。其中数
据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数
据项和数据结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据
字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,
并在数据库设计过程中不断修改、充实、完盖。
6.设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编
号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单
价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可
放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着
“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用
职工有聘期和月薪。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型,并注明主键和外键。
(2)这个ER图可转换4个关系模式r
商店(商店编号,商店名,地址)
职L(职I.编一姓名,性别,业绩,♦店—■,
聘期,月薪)
商品(商品号,商品名,规格,单访)
销售(――,商品一月鞘售地)
第八章数据库编程
1.SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?
由于SQL语句处理的是记录集合,而宿主语言语句一次只能处理一个记录,因此需要用
游标(cousor)机制,把集合操作转换成单记录处理方式.
2.SQL有两种使用方式:交互式SQL和_嵌入式SQLo
3.SQL语句嵌入在C语言程序中时,必须加上前缀标识_EXECSQL
和结束标志_END_EXEC。
4.有关嵌入式SQL的叙述,不正确的是(B)
A.宿主语言是指C一类高级程序设计语言
B.宿主语言是指SQL语言
C.在程序中要区分SQL语句和宿主语言语句
D.SQL有交互式和嵌入式两种使用方式
5.嵌入式SQL实现时,采用预处理方式是(C)
A.把SQL语句和主语言语句区分开来
B.为SQL语句加前缀标识和结束标志
C.识别出SQL语句,并处理成函数调用形式
D.把SQL语句编译成二进制码
6.允许在嵌入的SQL语句中,引用宿主语言的程序变量,在引用时(C)
A.直接引用
B.这些变量前必须加符号…
C.这些变量前必须加符号“:”
D.这些变量前必须加符号
7.如果嵌入的SELECT语句的查询结果肯定是单元组,那么嵌入时
(C)
A.肯定不涉及游标机制
B.必须使用游标机制
C.是否使用游标,由应用程序员决定
D.是否使用游标,与DBMS有关
第九章关系查询优化
1.为什么要对关系代数表达式进行优化?有哪三条启发式规则?对优化起什么
作用?
关系代数表达式由关系代数操作组合而成。操作中,笛卡尔积和连接操作最费时。如果
直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。
如果在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择
和投影操作,则进行笛卡尔积或连接时可以减少中间结果,并节省时间。优化工作是由
DBMS做的,用户在写关系代数表达式时不必关心优化一事,仍以简练的形式书写。
3条启发式优化规则是:尽可能早地执行选择运算,尽可能早地执行投影运算,把笛卡
尔积与附近的一连串选择和投影合并起来做。
使用这3条启发式优化规则,可以使计算时尽可能减少中间关系的数据量。
2.假设教学数据库中有3个关系:
S(S#,SNAME,AGE,SEX)
C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
其中:学生关系S的属性分别表示:学号、姓名、年龄、性别
课程关系C的属性分别表示:课程号、课程名、任课教师
选修关系SC的属性分别表示:学号、课程号、分数
用户有一查询语句:检索女同学所选修的课程的课程名和任课教师。
(1)试写出该查询的关系代数表达式。
(2)画出查询表达式的语法树。
(3)使用启发式优化算法,对关系代数语法树进行优化,画出优化后的语法
树。
解:①关系代数表达式为:
nCNAME,TEACHER(。
SEX=F(SxSCxCxT))
上述的关系代数表达式为:nCNAME,TEACHER(。SEX=,P(口L
(。S.S#=SC.S#ASC.C#=C.C#
((SXSC)XC))))
此处L为S、SC、C中全部属性(公共属性只取一次)。
②上述关系代数表达式的语法树如图2.2所示。
TT
CNANIE,TEACHE
③上述的关系代数表达式为:优化后的语法树如图2.3所示。
\CNAME:TNAME
\oC
C.T#=T.T#
n一
\\TT
CNAME,T#T#,TNAME
\\
..
SC.Cs=C.<二二
\
X
一
n\
C
SC.C#\
°\
s.s??=sc.s#\
X\
_______
TTTT\
S#S#,C#
0SC
SEX=F
S
图2.3
第十章数据库恢复技术
1.数据库恢复的重要依据是(D)
A.数据库管理员B.数据字典
C.文档D.事务日志
2.事务(transaction)是一个(C)
A.程序B.进程C.操作序列D.完整性规则
3.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所
有操作都是一个不可分割的操作序列,这是事务的(A)
A.原子性B.一致性C.独立性D.持久性
4.在具有检查点的故障恢复技术中,下面哪个事务不需要REDO(A)o
(A)、T1(B)、T2(C)、T3(D)、T4
5.“检查点机制”的主要思想是什么?COMMIT语句与检查点时刻的操作如何
协调?
答:“检查点机制”的主要思想是在检查点时刻才真正做到把对DB的修改写到
磁盘。在DB恢复时,只有那些在最后一个检查点到故障点之间还在执行的事务
才需要恢复。事务在COMMIT时,事务对DB的更新已提交,但对DB的更新
可能还留在内存的缓冲区,在检查点时刻才真正写到磁盘。因此事务的真正结束
是在COMMIT后还要加上遇到检查点时刻。
6.什么是UNDO操作和REDO操作?为什么要这样设置?
答:undo操作是反向扫描日志文件,撤销对数据库的更新操作,使数据库恢复
到更新前的状态;
Red。操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。
第十一章并发控制
1.如果有n个事务串行调度,那么不同的有效调度有(D)
A.n2B.2nC.4nD.n!
2.在事务依赖图中,如果两个事务的依赖关系形成一个循环,那么就会(B)
A.出现活锁现象B.出现死锁现象
C.事务执行成功D.事务执行失败
3.如果事务T获得了数据项Q上的排他锁,则T对Q(C)
A.只能读不能写
B.只能写不能读
C.既可读又可写
D.不能读也不能写
4.设事务T1和T2对数据库中的数据A进行操作,可能有如下几种情况,请
问哪一种不会发生冲突操作(D)
A.T1正在写A,T2要读A
B.T1正在写A,T2也要写A
C.T1正在读A,T2要写A
D.T1正在读A,T2也要读A
5.试叙述“串行调度”与“可串行化调度”的区别。
串行调度是多个事务按照一定的次序依次执行;在某一时刻只有一个
事务在执行。
而可串行化调度是并发调度中的一个概念。在并发调度中,某一时刻
有多个事务同时被处理。如果某事务集的一个并发调度的结果与某
个串行调度等价,则称此并发调度是是可串行化调度。
6.假设某航班某日有余票50张,甲预定10张,乙预定20张,现按如下顺序
进行调度,请问会出现什么问题?如何来实现并发控制?
甲乙
1)读余票A
2)读余票A
3)A=A—10
4)写回A
5)A=A—20
6)写回A
甲乙
LOCK-X(A)
读A=50
LOCK-X(A)
A=A-10等待
写回A=40等待
COMMIT等待
UNLOCK(A)获得
读A=40
A=A-20
写回A=20
COMMIT
UNLOCK(A)
数据库系统概论复习资料:
第一章:
一、选择题:
1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据
库系统阶段。在这几个阶段中,数据独立性最高的是A阶段。
A.数据库系统B.文件系统C.人工管理D.数据项管理
2.数据库的概念模型独立于A
A.具体的机器和DBMSB.E-R图C.信息世界D.现实世界
3.数据库的基本特点是B。
A.(1)数据可以共享(或数据结构化)(2)数据独立性(3)数据冗余大,易移
植(4)统一管理和控制
B.(1)数据可以共享(或数据结构化)(2)数据独立性(3)数据冗余小,易扩
充(4)统一管理和控制
C.(1)数据可以共享(或数据结构化)(2)数据互换性(3)数据冗余小,易扩
充(4)统一管理和控制
D.(1)数据非结构化(2)数据独立性(3)数据冗余小,易扩充(4)
统一管理和控制
4.B是存储在计算机内有结构的数据的集合。
A.数据库系统B.数据库C.数据库管理系统D.数据结构
5.数据库中存储的是C。
A.数据B.数据模型C.数据以及数据之间的联系D.信息
6.数据库中,数据的物理独立性星指C。
A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程
序与数据库中数据的逻辑结构相互独立
7.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是
指o
A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共
享数据
C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖
地使用数据集合
8.数据库系统的核心是B。
A.数据库B.数据库管理系统C.数据模型D.软件工
具
9.下述关于数据库系统的正确叙述是Ao
A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件
系统能管理更多的数据
10.数将数据库的结构划分成多个层次,是为了提高数据库的①和②
Co
①A.数据独立性B.逻辑独立性C.管理规范性D.数据的共享
②A.数据独立性B.物理独立性C.逻辑独立性D.管理规范
性
11.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系
是A。
A.DBS包括DB和DBMSB.DDMS包括DB和DBSC.DB包括DBS和DBMSD.DBS
就是DB,也就是DBMS
12.在数据库中,产生数据不一致的根本原因是Co
A.数据存储量太大B.没有严格保护数据C.未对数据进行完整性控制D.数
据冗余
13.数据库管理系统(DBMS)是D。
A.数学软件B.应用软件C.计算机辅助设计D.系统软件
14.数据库管理系统(DBMS)的主要功能是B。
A.修改数据库B.定义数据库C.应用数据库D.保护数据库
15.数据库系统的特点是A、数据独立、减少数据冗余、避免数据不一致和
加强了数据保护。
A.数据共享B.数据存储C.数据应用D.数据保密
16数据库系统的最大特点是B。
A.数据的三级抽象和二级独立性B.数据共享性C.数据的结构
化D.数据独立性
17.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,
这种功能称为CO
A.数据定义功能B.数据管理功能C.数据操纵功能D.数据控制功能
18.数据库管理系统是B。
A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译程
序D.一种操作系统
19.数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的
是(D)
A.外模式B.内模式C.存储模式D.模式
20数据库系统的数据独立性是指B。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的
变化而影响其他的存储结构
21.信息世界中的术语,与之对应的数据库术语为B。
A.文件B.数据库C.字段D.记录
22次型、网状型和关系型数据库划分原则是D。
A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系
23.传统的数据模型分类,数据库系统可以分为三种类型C。
A.大型、中型和小型B.西文、中文和兼容C.层次、网状和关系D.数据、
图形和多媒体
24.层次模型不能直接表示
A.1:1关系B.1:m关系C.m:n关系D.1:1,和1:
m关系
25.数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论
述的是」—。
A.层次数据模型B.网状数据模型C.关系数据模型D.面向对象数据模
型
二、填空题
1.数据管理技术经历了人工管理阶段、文件
系统阶段和数据库系统阶段三个阶段。
2.数据库是长期存储在计算机内、有组织的、可£
享_______的数据集合。
3.DBMS是指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化具有民族性课件
- 苏教版五年级语文课件
- 农村房屋买卖合同模板
- 二零二四年度二手橡胶制品买卖合同2篇
- 二零二四年度大数据分析及处理服务合同2篇
- 2024版网络游戏虚拟物品交易服务合同3篇
- 化工设计:第三讲物料衡算
- 2024年度融资租赁合同:出租方与承租方2篇
- 2024年版高速公路工程顾问服务合同实例2篇
- 人教版九年级化学第四单元2水的净化课时1水的净化分层作业课件
- 医院信息系统安全等级保护建设方案
- 状态空间平均法建立小信号模型
- 三叉神经痛ppt
- 新三年级数学家长会
- 多层喷射沉积技术
- 四级汉译英段落翻译技巧(课堂PPT)
- 《月迹》课堂实录全面版
- 法语常用动词变位(完整版)
- 测量放大器设计
- 尔雅超星语言与文化
- 医疗器械质量体系不合格品处理单模板
评论
0/150
提交评论