2024年1月31日发(作者:)
数据库原理及应用期末考试试题
一、单项选择题
1
D
2
C
3
C
4
B
5
C
6
A
7
D
8
B
9
C
10 11 12 13 14 15 16 17 18 19 20
A C A D D B C B C A B
1. 组织层数据模型的三要素是[ ]。
A.外模式,概念模式和内模式
B.关系模型,网络模型,层次模型
C.1:1的联系,1:n的联系,n:m的联系
D.数据结构,数据操作,数据约束条件
2在关系模型中,任何关系必须满足约束条件包括实体完整性、[ ]和用户自定义完整性。
A.动态完整性 B.数据完整性
C.参照完整性 D.结构完整性
3 SQL Server 中的角色是[ ]。
A. 一个服务器登录 B. 一个数据库用户
C. 一组权限的集合 D. 一个服务器用户
4. 当数据的物理存储结构改变时,应用程序无需改变,这样的特性称为数据的[ ]。
A.逻辑独立性 B.物理独立性 C.程序无关性 D.物理无关性
5.下列哪个不是以处理大量数据为中心的应用程序的特点[ ]。
A.涉及的数据量大 B.数据需长期联机保存
C.数据的计算复杂 D.数据可被多个应用所共享
6.E-R图适用于建立数据库的[ ]。
A.概念模型 B.结构模型 C.逻辑模型 D.物理模型
7. 在关系数据库设计中,设计关系模型属于[ ]。
A.需求分析 B.物理结构设计 C.逻辑结构设计 D.概念结构设计
8.[ ]记录了对数据库中数据进行的每一次更新操作。
A.后援副本 B.日志文件 C.数据库 D.缓冲区
9. [ ]是用户定义的一组数据库操作序列,是一个基本的不可分割的工作单元。
A.程序 B.进程 C.事务 D.文件
10.信息世界中,实体是指[ ]。
A.客观存在的事物 B. 客观存在的属性
C. 客观存在的特性 D. 某一具体事件
11. 数据库系统中, DBA表示[ ] 。
A.应用程序设计者 B. 数据库使用者
C. 数据库管理员 D. 数据库结构
12.数据库的概念模型独立于[ ]。
A.具体的机器和DBMS B.E—R图 C.信息世界 D.现实世界
13. 数据库系统包括[ ]。
A.DB、DBMS B. DB、DBMS、DBA、计算机硬件
C. DB、DBA D.DB、DBMS、DBA、OS、计算机硬件
14. 在数据库结构中,保证数据库独立性的关键因素是 。
A.数据库的逻辑结构 B. 数据库的逻辑结构、物理结构
C.数据库的三级结构 D. 数据库的三级结构和两级映射。
15、在下列关于关系的陈述中,错误的是[ ]。
A. 表中任意两行的值不能相同 B. 表中任意两列的值不能相同
C. 行在表中的顺序无关紧要 D.列在表中的顺序无关紧要
16.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于[ ]。
A. 实体完整性约束 B. 参照完整性约束
C. 用户自定义完整性约束 D. 关键字完整性约束
17. 定义外码实现的是哪一类完整性[ ]。
A.实体完整性 B. 参照完整性 C. 用户定义的完整性 D.检查完整性
18.如果事务T获得了数据项Q上的排它锁,则T对Q [ ]。
A. 只能读不能写 B. 只能写不能读
C. 既可读又可写 D. 不能读不能写
19.数据模型有三个要素,其中用于描述系统静态特性的是[ ]。
A. 数据结构 B.数据操作 C. 数据完整性约束 D.数据检索
20.在数据库设计中,将E-R图转换成关系数据模型的过程属于[ ]。
A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段
1.
DB、DBMS和DBS三者之间的关系是( B )。
A.DB包括DBMS和DBS B.DBS包括DB和DBMS
C.DBMS包括DB和DBS D.不能相互包括
2. 对数据库物理存储方式的描述称为( B )
A.外模式
C.概念模式
B.内模式
D.逻辑模式
3. 在数据库三级模式间引入二级映象的主要作用是( A )
A.提高数据与程序的独立性
C.保持数据与程序的一致性
B.提高数据与程序的安全性
D.提高数据与程序的可移植性
4. 视图是一个“虚表”,视图的构造基于( C )
A.基本表 B.视图
C.基本表或视图 D.数据字典
5. 关系代数中的π运算符对应SELECT语句中的以下哪个子句?( A )
A.SELECT B.FROM
C.WHERE D.GROUP BY
6. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( C )
A.多对多 B.一对一 C.多对一 D.一对多
7. 如何构造出一个合适的数据逻辑结构是( C )主要解决的问题。
A.关系系统查询优化 B.数据字典
C.关系数据库规范化理论 D.关系数据库查询
8. 将E-R模型转换成关系模型,属于数据库的( C )。
A. 需求分析 B. 概念设计
C. 逻辑设计 D. 物理设计
9. 事务日志的用途是( C )
A. 事务处理 B. 完整性约束
C. 数据恢复 D. 安全性控制
10.如果事务T已在数据R上加了X锁,则其他事务在数据R上( D )
A. 只可加X锁 B. 只可加S锁
C. 可加S锁或X锁 D. 不能加任何锁
1. ( B )是长期储存在计算机内、有组织的、可共享的大量数据的集合。
A. 数据库系统 B. 数据库 C. 关系数据库 D. 数据库管理系统
2. (1) 在数据库的三级模式中,内模式有( A )。
A.1个 B.2个 C.3个 D.任意多个
2. (2) 在数据库的三级模式中,外模式有( D )。
A.1个 B.2个 C.3个 D.任意多个
2. (3) 在数据库的三级模式中,模式有( A )。
A.1个 B.2个 C.3个 D.任意多个
2. (4) 在数据库的三级模式体系结构中,内模式、模式和外模式个数的比例是( B )。
A.1:1:1
B.1:1:N
C.1:M:N
3.
数据模型的三个要素分别是( B )。
A. 实体完整性、参照完整性、用户自定义完整性
D.M:N:P
B.
数据结构、关系操作、完整性约束
4.
数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( A )。
A. DBS包括DB和DBMS B. DBMS包括DB和DBS
5. 在关系模式R中,Y函数依赖于X 的语义是:( B )。
A. 在R的某一关系中,若两个元组的X值相等,则Y值也相等。
B. 在R的每一关系中,若两个元组的X值相等,则Y值也相等。
6. 若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,而对于实体集B中的每一个实体,实体集A中只有1个实体与之联系,则实体集A和实体集B之间的联系类型为( B )。
A.1:1 B.1:N C.M:N D.N:1
6. (2) 若对于实体集A中的每一个实体,实体集B中有1个实体(n≥0)与之联系,而对
于实体集B中的每一个实体,实体集A中只有1个实体与之联系,则实体集A和实体集B之间的联系类型为( A )。
A.1:1 B.1:N C.M:N D.N:1
7.下列不属于数据安全性控制方法的是( D )。
A.用户标识和鉴定 B.用户存取权限控制 C.数据加密
D.网络流量控制
8.若关系R为M列P行,关系S为N列Q行,则( B )的结果为M+N列P×Q行。
A.R-S
B.R×S
C.R÷S D.R S
9. 数据模型应满足( D )的要求。
A.真实模拟现实世界 B.容易为人们所理解 C.便于在计算机上实现 D.以上都是
10. 在可信计算机系统评测标准中,达到初步安全产品要求的是( )级。
A.C1 B.C2 C.B1 D.B2
11. 下面的选项不是关系数据库基本特征的是( A )。
A.
不同的列应有不同的数据类型 B. 不同的列应有不同的列名
C. 与行的次序无关 D. 与列的次序无关
12. 实现数据库安全性控制的常用方法和技术有( A )
A. 用户标识与鉴别、存取控制、视图机制、审计、数据加密
13. 数据的( B )是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据的( )是保护数据库防止恶意的破坏和非法的存取。
A. 安全性、完整性 B. 完整性、安全性
14. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的( C )。
C.安全性 D.一致性
15.
关系模型中,一个码是( C )。
C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组 D. 以上都不是
16. 当关系S自然联接时,能够把S原该舍弃的元组放到结果关系中的操作是( D )
A.左外联接 B.右外联接 C.外部并
D.外联接
17. 下列不属于需求分析阶段工作的是:( A )。
A.
建立E-R图
B. 分析用户活动 C. 建立数据字典 D. 建立数据流图
18. 数据库系统的数据独立性体现在( B ) 。
A. 不会因为数据的变化而影响到应用程序
B. 不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
19. 若关系R为M列P行,关系S为N列Q行,则R×S的结果为( B )列( )行。
A.M+N、P+Q B.M+N、P×Q C.M×N、P+Q D.M×N、P×Q
20. 在SQL语言的Select语句中实现选择运算的子句是( A )。
by
22.如果事务T对数据D已加S锁,则其他事务对数据D( A )
A. 可以加S锁,不能加X锁
B. 可以加S锁,也可以加X锁
二、填空题
1. 数据库的逻辑数据独立性是由 外模式/模式
2. 关系代数中专门的关系运算包括:选择、投影、连接和____除 _____。
3. 设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一致性,表S与SC之间应满足 参照 完整性约束。
4. 当数据库被破坏后,如果事先保存了数据库副本和 日志文件 ,就有可能恢复数据库。
5. 如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是 3NF (在1NF、2NF、3NF范围内)。
6. 设关系模式R(A,B,C,D),函数依赖集F={AB→C,D→B},则R的候选码为 AD 。
7. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗余度大、插入异常、_ 修改异常___和删除异常。
8. 并发控制的主要方法是 封锁 机制。
9. 若有关系模式R(A,B,C)和S(C,D,E),SQL语句
SELECT A, D FROM R, S WHERE R.C=S.C AND E = '80' ;
对应的关系代数表达式是 πA,D(σE='80'(RS)) 。
10. 分E-R图之间的冲突主要有属性冲突、命名冲突、结构冲突三种。
1. 数据模型通常分为层次模型、(
网状模型
)、(
关系模型
)、面向对象模型和对象关系模型等。
2.
关系模型中有三类完整性约束:(
实体完整性 )、( 参照完整性 )和用户定义的完整性。
3. 关系数据库中,二维表中的列称为关系的( 属性或字段 ),二维表中的行称为关系的( 元组或记录 )。
4.
DBMS的主要功能有:( 数据定义功能 )、数据组织存储和管理功能、( 数据操作功能 )、数据库的事务管理和运行功能、 数据库的建立和维护功能。
5. 关系代数运算中,专门的关系运算有( 选择 ),( 投影 )和连接。
6. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,学生关系的主码是( 学号 ),学生关系的外码是( 系编号 )。
7.关系的实体完整性规则定义了( 主键字段 )不能取空值。
8.关系的参照完整性规则定义了 和 之间的引用规则。
9.事务的ACID特性包括:(
原子性 )、一致性、( 独立性 )和持续性。
10.事务并发控制机制中,避免活锁产生的方法是采用( 先来先服务 )的策略;
11.第二范式是在第一范式的基础上消除了( 部分函数依赖 )。
13.( 事务 )是并发控制的基本单位。
14.在数据库的两层映像中,( 模式/内模式映像 )保证了物理独立性。
14.在数据库的两层映像中,( 外模式/模式映像 )保证了逻辑独立性。
15.事务并发控制机制中,预防死锁的方法是( 一次封锁法 )和( 顺序封锁法 );
16.第三范式是在第二范式的基础上消除了( 传递函数依赖 )。
17.数据库系统的三级模式结构是指数据库系统由( 外模式 )、( 模式 )和 ( 内模式 )三级构成。
18.建立冗余数据最常用的技术是数据转储和( 备份日志文件 )。
19.数据库设计分为如下几个阶段:( 需求分析 )、( 结构设计 )、( 行为设计 )、( 数据库实施 )、( 数据库运行和维护 )。
20.数据库结构设计包括( 概念结构设计 )、( 逻辑结构设计 )、( 物理结构设计 )。
21.基本的锁类型有两种:( 排他锁或X锁或写锁 )、( 共享锁或S锁或读锁 )
22.并发操作带来的数据不一致性情况大致可以分为四种:( 丢失数据修改 )、( 读“脏数据” )、( 不可重复读 )和产生幽灵数据。
1. 数据库系统的二级映象是指外模式/模式映像 和 模式/内模式映像。
2. 施加在数据库数据之上的 _语义约束_ 条件称为数据库完整性约束条件。
3. 将 1NF 的关系模式转变为 2NF 的关系模式,是消除了非主属性对主码的 _部分依赖_ 。
4. 关系模式R,S具有共同的属性X, 且X是R的主码,但不是S的主码, 则X称为 S的外码 。
5. 关系规范化理论是要消除一个不好的关系模式可能存在的 数据冗余 、插入异常 和 删除异常 等问题。
6.解决并发操作带来的数据不一致性问题普遍采用技术是 封锁 。
7.事务并发操作可能产生的三类不一致性问题是丢失修改 、不可重复读 和 读脏数据。
8.保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏,这是指数据的 安全性保护 。
9.数据库的完整性是指数据的 正确性 和 一致性 。
10.数据库设计过程中的六个阶段为需求分析 、概念结构设计 、逻辑结构设计 、 物理结构设计 、 数据库时是和试运行 、 数据库运行和维护 。
三、判断题
1. 一个关系的主码必定是候选码。(√ )
2.在一个关系中,外码不能取空值。( ×)
3. 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。(√ )
4.. 利用视图可加快查询速度。( ×)
5. 用SQL 语句定义的视图属于关系数据库的外模式。(√ )
6. 在关系数据库中索引的作用是加快数据的查找,因此在创建数据库时应尽可能多地建立
索引。(× )
7. SQL的标准库函数COUNT、SUM、AVG、MAX、MIN等,不允许出现在查询语句的 WHERE子句之中。(√ )
8. 若某个关系是2NF的,那么它一定是3NF的。(× )
9. ROLLBACK 语句的功能是取消事务所做的更新操作。(√ )
10. 两段锁协议用来保证并发事务不会产生死锁。(× )
1. 任何一个二元关系都是3NF( )
2.任何一个二元关系都是BCNF( )
3. 任何一个二元关系都是4NF( )
4.一个无损连接的分解一定是保持函数依赖的。( )
5.一个保持函数依赖的分解一定具有无损连接性。( )
6.如果一个关系模式∈BCNF,那它一定∈3NF。( )
7.关系摸式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号)→成绩},此关系模式∈BCNF。( )
8.若R.A→R.B,R.A →R.C,则R.A→R.(B,C)。( )
9.若R.(B,C)→R.A,则R.B→R.A,R.C→R.A。( )
10.规范化理论是数据库设计的理论指导和工具,规范化程度越高,模式就越好。( )
1.√ 2.√ 3.√ 4.× 5.× 6. √ 7.√ 8.√ 9.× 10×
1.任何一个二元关系都是BCNF( √ )
2. 任何一个二元关系都是4NF(√ )
3.如果在一组属性子集上,不存在第二个函数依赖,则该属性集为关系模式的码。( √ )
4.如果一个关系模式∈3NF,那它一定∈BCNF。( × )
5.如果一个关系模式∈BCNF,则在函数依赖范畴内,已实现了彻底的分离,消除了插入、删除和修改异常。(√ )
6.规范化理论是数据库设计的理论指导和工具,规范化程度越高,模式就越好。(× )
7.当且仅当函数依赖A→B在R上成立,关系R(A,B,C)等于投影R1(A,B)和R2(A,C)的连接。( √ )
8.若R.A→R.B,R.B →R.C,则R.A→R.C。( √ )
9.若R.B→R. A,R.C →R. A,则R.(B,C)→R.A。(√ )
10. 关系摸式选课(学号,课程号,成绩)中有“学号→→课程号”存在。( × )
8. 设有一个学生选课数据库,包括Student,SC,Course三个关系模式:
Student(Sno,Sname,Ssex,Sage,Sdept)
SC(Sno,Cno,Grade)
Course(Cno,Cname,Ccredit,Semester)
试用SQL完成如下查询:
查询SC表中的全部数据;
查询计算机系学生的姓名和年龄;
查询成绩在70-80分的学生的学号、课程号和成绩;
查询计算机系年龄在18-20岁的男学生的姓名和年龄;
查询C001课程号的最高分;
查询计算机系学生的最大年龄和最小年龄;
统计每个系的学生人数;
统计每门课程号的选课人数和考试最高分;
统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果;
查询总成绩超过200分的学生,要求列出其学号和总成绩;
查询选修C002课程的学生姓名和所在系;
查询成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果;
查询哪些课程号没有学生选修,要求列出课程号和课程名;
查询计算机系哪些学生没有选课,列出学生姓名;
查询选修C001课程号的学生姓名和所在系;
查询通信工程系成绩在80分以上的学生学号和姓名;
查询计算机系考试成绩最高的学生姓名。
查询年龄最大的男学生的姓名和年龄;
查询C001课程号的考试成绩高于该课程号平均成绩的学生学号和成绩;
创建内容为学生学号、姓名、所在系、课程号、课程名、课程学分的视图;
创建内容为学生的学号、姓名、选修课程名和考试成绩的视图;
创建内容为统计每个学生的选课门数的视图,要求列出学生学号和选课门数;
创建内容为每个学生的选课总学分的视图,要求列出学生学号和总学分(说明: 考试成绩超过60才能获得此课程的学分)
删除选课成绩小于50分的学生的选课记录;
将所有选修C001课程的学生的成绩加10分;
将计算机所有选修“数据库原理及应用”课程的学生成绩加10分。
答案:
Select * from sc;
Select sname,sage from student where sdept=’计算机系’;
Select sno,course,grade from sc where grade between 70 and 80;
Select sname,sage from student where sdept=’计算机系’ and ssex=’男’ and sage
between 18 and 20;
Select max(grade) 最高分 from sc where cno=’C001’;
Select max(sage) 最大年龄,min(sage) 最小年龄 from student where sdetp=’计算机系’;
Select sdept,count(*) 学生人数 from student group by sdept;
Select cno,count(*) 选课人数, max(grade) 最高分 from sc group by cno;
Select sno,count(*) 选课门数, sum(grade) 总成绩 from sc group by sno order by
count(*);
Select sno,sum(grade) 总成绩 from sc group by sno having sum(grade)>200;
Select sname,sdept from student,sc where = and cno=’C002’;
Select sname,cno,grade from student,sc where = and grade>80 order
by grade desc;
Select
Select
Select
Select sno,sname from student,sc where = and sdept=’通信工程系’
and grade>80;
Select
Select
Select sno,grade from sc where grade>(select avg(grade) from sc where cno=’c001’)
and cno=’c001’;
Create view view1 as select sno,sname,sdept,cno,cname,ccredit from
student,sc,course where = and =;
Create view view2 as select sno,sname,cname,grade from student,sc,course where
= and =;
六、程序设计题(共15分,第1小题5分,第2小题10分)
得 分
2.以下给出三个基本表。
Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;
Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;
SC(选课表)的字段按顺序为学号、课程号、成绩。
试用SQL语句表示下列操作。
(1)写出创建学生表Student的SQL命令,各字段的类型及长度应根据实际情况确定。其中学号属性不能为空,并且其值是唯一的,并在Sno列上建立一个聚簇索引。
(2)检索信息系(IS)和计算机科学系(CS)的学生的姓名和性别。
(3)检索各个课程号及相应的选课人数。
(4)检索每个学生及其选修的课程名和成绩。
(5)检索男生的平均年龄。
2.(1).写出创建学生表Student的SQL命令,各字段的类型及长度应根据实际情况确定。其中学号属性不能为空,并且其值是唯一的,并在Sno列上建立一个聚簇索引。
CREATE TABLE Student
(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20),
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
CREATE CLUSTED INDEX Stusname ON Student(Sname);
(2).检索信息系(IS)和计算机科学系(CS)的学生的姓名和性别。
SELECT Sname, Ssex
FROM Student
WHERE Sdept IN ('IS','CS')
(3).检索各个课程号及相应的选课人数。
SELECT Cno, COUNT(Sno)
FROM SC
GROUP BY Cno;
(4).检索每个学生及其选修的课程名和成绩。
SELECT , Sname, ,
FROM Student, SC, Course
WHERE = and =;
(5)检索男生的平均年龄。
select 性别,avg(年龄)
from student
where 性别=‘男’
group by 性别
或select avg(年龄)
from 基本情况
group by 性别 having 性别='男'
四、根据各小题要求,写出对应的 SQL语句。
以下给出三个基本表。
Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;
Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;
SC(选课表)的字段按顺序为学号、课程号、成绩。
各表的记录如下:
1.查询与“刘晨”在同一个系学习的学生的学号、学生姓名。
SELECT Sno, Sname
FROM Student
WHERE Sdept IN
SELECT Sdept
FROM Student
WHERE Sname='刘晨';
2.将一个新学生记录(03020;陈冬;男;18;IS)插入Student表中
INSERT
INTO Student
VALUES ('95020', '陈冬', '男', 18,'IS');
3.将计算机科学系(CS)全体学生的成绩置零
UPDATE SC
SET Grade=0
WHERE 'CS'=
(SELETE Sdept
FROM Student
WHERE =);
4.创建信息系(IS)选修了1号课程的学生的视图IS_S1,字段包括Sno、Sname、Grade。
CREATE VIEW IS_S1(Sno, Sname, Grade)
AS
SELECT , Sname, Grade
FROM Student, SC
WHERE Sdept='IS' AND
= AND
='1';
四、根据各小题要求,写出对应的 SQL语句。
以下给出三个基本表。
Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;
Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;
SC(选课表)的字段按顺序为学号、课程号、成绩。
各表的记录如下:
1.写出创建学生表Student的SQL命令,各字段的类型及长度应根据实际情况确定。其中
学号属性不能为空,并且其值是唯一的。并在Sno列上建立一个聚簇索引。
CREATE TABLE Student
(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20),
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
CREATE CLUSTED INDEX Stusname ON Student(Sname);
2.检索信息系(IS)和计算机科学系(CS)的学生的姓名和性别。
SELECT Sname, Ssex
FROM Student
WHERE Sdept IN ('IS','CS')
3.检索各个课程号及相应的选课人数,并给出结果。
SELECT Cno, COUNT(Sno)
FROM SC
GROUP BY Cno;
4.检索每个学生及其选修的课程名和成绩。
SELECT , Sname, ,
FROM Student, SC, Course
WHERE = and =;
本文发布于:2024-01-31 01:41:14,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170663647424418.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |