数据库期末考试模拟题.docx
《数据库期末考试模拟题.docx》由会员分享,可在线阅读,更多相关《数据库期末考试模拟题.docx(13页珍藏版)》请在冰豆网上搜索。
![数据库期末考试模拟题.docx](https://file1.bdocx.com/fileroot1/2022-12/12/e087972f-b604-48ff-a64a-2982fbc1c04b/e087972f-b604-48ff-a64a-2982fbc1c04b1.gif)
数据库期末考试模拟题
数据库系统概论模拟试题(3)
一、填空题:
02分,每题02分
1、如果事务T对数据D加了S锁,则在T释放D上的S锁以前,其他事务只能对D加S锁)而不能加(X锁)。
二、单选题:
20分,每题02分
2、(B)是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。
A:
数据库系统
B:
数据库
C:
关系数据库
D:
数据库管理系统
3、(C)处于数据库系统的核心位置。
A:
数据字典
B:
数据库
C:
数据库管理系统
D:
数据库管理员
4、数据库管理系统允许用户把一个或多个数据库操作组成(B),它是一组按顺序执行的操作单位。
A:
命令
B:
事务
C:
文件
D:
程序
5、要查询“xx电大”的所有课程,可用如下OQL语句:
SELECTc
FROMCoursesc
WHERE()=’xx电大’;
A:
c.ownedBy
B:
course.ownedBy
C:
c.ownedBy.name
D:
course.ownedBy.name
6、对于属性
attributeenumFilm{color,blackwhite}Type;
正确的描述是()。
A:
该属性是一个枚举类型的结构类型
B:
该属性是一个结构类型的原子类型
C:
属性Type有两种可能的取值:
color和blackwhite
D:
字符串“黑白片”可能是属性Type的取值
7、有CONNECT权限的用户不具有下列()权限。
A:
更新数据库中的数据
B:
更新数据库中的数据
C:
建立视图或定义数据的别名
D:
对其所建立的数据对象跟踪审查
8、关系数据库的标准语言是()。
A:
关系代数
B:
关系演算
C:
SQL
D:
ORACLE
9、如果事务T对数据D已加X锁,则其他事务对数据D()。
A:
可以加S锁,不能加X锁
B:
可以加S锁,也可以加X锁
C:
不能加S锁,可以加X锁
D:
不能加任何锁
10、关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为键码(key),则下面的说法正确的是()。
A:
或者有可能单独成为R的键码。
B:
{A1,A2,A3}必然也是R的键码。
C:
R中绝不可能出现两个在A1,A2上取值完全相同的元组。
D:
R的所有元组中,A1或者A2的值都是不能重复的。
11、在给出的关系实例中,有可能作为键码的是()。
F1
F2
F3
F4
F5
李华
20020330
H
1
10
金谦
20020330
O
1
5
李华
20020218
O
3
15
吕宋
20020115
H
2
5
顾小华
20020218
O
1
20
A:
B:
C:
{F1,F2}
D:
三、多选题:
10分,每题02分
12、下面对触发程序中规定动作与触发事件之间的关系描述正确的是()。
A:
AFTER:
触发事件完成前如果WHEN子句中的条件为真,则执行随后的动作。
B:
AFTER:
触发事件完成后如果WHEN子句中的条件为真,则执行随后的动作。
C:
BEFORE:
触发事件执行前如果WHEN子句中的条件为真,则执行随后动作。
D:
BEFORE:
触发事件执行后如果WHEN子句中的条件为真,则执行随后动作。
13、下面关于数据库模式设计的说法中正确的有()。
A:
在模式设计的时候,有时候为了保证性能,不得不牺牲规范化的要求。
B:
有的情况下,把常用属性和很少使用的属性分成两个关系,可以提高查询的速度。
C:
连接运算开销很大,在数据量相似的情况下,参与连接的关系越多开销越大。
D:
减小关系的大小可以将关系水平划分,也可以垂直划分。
14、要查询学生李琳选修的所有课程的成绩,如下关系代数表达式中正确的有。
A:
B:
C:
D:
E:
15、对于关系模式S(Sno,Sname,Age,Dept);C(Cno,CName,Teacher);SC(Sno,Cno,Score)下列查询结果相同的是()。
A:
πSname((S)
σScore>60(SC))
B:
πSname(σScore>60(S
SC))
C:
σScore>60(πSname(S
SC))
D:
σScore>60(πSname(S)
(SC))
16、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:
x1àx2,x1àx3,x3àx4,则该关系属于():
A:
1NF
B:
2NF
C:
3NF
D:
4NF
四、判断题:
10分,每题01分
17、在系统配置上,服务程序通常安装在服务器上,客户程序通常放在PC机上。
()
18、OQL中没有明确的关系概念,它只是结构的集合(或者包)。
而SQL3中的对象则把关系作为核心概念。
()
19、可以用关键字“AS”给某个属性命别名。
()
20、需求分析可以独立于数据库管理系统。
()
21、对于关系数据库系统,用户既要提出“做什么”,也要指出“怎么做”。
()
22、利用分时的方法同时处理多个事务,成为事务的并发调度。
()
23、当多个事务并发执行的结果与多个事务按任意次序串行执行的结果相同,就认为该并发操作是正确的。
()
24、函数依赖具有传递性。
25、如果一个关系没有一个属性能由所有其它属性函数决定,则该关系根本不存在非平凡的函数依赖。
26、如果一个关系数据库中的所有关系模式都满足第三范式,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了更新异常和信息冗余。
五、填空选择题:
02分,每题02分
27、假设B1和B2是两个包,x是在B1中出现n1次并在B2中出现n2次的对象。
按包的运算规则,在B1-B2中,
1)如果n1≤n2,则x出现()次;
2)如果n1>n2,则x出现()次。
选项1:
n1
n2
n1
n2
n2
n1
0
min(n1,n2)
max(n1,n2)
选项2:
n1
n2
n1
n2
n2
n1
0
min(n1,n2)
max(n1,n2)
六、简答题:
15分,每题05分
28、
关系模式如下:
商店S(SNO,SN,CITY)
销售SP(PNO,SNO,QTY)
用域关系演算写出下述操作的查询表达式。
查询出售商品号“P2”的商店名SN。
参考答案:
29、假设学生选课数据库关系模式如下:
Student(SNo,SName,SAge,SDept)
Course(CNo,CName)
SC(SNo,CNo,Score)
用域关系演算进行如下查询:
(1)计算机系有不及格课程的学生名单;
(2)学生张林的“数据库原理”课成绩。
参考答案:
(1)
(2)
30、什么是部分依赖?
参考答案:
对于函数依赖WA,如果存在V是W的真子集,而函数依赖VA成立,则称A部分依赖于W。
七、综合题:
35分,每题05分
31、一个电影资料数据库假定有三个基本表:
电影表Movie、演员表Actor和电影主演表Acts。
Movie关系的属性包括电影名、制作年份、长度等;Actor关系的属性包括演员名、地址、性别、生日等;电影主演表Acts包括电影名、制作年份、演员姓名等。
用SQL实现如下查询或更新操作:
(1)所有同名电影各自的电影名和制作年份;
(2)往演员关系Actor中插入一个演员记录,具体的分量由你指定;
参考答案:
答:
1)
SELECTM1.Title,M1.Year,M2.Year
FROMMovieASM1,MovieASM2
WHEREM1.Title=M2.TitleANDM1.Year2)
INSERTINTOActor(Name,Gender)
VALUES(‘秀兰·邓波儿’,’F’);
32、关系数据模型如下:
学生S(SNO,SN,SEX,AGE)
课程C(CNO,CN,PCNO)PCNO为直接先行课号。
选课SC(SNO,CNO,GR)GR为课程考试成绩
用SQL写出查询程序:
选修课程“DB”的学生姓名SN。
参考答案:
(答案一)
SELECTSN
FROMS
WHERESNO=
(SELECTSNO
FROMSC
WHERECNO=
(SELECTCNO
FROMC
WHERECN=“DB”))
(答案二)
SELECTSN
FROMS,SC,C
WHERES.SNO=SC.SNO
ANDSC.CNO=C.CNO
ANDC.CN=’DB’;
33、关系数据模型如下:
学生S(SNO,SN,SEX,AGE)
课程C(CNO,CN,PCNO)PCNO为直接先行课号。
选课SC(SNO,CNO,GR)GR为课程考试成绩
用SQL写出查询程序:
将选修课程“DB”的学生学号SNO,姓名SN建立视图SDB。
参考答案:
(答案一)
CREATEVIEWSDBAS
SELECTSNO,SN
FROMS,SC,C
WHERES.SNO=SC.SNO
ANDSC.CNO=C.CNO
ANDC.CN=’PB’;
(答案二)
CREATEVIEWSDBAS
SELECTSNO,SN
FROMS
WHERESNO=
(SELECTSNO
FROMSC
WHERECNO=
(SELECTCNO
FROMC
WHERECN=“DB”))
34、假设学生-课程数据库关系模式如下:
Student(Sno,Sname,Sage,Ssex);Course(Cno,Cname,Teacher);
SC(Sno,Cno,Grade)。
用SQL语句表达下列查询:
(1)找出至少选修刘老师讲的一门课的学生姓名。
(2)找出“程序设计”课成绩在90分以上的学生姓名。
参考答案:
1)
SELECTSname
FROMStudent,SC,Course
WHEREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno
ANDTeacherLIKE‘刘%’;
2)
SELECTSname
FROMStudent,SC,Course
WHEREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno
ANDCname=’程序设计’ANDGrade>90;
35、设某航班某日尚有余票50张,甲预订10张,乙预订20张,若按如下顺序执行有何问题?
如何实现并发控制?
甲
乙
1)读余票A
2)
读余票A
3)A=A?
10
4)写回A
5)
A=A-20
6)
写回A
参考答案:
若按上述顺序执行,则最后的余票为30,显然不对,因为正确结果应为20。
这种错误属于“丢是修改”,即把甲写回的数据丢失了。
应采用封锁机制实现并发控制,具体修改如下:
甲
乙
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)
36、对于电影关系Movie(title,year,length,inColor,studioName)中的属性,写出下列约束:
(1)年份不能在1895年以前。
(2)电影长度不能短于60,也不能长于240。
参考答案:
1)
CREATETABLEMovie
...
yearINTCHECK(year>=1895),
...
);
2)
CREATETABLEMovie(
...
lengthINTCHECK(length>=60ANDlength<=240),
...
);
37、有关产品(Product)类及其三个子类PC机(PC)、便携式电脑(Laptop)、打印机(Printer)的ODL描述如下:
interfaceProduct
(extentProducts
Keymodel)
{
attributeintegermodel;
attributestringmaker;
attributestringtype;
attributerealprice;
};
interfacePC:
Product
(extentPCs)
{
attributeintegerspeed;
attributeintegerram;
attributeintegerhd;
attributestringcd;
};
interfaceLaptop:
Product
(extentLaptops)
{
attributeintegerspeed;
attributeintegerram;
attributeintegerhd;
attributerealscreen;
};
interfacePrinter:
Product
(extentPrinters)
{
attributebooleancolor;
attributestringprintertype;
};
其中,Product类有三个属性:
型号model、制造商maker和类型type(PC、便携式电脑或打印机)。
假设型号对于所有制造商和产品类型都是唯一的。
PC机子类有四个属性:
速度speed(指处理器的速度,以兆赫计算)、内存ram容量(以兆字节计算)、硬盘hd容量(以千兆字节算)和光盘驱动器cd速度(以几倍速描述)。
便携式电脑Laptop子类与PC机子类不同之处在于:
用屏幕尺寸screen(以英寸计算)代替光驱速度。
打印机Printer子类有2个属性:
输出颜色color(彩色为真)和打印机类型Printertype(激光、喷墨等)。
根据题中的ODL模式,写出用OQL扩充了的C++语句来完成下列操作:
(1)把型号为1001的PC对象赋值给宿主语言变量x。
(2)把内存至少有16M字节的所有便携式电脑对象的集合赋值给宿主语言变量y。
(3)把售价低于5000元的PC机的平均速度赋值给宿主语言变量z。
参考答案:
1)x=SELECTp
FROMPCsp
WHEREp.model=1001;
2)y=SELECTl
FROMLaptopsl
WHEREl.ram>=16;
3)z=AVG(SELECTp.speed
FROMPCsp
WHEREp.price<5000);
八、填空题(主观):
06分,每题02分
38、描述SQL3中的对象可用两种形式:
()和()。
参考答案:
行对象、
抽象数据类型
39、在SQL中表示差集的关键字是()。
参考答案:
EXCEPT
40、DBMS提供的两种基本封锁类型是()和()。
参考答案:
共享锁、
排它锁