最新数据库原理与应用教程SQLServer考试复习题.docx
《最新数据库原理与应用教程SQLServer考试复习题.docx》由会员分享,可在线阅读,更多相关《最新数据库原理与应用教程SQLServer考试复习题.docx(21页珍藏版)》请在冰豆网上搜索。
![最新数据库原理与应用教程SQLServer考试复习题.docx](https://file1.bdocx.com/fileroot1/2023-2/8/2b1ac2fa-3646-4928-b051-63b65a0fffe7/2b1ac2fa-3646-4928-b051-63b65a0fffe71.gif)
最新数据库原理与应用教程SQLServer考试复习题
数据库原理与应用教程―SQLServer
期末测试题
(一)
一、填空题(每空1分,共10分)
1.数据库系统的核心是_____。
2.在关系模型中,实体以及实体间的联系都是用______来表示的。
3.设关系模型R(A,B,C),F是R上的函数依赖集,F={A→B,C→B},则R的候选码为_________。
4.层次模型用“树结构”来表示数据之间的联系,网状模型用“_________”来表示数据之间的联系。
5.SQLServer2005中,一个简单的数据库可以只有一个_________文件和一个日志文件。
6.聚集索引和非聚集索引的存储结构都采用____________索引结构。
7.一个事务必须具有的四个属性是原子性、一致性、__________和持久性。
8.在T-SQL中,查询表中数据时,可用___________关键字滤掉重复行。
9.调用标量函数时必须提供至少由两部分组成的名称,即________.函数名。
10.触发器是当数据库服务器中发生数据操作语言事件时会自动执行的存储过程。
二、选择题(每小题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.在关系模型中,“元组”是指()
(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.规定关系的所有主属性都不能取空值,是用来实现哪一类完整性约束()
(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).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.视图
4.游标
5.事务
四、简答题(每小题5分,共25分)
1.创建索引的必要性和作用是什么?
2.简述主键约束和唯一性约束的异、同点。
3.简述T-SQL语言的特点。
4.简述存储过程的优点。
5.简述死锁及其解决办法。
五、综合题(每小题10分,共30分)
1.把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1:
1、1:
n、m:
n),并写出相应的关系模式和各关系的主关键字。
实体1:
学生(学号,姓名,性别,年龄);
实体2:
课程(课程号,课程名,学分);
实体1与实体2的联系:
学习(学号,课程号,成绩)。
注:
一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。
2.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩)如果规定:
每名运动员只能代表一个班级参加比赛,每个班级只能有一个班主任;每名运动员可参加多个项目,每个比赛项目也可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加一个项目只能有一个成绩。
根据上述语义,回答下列问题:
(1)写出关系模式R的候选码;
(2)R最高属于第几范式?
说明理由;
(3)若R不是3NF,将其分解为3NF。
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分,共10分)
1.在信息世界中能唯一标识实体的属性集,称为________。
2.如果关系模式R是1NF,且每个非主属性________函数依赖于主键,那么称R是第二范式的模式。
3.数据规范化的优点之一是能消除________和操作异常现象。
4.若关系A有m个属性,关系B有n个属性,则A×B有________个属性。
5.关系代数运算中,专门的关系操作有:
选择、投影、除和________。
6.关系中属性的取值范围称为属性的___________。
7.在SQLServer2005中,通配符只有在_________子句中才有意义,否则会被当作普通字符使用。
8.触发器也是一种存储过程,它主要通过事件进行触发而被执行,而存储过程可以通过而被直接调用。
9.一般可以使用________命令来标识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进行分级管理
(B)解决程序与数据之间的数据独立性
(C)便于应用程序从不同角度进行数据调用
(D)便于提供数据的二级映象
20.SQL语言中建立唯一性索引的命令是()
(A)CREATEINDEX索引名ON基本表名(属性名)
(B)CREATEINDEXUNIQUE索引名ON基本表名(属性名)
(C)CREATEUNIQUEINDEX索引名ON基本表名(属性名)
(D)CREATEDISTINCTINDEX索引名ON基本表名(属性名)
三、名词解释(每小题3分,共15分)
1.数据模型
2.函数依赖
3.内模式
4.触发器
5.锁
四、简答题(每小题5分,共25分)
1.简述SQLServer的安全性机制。
2.简述数据库的逻辑独立性和物理独立性。
3.简述关系的完整性。
4.简述视图的优点。
5.简述存储过程的优点。
五、综合题(每小题10分,共30分)
1.设计一个图书管数据库,此数据库中对每个借阅者保存读者记录,包括:
读者号、姓名、性别、年龄、单位。
对每本书存有:
书号、书名、作者、出版社。
对每本被借出的书存有读者号、借出日期和应还日期。
要求:
给出E-R图,再将其转换为关系模型并给出各关系的主关键字。
2.设有关系模式:
R(职工号,日期,日营业额,部门名,部门经理)
如果规定:
每个职工每天只有一个营业额,每个职工只在一个部门工作,每个部门只有一个经理。
(1)根据上述规定,写出模式R主关键字。
(2)分析R最高属于第几范式,并说明理由。
(3)将R规范到3NF。
3.假设有如下三个关系模式:
商品表:
P(PNO,PNAME,CITY,COLOR)
各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。
商场表:
M(MNO,MNAME,CITY)
各属性含义依次为商场号、商场名和商场所在城市;主键为商场号。
销售表:
S(MNO,PNO,QTY)
各属性含义依次为商场号、商品号和销售数量。
主键为(商场号,商品号)
用SQL语句写出下列查询:
(1)检索销售了产地为浙江省的商品的商场名和商场所在城市。
(2)检索上海市所有商场中各种商品的平均销售量。
(3)检索销售了蓝色商品的商场号、商品号和数量。
(要求用嵌套子查询完成)
(4)检索每个商场销售的红色商品的总数量。
期末测试题
(一)参考答案
一、填空题(每空1分,共10分)
1.数据库管理系统(DBMS)2.关系(二维表)3.(A,C)4.图状结构5.数据6.B树7.隔离性8.DISTINCT9.拥有者10.DML
二、选择题(每小题1分,共20分)
1~5DCAAC6~10ACABB11~15CDCDA16~20DBABB
三.名词解释(每小题3分,共15分)
1.数据库:
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
2.候选关键字:
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码。
3.视图:
视图(View)是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,视图是从一个或几个表导出来的表,不是真实存在的基本表而是一张虚表,视图所对应的数据并不实际的以视图结构存储在数据库中,而是存储在视图所引用的表中。
4.游标:
游标是处理数据的一种方法,它允许应用程序对查询语句SELECT返回的结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。
5.事务:
事务由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。
四、简答题(每小题5分,共25分)
1.创建索引的必要性和作用是什么?
答:
数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。
类似的,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。
相反,如果没有索引,则会导致SQLServer搜索表中的所有记录,以获取匹配结果。
2.简述主键约束和唯一性约束的异、同点。
答:
主键约束在表中定义一个主键值,这是唯一确定表中每一行数据的标识符。
该约束强制实体完整性。
一个表中最多只能有一个主键,且主键列不允许取空值。
UNIQUE(唯一性)约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。
这种约束通过实现唯一性索引来强制实体完整性。
当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,又因为表中不能有两个或两个以上的主键约束,所以只能通过创建UNIQUE约束来实现。
一般的,把UNIQUE约束称为候选的主键约束。
3.简述T-SQL语言的特点。
答:
(1)综合统一:
T-SQL语言集数据定义语言、