数据库原理与应用教程期末测试题.docx
- 文档编号:25920750
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:56.19KB
数据库原理与应用教程期末测试题.docx
《数据库原理与应用教程期末测试题.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用教程期末测试题.docx(19页珍藏版)》请在冰豆网上搜索。
数据库原理与应用教程期末测试题
数据库原理与应用教程
期末测试题
(一)
一、填空题(每空1分,共10分)
1.数据库系统的核心是___数据库管理系统__。
2.在关系模型中,实体以及实体间的联系都是用__关系(二维表)____来表示的。
3.设关系模型R(A,B,C),F是R上的函数依赖集,F={A→B,C→B},则R的候选码为__(A,C)_______。
4.层次模型用“树结构”来表示数据之间的联系,网状模型用“___图状结构______”来表示数据之间的联系。
5.SQLServer2005中,一个简单的数据库可以只有一个___数据______文件和一个日志文件。
6.聚集索引和非聚集索引的存储结构都采用___B树____索引结构。
7.一个事务必须具有的四个属性是原子性、一致性、__隔离性__和持久性。
1、8.在T-SQL中,查询表中数据时,可用_____DISTINCT______关键字滤掉重复行。
9.调用标量函数时必须提供至少由两部分组成的名称,即___拥有者_____.函数名。
10.DML触发器是当数据库服务器中发生数据操作语言事件时会自动执行的存储过程。
二、选择题(每小题1分,共20分)
1、数据管理的发展不包括下面哪个阶段()
(A)文件系统 (B)数据库系统
(C)人工管理 (D)统一管理
2、一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间是什么样的联系()
(A)一对一(B)一对多
(C)多对多(D)以上全不是
3、如果事务1将数据库中的A值从200改为300,事务2读A值为300,事务1又将刚才的操作撤销,A值恢复为200,那么事务2读取了“脏”数据。
这种情况是由于数据库保护中的那方面不当而引起的()
(A)并发控制 (B)完整性约束
(C)安全性控制 (D)数据库的恢复
4、在关系模型中,“元组”是指(B)
(A)表中的一行 (B)表中的一列
(C)表中的一个数据 (D)表中的一个成分
5、有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,课程名),选修SC(学号,课程号,成绩)。
想查询选修2号课程的学生的学号和姓名,则关系运算式应写成()
(A) ∏学号(σ课程号=2(S∞SC)) (B)∏学号,姓名(σ课程号=2(S))
(C) ∏学号,姓名(σ课程号=2(S∞SC)) (D)σ课程号=2(∏学号,姓名(S∞SC))
6、规定关系的所有主属性都不能取空值,是用来实现哪一类完整性约束(D)
(A)实体完整性(B)属性值的约束
(C)参照完整性(D)用户定义完整性
7、学生关系(学号,姓名,性别,年龄,系号,系名)中,“系名”对主关键字“学号”的函数依赖是()
(A)完全函数依赖(B)部分函数依赖
(C)传递函数依赖(D)平凡函数依赖
8、在一个关系中,所有字段都是不可分的,给定一个关键字,则可以在这个数据表中唯一确定一条记录,则这个关系一定满足1NF、2NF和3NF中的()
(A)1NF(B)1NF和2NF
(C)1NF、2NF和3NF(D)2NF和3NF
9、有关系R和S,关系代数运算R∩S等价于()
(A)S-(R-S) (B)R-(R-S)
(C)R-S (D)S-R
10、有学生、选修和课程三个关系,S(学号,姓名,性别,年龄),C(课程号,课程名),SC(学号,课程号,成绩)。
以下选项中外码是()
(A)S.学号 (B)SC.学号 (C)C.课程号 (D)SC.成绩
11、要想用T-SQL语句从学生表中查询学号的前四个字符为“2004”第五个字符任意,后三个字符为“-05”的学生,条件表达式为()
(A)学号LIKE‘2004%-05’ (B)学号=‘2004%-05’
(C)学号LIKE‘2004_-05’ (D)学号=‘2004_-05’
12、已知三个关系:
S(学号,姓名,性别)
C(课程编号,课程名称,学时)
SC(学号,课程编号,分数)
若要查询所有选了课的学生的学号和姓名,下列语句正确的是()
(A)select学号,姓名fromsWHERE学号in(select*fromsc)
(B)select学号,姓名froms
WHEREin(select*fromscwheres.学号=sc.学号)
(C)select学号,姓名froms
WHERE学号exists(select*fromscwheres.学号=sc.学号)
(D)select学号,姓名froms
WHEREexists(select*fromscwheres.学号=sc.学号)
13、SQL语句中删除表的命令是()
(A)DELETETABLE(B)DELETEDBF
(C)DROPTABLE(D)DROPDBF
14、如果课程表Course是使用以下SQL语句创建的:
CREATETABLECourse(CnoCHAR
(2)notnull,CnameCHAR(20),CfenINT);下面的SQL语句中可以正确执行的是()
(A)INSERTINTOCourse(Cno,Cname,Cfen)VALUES(C2,″数据库″,3)
(B)INSERTINTOCourse(Cno,Cname,Cfen)VALUES(″C2″,″数据库″,″2″)
(C)INSERTINTOCourse(Cname,Cfen)VALUES(″数据库″,3)
(D)INSERTINTOCourse(Cno,Cname)VALUES(″C2″,″数据库″)
15、已知三个关系:
S(SNO,NAME,SEX,CLASS);C(CNO,CNAME,TIME);
SC(SNO,CNO,DEGREE)
若要查询统计每门课各班的平均成绩和每门课的平均成绩以及总的平均成绩,下列语句正确的是()
(A)selectclass,cname,avg(degree)as平均分froms,sc,cwheres.sno=sc.snoandc.cno=ogroupbys.class,c.cnamewithrollup
(B)selectclass,cname,avg(degree)as平均分froms,sc,cwheres.sno=sc.snoandc.cno=sc.cnogroupbys.class,c.cnamewithcube
(C)selectclass,cname,avg(degree)as平均分froms,sc,cwheres.sno=sc.snoandc.cno=sc.cnogroupbyc.cname,s.classwithcube
(D)selectclass,cname,avg(degree)as平均分froms,sc,cwheres.sno=sc.snoandc.cno=sc.cnogroupbyc.cname,s.classwithrollup
16、当where子句、聚合函数、groupby子句和having子句同时出现在一个查询中时,最后执行的是()
(A)聚合函数 (B)where子句
(C)groupby子句 (D)having子句
17、授予user1用户修改st表中的“姓名”字段的权限,应使用的SQL语句是()
(A)GRANTUPDATE(姓名)ONstTABLETOuser1
(B)GRANTUPDATE(姓名)ONTABLEstTOuser1
(C)GRANTMODIFY(姓名)ONstTABLETOuser1
(D)GRANTMODIFY(姓名)ONTABLEstTOuser1
18、SQLServer2005中,主数据库文件的扩展名为(A)
(A).mdf (B).dbf(C).ldf (D).ndf
19、显式事务和隐式事务都需要用什么语句来提交和回滚()
(A)ENDTRANSACTION和ROLLBACKTRANSACTION
(B)COMMITTRANSACTION和ROLLBACKTRANSACTION
(C)SAVETRANSACTION和ROLLUPTRANSACTION
(D)COMMITTRANSACTION和ROLLUPTRANSACTION
20、下列哪种情况不适合创建索引()
(A)表中的主键列(B)只有两个或若干个值的列
(C)需要强制实施唯一性的列(D)连接中频繁使用的列
三.名词解释(每小题3分,共15分)
1、数据库:
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
2、候选关键字:
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关
系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码。
3、视图:
视图(View)是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,视图是从一个或几个表导出来的表,不是真实存在的基本表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
4、游标:
游标是处理数据的一种方法,它允许应用程序对查询语句SELECT返回的结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。
5、事务:
事务由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。
四、简答题(每小题5分,共25分)
1、创建索引的必要性和作用是什么?
数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。
类似地,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。
相反,如果没有索引,则会导致SQLServer搜索表中的所有记录,以获取匹配结果。
2、简述主键约束和唯一性约束的异、同点。
主键约束在表中定义一个主键值,这是唯一确定表中每一行数据的标识符。
该约束强制实体完整性。
一个表中最多只能有一个主键,且主键列不允许取空值。
UNIQUE(唯一性)约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。
这种约束通过实现唯一性索引来强制实体完整性。
当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,又因为表中不能有两个或两个以上的主键约束,所以只能通过创建UNIQUE约束来实现。
一般地,把UNIQUE约束称为候选的主键约束。
3、简述T-SQL语言的特点。
(1)综合统一:
T-SQL语言集数据定义语言、数据操纵语言、数据控制语言和附加语言元素为一体。
(2)两种使用方式,统一的语法结构:
即联机交互式和嵌入高级语言的使用方式。
(3)高度非过程化
(4)类似于人的思维习惯,容易理解和掌握
4、简述存储过程的优点。
存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统表内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需的参数就可以得到所要的结果而不必再去编辑T-SQL命令。
5、简述死锁及其解决办法。
产生死锁的情况一般包括以下两种:
第一种情况,当两个事务分别锁定了两个单独的对象,这时每一个事务都要求在另外一个事务锁定的对象上获得一个锁,因此每一个事务都必须等待另外一个事务释放占有的锁,这时,就发生了死锁。
这种死锁是最典型的死锁形式。
第二种情况,当在一个数据库中时,有若干个长时间运行的事务执行并行的操作,当查询分析器处理一种非常复杂的查询例如连接查询时,那么由于不能控制处理的顺序,有可能发生死锁现象。
在数据库中解决死锁常用的方法有:
(1)要求每个事务一次就将要使用的数据全部加锁,否则就不能继续执行。
(2)允许死锁发生,系统来用某些方式诊断当前系统中是否有死锁发生。
五、综合题(每小题10分,共30分)
1、把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1:
1、1:
n、m:
n),并写出相应的关系模式和各关系的主关键字。
实体1:
学生(学号,姓名,性别,年龄);
实体2:
课程(课程号,课程名,学分);
实体1与实体2的联系:
学习(学号,课程号,成绩)。
注:
一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。
1、E-R图:
关系模式:
学生(学号,姓名,性别,年龄)
课程(课程号,课程名,学分)
学习(学号,课程号,成绩)
2.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩)如果规定:
每名运动员只能代表一个班级参加比赛,每个班级只能有一个班主任;每名运动员可参加多个项目,每个比赛项目也可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加一个项目只能有一个成绩。
根据上述语义,回答下列问题:
(1)写出关系模式R的候选码;
(2)R最高属于第几范式?
说明理由;
(3)若R不是3NF,将其分解为3NF。
解:
(1)关系模式R的主关键字是(运动员编号,项目号)。
(2)R最高属于第一范式。
因为存在着姓名,性别,班级和项目名对主关键字(运动员编号,项目号)的部
分函数依赖,没有达到2NF。
(3)首先分解为2NF:
R1(运动员编号,姓名,性别,班级,班主任),R2(项目号,项
目名),R3(运动员编号,项目号,成绩)
因为R1存在班主任对运动员编号的传递函数依赖,所以没有达到3NF,再分解为3NF:
R1分解为R1(运动员编号,姓名,性别,班级)和R4(班级,班主任)
3.设有一个学生-课程数据库,包括学生关系Student、课程关系Course、选修关系SC,如下图所示:
Student
学号
姓名
性别
年龄
所在系
95001
李勇
男
20
CS
95002
刘晨
女
19
IS
95003
王敏
女
18
MA
Course
课程号
课程名
学分
1
数据库
3
2
数学
3
3
信息系统
4
4
操作系统
3
SC
学号
课程号
成绩
95001
1
92
95001
2
85
95001
3
88
95002
2
90
95002
3
80
根据以上所定义的三张基表写出相应的SQL语句:
(1)查询年龄在20以下的女生的姓名、系别、年龄。
(2)查询每个学生的姓名及其选修课程的课程名。
(3)创建一个视图,包括每个系的学生所选的每门课程的平均成绩,而且只选取平均成绩为80分以上的。
(4)查询学号为95013的学生的各科成绩,如果没有这个学生的成绩,就显示“此学生无成绩”。
解:
(1)select姓名,所在系,年龄fromStudent
where年龄<20and性别=‘女’
(2)selectStudent.姓名,C.课程名fromStudent,SC,Course
whereStudent.学号=SC.学号andSC.课程号=Course.课程号
(3)createviewview1as
select所在系,课程号,avg(成绩)as平均成绩fromstudent,course
whereStudent.学号=SC.学号
groupby所在系,课程号
having(avg(成绩)>=80)
(4)if(selectcount(*)fromscwheresno=’95013’)>0
select*fromscwheresno=’95013’
else
print’此学生无成绩’
期末测试题
(二)
一、填空题(每空1分,共10分)
1.在信息世界中能唯一标识实体的属性集,称为___码_____。
2.如果关系模式R是1NF,且每个非主属性_____都完全___函数依赖于主键,那么称R是第二范式的模式。
3.数据规范化的优点之一是能消除____数据冗余___和操作异常现象。
4.若关系A有m个属性,关系B有n个属性,则A×B有__m+n____个属性。
5.关系代数运算中,专门的关系操作有:
选择、投影、除和__连接__。
6.关系中属性的取值范围称为属性的______域_____。
7.在SQLServer2005中,通配符只有在____like_____子句中才有意义,否则会被当作普通字符使用。
8.触发器也是一种存储过程,它主要通过事件进行触发而被执行,而存储过程可以通过存储过程名而被直接调用。
9.一般可以使用____GO____命令来标识T-SQL批处理的结束。
10.在索引命令中使用关键字CLUSTERED表示将建立的是_____聚集_______索引。
二、选择题(每小题1分,共20分)
1.数据库的概念模型()
(A)依赖于计算机硬件和DBMS
(B)独立于计算机硬件,依赖于DBMS
(C)依赖于计算机硬件,独立于DBMS
(D)独立于计算机硬件和DBMS
2.假设某个E-R图中有5个实体型、2个1∶M联系和2个M∶N联系,则该E-R图转换的关系模式个数至少是()
(A)5 (B)7 (C)8 (D)9
3.用二维表来表示实体及实体之间联系的数据模型称为()
(A)实体-联系模型 (B)层次模型
(C)网状模型 (D)关系模型
4.在学生关系:
学生(学号,姓名,年龄,性别)中,想查询年龄小于20的学生的学号和姓名,则关系运算式应写成()
(A)
(B)
(C)
(D)
5.在一个关系中,每个属性都是不可分解的,这个关系一定达到()
(A)2NF (B)3NF (C)BCNF (D)1NF
6.学生表中st(学号,姓名,性别,年龄),删除其中的“年龄”字段的SQL语句是()
(A)ALTERTABLEstDROP年龄
(B)DROP年龄FROMst
(C)ALTERTABLEstDELETE年龄
(D)DELETE年龄FROMst
7.如果学生表st是使用以下SQL语句创建的:
CREATETABLEst(snoCHAR(4)notnull,snCHAR(8),sexCHAR
(2),ageINT);下面的SQL语句中可以正确执行的是()
(A)INSERTINTOst(sno,sex,age)VALUES(″s9″,″男″,17)
(B)INSERTINTOst(sn,sex,age)VALUES(″李安齐″,″男″,20)
(C)INSERTINTOst(sex,age)VALUES(″男″,20)
(D)INSERTINTOst(sno,sn)VALUES(″s9″,″安齐″,16)
8.撤销user1用户修改st表中的“姓名”字段的权限,应使用的SQL语句是()
(A)REVOKEUPDATE(姓名)ONstTABLEFROMuser1
(B)REVOKEUPDATE(姓名)ONTABLEstFROMuser1
(C)REVOKEMODIFY(姓名)ONstTABLEFROMuser1
(D)REVOKEMODIFY(姓名)ONTABLEstFROMuser1
9.SQLServer2005的四个系统数据库中记录系统的所有信息的是()
(A)Master (B)Model(C)Msdb (D)Tempdb
10.有这样一个数据表,学生(学号,姓名,年龄,省份),要想查询学生们所在省份的种类个数,以下SELECT语句正确的是()
(A)SELECTCOUNT(省份)FROM学生
(B)SELECTCOUNT(DISTINCT省份)FROM学生
(C)SELECTCOUNT(学号)FROM学生
(D)SELECTCOUNT(学号)FROM学生GROUPBY省份
11.有这样一个数据表,职工(职工号,姓名,职务,工资),要想查询工资最高的职工号和姓名,以下SELECT语句正确的是()
(A)SELECT职工号,姓名FROM职工WHERE工资=MAX(工资)
(B)SELECT职工号,姓名FROM职工WHERE工资=(SELECTMAX(工资)FROM职工)
(C)SELECT职工号,姓名,工资FROM职工WHERE工资=MAX(工资)
(D)SELECT职工号,姓名,MAX(工资)FROM职工WHERE工资=MAX(工资)
12.要想用T-SQL语句从学生表中查询姓名中有“红”字的学生,条件表达式应写成()
(A)姓名LIKE‘%红%’ (B)姓名LIKE‘%红’
(C)姓名LIKE‘%红-’ (D)姓名LIKE‘-红%’
13.如果事务T获得了数据项Q上的共享锁,则T对Q()
(A)只能读不能写(B)只能写不能读(C)既可读又可写(D)不能读不能写
14.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个()
(A)数据项(B)记录(C)元组(D)表
15.SQL语言的标准库函数COUNT、SUM、AVG、MAX和MIN等,不允许出现在下列哪个子句中()
(A)SELECT(B)HAVING(C)GROUP…HAVING(D)WHERE
16.现要在SC(S#,C#,G)表中查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE子句的条件表达式应是:
SELECTS#,C#FROMSC
WHERE()
(A)G=0(B)G<=0(C)G=NULL(D)GISNULL
17.关于视图以下说法正确的是()
(A)不可以在其他视图上再建立视图
(B)视图也是表,只不过存储基本表中的一部分数据
(C)视图增强了数据的安全性
(D)如果视图中的某列是从算术表达式派生而来,可以指定视图中每列的名称,也可以不指定
18.不能激活触发器执行的事件是()
(A)SELECT(B)UPDATE(C)INSFRT(D)DELETE
19.对数据模式来说,采用三级模式的主要原因是()
(A)把大模式分解成小模式,便于DBMS进行分级管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 教程 期末 测试